1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế đồng hồ hiển thị giờ, phút, giây trên led ma trận sử dụng AT89C51

35 1K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 506 KB

Nội dung

Trên tích cực quá trình chuyển đổi của đồng hồ, các kết quả đầu ra Q được thiết lập để trạng thái logic đã được thiết lập tại các đầu vào D.Schmitt-kích hoạt bộ đệm đầu vào tại cho phép

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

KHOA ĐIỆN – ĐIỆN TỬ

Trang 2

MỤC LỤC

1 Thiết kế 2

1.1 Mạch làm nhiệm vụ gì? 2

1.2 Các linh kiện dùng trong mạch 2

1.3 Sơ đồ mạch nguyên lý 6

1.4 Sơ đồ mạch in 7

2 Lập trình cho mạch điều khiển 8

2.1 Sơ bộ yêu cầu, nhiệm vụ 8

2.2 Sơ đồ khối toàn chương trình 8

2.3 Code 8

3 Kết quả đạt được 34

3.1 Mô phỏng trên protus 34

3.2 Mạch thật 34

Trang 3

Các DS1307 nối tiếp đồng hồ thời gian thực (RTC) là năng lượng thấp, đầy đủ

số thập phân mã nhị phân (BCD) đồng hồ / lịch cộng với 56 byte của NV

SRAM Địa chỉ và dữ liệu chuyển nối tiếp thông qua một tôi 2C, bus hai chiều Đồng hồ lịch cung cấp giây, phút, giờ, ngày, ngày, tháng, năm và thông tin Sự kết thúc của ngày tháng được tự động điều chỉnh theo tháng có ít hơn 31 ngày, bao gồm cả điều chỉnh cho bước nhảy vọt năm Đồng hồ hoạt động hoặc là 24 giờ hoặc 12 giờ định dạng giờ với chỉ số AM / PM Các DS1307 được xây dựng trong mạch điện có ý nghĩa phát hiện mất điện và tự động chuyển sang cung cấp sao lưu Hoạt động chấm công tiếp tục trong khi phần hoạt động từ việc cung cấp sao lưu Real-Time Clock (RTC) Đếm Giây,Phút, giờ, ngày của tháng,

tháng, ngày của tuần và năm

Giao diện nối tiếp

Lập trình Quảng trường-Wave Đầu ra tín hiệu

Tự động Power-Fail Phát hiện và Chuyển Mạch

Tiêu thụ ít hơn 500nA trong Battery-Backup

Chế độ với dao động chạy

- Mô tả LS373

Những tính năng ghi 8-bit đầu ra 3 trạng thái thiết kế đặc biệt cho các driver có dung hoặc trở kháng tương đối thấp Các trở kháng cao và tăng-logic cấp cao ổ đĩa cung cấp các đăng ký với khả năng được kết nối trực tiếp và driver các

đường bus trong một hệ thống bus tổ chức mà không cần giao diện hoặc pullup thành phần Các thiết bị này đặc biệt hấp dẫn cho thực hiện đăng ký đệm, cổng I/O, bus hai chiều, và đăng ký làm việc 8 chốt của LS373 và S373 là minh bạch D-loại chốt, có nghĩa là trong khi (C hoặc CLK) đầu vào cho phép là cao, các kết quả đầu ra Q theo các dữ liệu đầu vào (D) Khi C hoặc CLK được thực hiện thấp, đầu ra là bám vào mức độ dữ liệu đã được thiết lập

Trang 4

Tám flip-flops của LS374 và S374 được kích hoạt D-type flip-flops Trên tích cực quá trình chuyển đổi của đồng hồ, các kết quả đầu ra Q được thiết lập để trạng thái logic đã được thiết lập tại các đầu vào D.Schmitt-kích hoạt bộ đệm đầu vào tại cho phép / đồng hồ dòng của S373 và S374 thiết bị đơn giản hóa thiết kế hệ thống như ac và dc tiếng ồn từ chối được cải thiện bằng cách thường

400 mV do trễ đầu vào Một đệm đầu ra kiểm soát (OC) đầu vào có thể được sử dụng để đặt đầu ra 2 trong 8 trạng thái logic bình thường (logic cao hoặc thấp ) hoặc trạng thái trở kháng cao Trong trạng thái trở kháng cao, các kết quả đầu ra tải cũng không đáng kể OC không ảnh hưởng đến hoạt động nội bộ của các chốt hoặc dép xỏ ngón Đó là, các dữ liệu cũ có thể được giữ lại hoặc dữ liệu mới có thể được nhập vào, ngay cả khi các kết quả đầu ra đang tắt

