IV. TÌM HIỂU VỀ LE D7 ĐOẠN:
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình bên dưới và có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc
CHƯƠNG III THIẾT KẾ MẠCH ĐỒNG HỒ: 1 Mạch:
1. Mạch: XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 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 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WRP3.5/T1 1615 U1 80C51 1 2 U2:A 74HC04 3 4 U2:B 74HC04 5 6 U2:C 74HC04 13 12 U2:D 74HC04 11 10 U2:E 74HC04 9 8 U2:F 74HC04 1 2 U3:A 74HC04 3 4 U3:B 74HC04 2 3 4 5 6 7 8 9 1 RP1 RESPACK-8 +5v SW1 SW-SPST-MOM SW2 SW-SPST-MOM Hình 2.10 mạch đồng hồ.
2. Bộ hiển thị (led 7 đoạn):
SVTH:Võ Văn Nhiệm Trang 35
Hình 2.11 hiển thị dồng hồ.
3. Lưu đồ:
SVTH:Võ Văn Nhiệm Trang 36
4. Chương trình:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx
; chuong trinh hien thi gio-phut-giay dung timer0 dem chinh xac thoi gian 1s
SVTH:Võ Văn Nhiệm Trang 37
Khởi tạo vùng nhớ lưu trữ mã 7
đoạn từ 0
Khởi tạo vùng nhớ lưu biến đếm hàng chục, đơn vị của, giờ, phút, giây = 00
Giã mã hàng chục đơn vị của giờ, phút, giây
(từ mã nhị phân sang 7 đoạn)
Tăng biến đếm hàng chục,đơn vị giây - so sánh với 60 Tăng biến đếm hàng chục,đơn vị phút - so sánh với 60 Begin Tăng biến đếm hàng chục,đơn vị giờ - so sánh với 24 Delay và hiển thị đúng 1s end
; p0 xuat du lieu 7 doan ; p2quet led ; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx ORG 0 LJMP MAIN ORG 0003H LJMP NGAT0 org 0013h ljmp ngat1 Org 100
Main: SETB IT0
setb IT1 MOV IE,#10000101B Mov dptr, #ma7doan Mov tmod, #01h clr tf0 ;giay equ 20h ;chucgiay equ 21h ;phut equ 22h ;chucphut equ 23h
Mov 20h,#00h ; bien luu donvi giay Mov 21h,#00h ; bien luu chuc giay Mov 22h,#00h ; bien luu don vi phut Mov 23h, #00h ; bien luu chuc phut Mov 24h,#00h ; bien luu don vi gio Mov 25h, #00h ; bien luu chuc gio Mov 32h, #00h
gio: Mov 31h, #00h ; bien dem phut phut: mov 30h, #00h ; bien dem giay giay: lcall giai_ma
lcall delay_hienthi
Inc 30h ; dem tang giay va so sanh Mov a,30h
Cjne a,#60,giay
inc 31h ; dem tang phut va so sanh mov a,31h
cjne a,#60,phut
inc 32h ; dem tang gio va so sanh mov a,32h
SVTH:Võ Văn Nhiệm Trang 38
cjne a,#24,gio sjmp main
ngat0: mov ie,#80h
inc 31h
mov a,31h
cjne a,#60,kip1
mov a,#00
kip1: mov 31h,a mov ie,#085H reti
ngat1: mov ie,#80h
inc 32h
mov a,32h
cjne a,#24,kip
mov a,#00
kip: mov 31h,a
mov ie,#085H reti giai_ma: Mov a, 30h Mov b, #10 Div ab Movc a, @a+dptr
Mov 21h, a ; luu so hang chuc giay
Mov a, b
Movc a, @a+dptr
Mov 20h, a ; luu so hang don vi giay Mov a, 31h
Mov b, #10 Div ab
Movc a, @a+dptr
Mov 23h, a ; luu so hang chuc phut
Mov a, b
Movc a, @a+dptr
Mov 22h, a ; luu so hang don vi phut Mov a, 32h
Mov b, #10 Div ab
Movc a, @a+dptr
Mov 24h, a ; luu so hang chuc gio
SVTH:Võ Văn Nhiệm Trang 39
Mov a, b
Movc a, @a+dptr
Mov 25h, a ; luu so hang don vi gio Ret
delay_hienthi: mov r6,#20
lap20: mov th0,#high(-50000) ; chuong trinh delay 1ms mov tl0,#low(-50000)
setb tr0 clr tf0 lap1: lcall hienthi
jnb tf0,lap1 djnz r6,lap20 ret
hienthi:
mov p0,20h ; doan chuong trinh hien thi dv giay mov p2,#01111111b
lcall delay mov p2,#0ffh
mov p0,21h ;doan chuong trinh hien thi chuc giay mov p2,#10111111b
lcall delay mov p2,#0ffh
mov p0,22h ; doan chuong trinh hien thi dv phut mov p2,#11101111b
lcall delay mov p1,#0ffh
mov p0,23h ; doan chuong trinh hien thi chuc phut mov p2,#11110111b
lcall delay mov p2,#0ffh
mov p0,24h ; doan chuong trinh hien thi dv gio mov p2,#11111110b
lcall delay mov p2,#0ffh
mov p0,25h ;doan chuong trinh hien thi chuc gio mov p2,#11111101b lcall delay mov p2,#0ffh ret ma7doan: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H delay: Mov r0, #0fh Djnz r0,$
SVTH:Võ Văn Nhiệm Trang 40
Ret end