CHƯƠNG TRÌNH ĐIỀU KHIỂN RTC DS12C887 HIỂN THỊ THỜI GIAN HH-MM-SS TRÊN...
Bài 3: Chương trình điều khiển RTC DS12C887 hiển thị thời gian HH-MM-SS trên bộ hiển thị LED 7 đoạn, có
thể điều chỉnh thời gian bằng các nút nhấn MODE, INC và DEC (RTC giao tiếp với vi điều khiển theo
kiếu RAM ngoài).
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;SO 0 -> 9
DB
0BFH
;DAU CACH THOI GIAN
DB
0FFH
;MA LAM TAT CAC LED
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;NAME:
DISP7SEGMUL8.
;INPUT:
67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
;
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P1 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P2 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
DISP7SEGMUL8:
PUSH
ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH
00H
MOV
A,#7FH
;MA QUET
MOV
R0,#67H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P1,@R0
;XUAT MA HIEN THI
MOV
P2,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P2,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CTC TAO THOI GIAN TRE 2.5MS
PUSH
01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
DELAYCHONGDOI:
;CTC TAO THOI GIAN TRE 1MS DUNG DE CHONG DOI
MOV
R1,#10
DEL1:
MOV
R0,#50
DEL2:
ACALL BCD8TO7SEG_CLOCK
;GIAI MA BCD SANG MA 7 DOAN (DUNG CHO DONG HO)
ACALL DISP7SEGMUL8
;QUET HIEN THI
DJNZ
R0,DEL2
DJNZ
R1,DEL1
END
1.4
Lưu chương trình và biên dịch chương trình.
1.5
Kiểm tra lỗi và hiệu chỉnh lỗi nếu có.
1.6
Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip
hoạt động.