-Mô tả AT89C51

Các AT89C51 là một năng lượng thấp, hiệu suất cao CMOS 8-bit vi tính với 4Kbyte của Flash lập trình và xóa được Read Only Memory (PEROM) Các thiết bị được sản xuất sử dụng công nghệ bộ nhớ không bay hơi mật độ cao của Atmel và tương thích với các tiêu chuẩn công nghiệp MCS-51 ™ hướng dẫn thiết lập và sơ đồ chân.Trên các chip Flash cho phép bộ nhớ chương trình được lập trình trong hệ thống hoặc một khái ventional lập trình bộ nhớ không bay hơi Bằng cách kết hợp một CPU 8-bit đa năng với Flash trên một chip nguyên khối, Atmel AT89C51 là một máy vi tính mạnh mẽ cung cấp một giải pháp hiệu quả rất linh hoạt và chi phí để kiểm soát nhiều nhúng application

CẤU TẠO CỦA AT89C51

sử dụng như trở kháng đầu vào cao

Port 0 cũng có thể được cấu hình để được ghép thấp

Trang 5

Port 0 cũng nhận được byte mã trong chương trình Flash-ming, và kết quả đầu

ra các byte mã trong chương trình kiểm điểm hóa Pullups bên ngoài được yêu cầu trong chương trình kiểm điểm hóa

Cổng 1:

Cổng 1 là một 8-bit hai chiều cổng I / O với pullups nội bộ

Cổng 1 bộ đệm đầu ra có thể chìm / nguồn bốn đầu vào TTL

Khi 1s được ghi vào Port 1 chân họ được kéo cao bằng các pullups nội bộ và có thể được sử dụng như là đầu vào

Cổng 1 chân được bên ngoài bị kéo nguồn sẽ thấp hiện tại (tôi IL) Vì pullups nội

bộ

Cổng 1 cũng nhận được byte địa chỉ thấp trật tự trong lập trình flash và xác minh

Cổng 2:

Cổng 2 là một 8-bit hai chiều cổng I / O với pullups nội bộ

Cổng 2 bộ đệm đầu ra có thể chìm / nguồn bốn đầu vào TTL

Khi 1s được viết để Port 2 chân họ được kéo cao bằng các pullups nội bộ và có thể được sử dụng như là đầu vào Cổng 2 chân được bên ngoài bị kéo nguồn sẽ thấp hiện tại vì pullups nội bộ

Port 2 phát ra byte địa chỉ bậc cao trong quá trình nạp từ bộ nhớ chương trình bên ngoài và trong quá trình truy cập đến bộ nhớ dữ liệu bên ngoài mà sử dụng địa chỉ 16-bit (MOVX @ DPTR) Trong ứng dụng này nó sử dụng pullups nội

bộ mạnh mẽ

Cổng 3:

Cổng 3 là một 8-bit hai chiều cổng I / O với pullups nội bộ Cổng 3 bộ đệm đầu

ra có thể chìm / nguồn bốn đầu vào TTL

Khi 1s được viết để Port 3 chân họ được kéo cao bằng các pullups nội bộ và có thể được sử dụng như là đầu vào

Cổng 3 chân được bên ngoài bị kéo nguồn sẽ thấp hiện tại (tô I L) do pullups Port 3 cũng phục vụ các chức năng của các tính năng đặc biệt khác nhau của AT89C51 như được liệt kê dưới đây:

Port 3 cũng nhận được một số tín hiệu điều khiển cho Flash chuyên nghiệp

gramming và xác minh

RST

Trang 6

Thiết lập lại đầu vào Một cao trên pin này cho hai chu kỳ máy trong khi dao

động đang chạy reset thiết bị

ALE / PROG

Địa chỉ chốt cho phép đầu ra xung cho chốt byte thấp của địa chỉ trong thời gian truy cập vào bộ nhớ bên ngoài Này pin cũng là đầu vào xung chương trình

(PROG) trong flash lập trình

Trong ALE hoạt động bình thường được phát ra với một tốc độ không đổi là 1/6 tần số dao động, và có thể được sử dụng cho bên ngoài timing hoặc các mục

đích ép xung Lưu ý, tuy nhiên, một ALE xung được bỏ qua trong mỗi truy cập

vào dữ liệu bên ngoài Mem

Trang 7

1.3 Sơ đồ mạch nguyên lý

giam tang menu mode

SCL SDA

SDA SCL mode tang giam

h1 h3 h5 h7

l1

d1 d3 d5 d7

l1 l3 l5

d1 d3 d5 d7

h9 h10 h12 h14 h16

l2

d1 d3 d5 d7

h17 h19 h21 h23

l3

d1 d3 d5 d7

h25 h27 h29 h31

l4

d1 d3 d5 d7

h33 h35 h37 h39

l5

d1 d3 d5 d7

h41 h43 h45 h47

l6

XTAL2 18 XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25 P2.5/A13 26P2.6/A14 27

X2 2

SCL 6 SDA 5

SOUT 7

14 Q5 15 D6

17 Q6 16 D7

18 Q7 19 OE 1 LE 11

14 Q5 15 D6

17 Q6 16 D7

18 Q7 19 OE 1 LE 11

14 Q5 15 D6

17 Q6 16 D7

18 Q7 19 OE 1 LE 11

14 Q5 15 D6

17 Q6 16 D7

18 Q7 19 OE 1 LE 11

14 Q5 15 D6

17 Q6 16 D7

18 Q7 19 OE 1 LE 11

14 Q5 15 D6

17 Q6 16 D7

18 Q7 19 OE 1 LE 11

U6

74S373

Trang 8

1.4 Sơ đồ mạch in

Trang 9

2 Lập trình cho mạch điều khiển

2.1 Sơ bộ yêu cầu, nhiệm vụ

Lập trình cho mạch điều khiển sau đó nạp chương trình cho chip AT89C51

2.2 Sơ đồ khối toàn chương trình

2.3 Code

#include<reg52.h>

// KHAI BAO NGUYEN MAU CHO CAC HAM

unsigned char bcd_dec(unsigned char bcd); // Ham chuyen doi so bcd-thap phan unsigned char dec_bcd(unsigned char dec); // chuyen doi thap phan-bcd

Trang 10

bit

tang0=1,tang1=1,giam0=1,giam1=1,menu=0,Menu0=1,Menu1=1,chedo0=0,chedo1=1; // Khai bao cac bit cho nut nhan

char giay,phut,gio,h1,h2,m1,m2,s1,s2,ngay,thang,ng1,ng2,th1,th2,n1,n2; // Các gia tri thoi gian

int nam; // Nam

unsigned char cot[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

unsigned char code hang[]={

sbit chedo=P1^2; // chon che do hien ngay/gio

sbit Menu=P1^3; // Khai bao chan nut nhan "menu"

sbit tang=P1^4; // Khai bao chan nut nhan "tang"

Trang 11

sbit giam=P1^5; // Khai bao chan nut nhan "giam"

unsigned char bcd_dec(unsigned char bcd)

Trang 12

//////// CAC CHUONG TRINH GIANH CHO DS1307

void start() // Ham bat dau giao tiep I2C

Trang 14

delay(1);

return temp;

}

////////// Doc du lieu tu 1 dia chi

unsigned char Read(unsigned char address)

Trang 19

void Hienngay() // Che do hien thi ngay

Trang 21

void Display_day() // Hien ngay

Trang 29

if(tang0==0 && tang1==1)

Trang 31

}

}

}

Ghi(0x00,dec_bcd(giay&0x7f)); //ghi cac

Ghi(0x01,dec_bcd(phut&0x7f)); //gia tri

// Gia tri khoi tao nay la tuy y

Ghi(0x00,dec_bcd(15)); // Khoi tao giay

Ghi(0x01,dec_bcd(9)); // Khoi tao phut

Ghi(0x02,dec_bcd(1)); // Khoi tao gio

Ghi(0x04,dec_bcd(25)); //

Trang 35

3 Kết quả đạt được

3.1 Mô phỏng trên protus

Chạy được theo đúng yêu cầu

3.2 Mạch thật

Do chi phí quá cao cũng như thiếu nhiều thiết bị phục vụ cho việc làm mạch thật nên mạch chỉ mô phỏng

Ngày đăng: 14/07/2016, 09:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w