CHƯƠNG TRÌNH ĐIỀU KHIỂN RTC DS12C887 HIỂN THỊ THỜI GIAN HH-MM-SS (GIÁ...
Bài 2: Chương trình điều khiển RTC DS12C887 hiển thị thời gian HH-MM-SS (giá trị ban đầu là 23-59-00) và
DD-MM-YY (giá trị ban đầu là 28-02-06) trên bộ hiển thị LED 7 đoạn (RTC giao tiếp với vi điều khiển
theo kiếu RAM ngoài).
;
R4 = SO BCD NEN (CHUC GIAY - GIAY / CHUC NAM - NAM).
;OUTPUT:
67H,66H = MA 7 DOAN (CHUC GIO - GIO / CHUC NGAY - NGAY).
;
65H = MA DAU CACH THOI GIAN.
;
64H,63H = MA 7 DOAN (CHUC PHUT - PHUT / CHUC THANG - THANG).
;
62H = MA DAU CACH THOI GIAN.
;
61H,60H = MA 7 DOAN (CHUC GIAY - GIAY / CHUC NAM - NAM).
;***************************************************
BCD8TO7SEG_CLOCK:
PUSH
DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH
DPL
PUSH
ACC
MOV
DPTR,#CODE7SEG
;DIA CHI VUNG MA 7 DOAN
MOV
R7,#0AAH
;VI TRI MA CUA HAI DAU CACH THOI GIAN TRONG BANG MA
MOV
A,R4
;LAY SO BCD CAN GIAI MA
ANL
A,#0FH
;XOA 4 BIT CAO
MOVC
A,@A+DPTR
;LAY MA 7 DOAN TUONG UNG
MOV
60H,A
;CAT BCD HANG GIAY / NAM VAO O NHO
ANL
A,#0F0H
;XOA 4 BIT THAP
SWAP
A
;HOAN CHUYEN CAO - THAP
MOV
61H,A
;CAT BCD HANG CHUC GIAY / CHUC NAM VAO O NHO
MOV
A,R5
;LAY SO BCD CAN GIAI MA
MOV
63H,A
;CAT BCD HANG PHUT / THANG VAO O NHO
MOV
64H,A
;CAT BCD HANG CHUC PHUT / CHUC THANG VAO O NHO
MOV
A,R6
;LAY SO BCD CAN GIAI MA
MOV
66H,A
;CAT BCD HANG GIO / NGAY VAO O NHO
MOV
67H,A
;CAT BCD HANG CHUC GIO / CHUC NGAY VAO O NHO
MOV
A,R7
;LAY SO BCD CAN GIAI MA
MOV
62H,A
;CAT DAU CACH HANG PHUT VA GIAY VAO O NHO
MOV
65H,A
;CAT DAU CACH HANG GIO VA PHUT VAO O NHO
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
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
;****************************************************
DELAY_SCAN_HMS:
;CTC TAO THOI GIAN TRE >> 10S CO GOI CTC DOC - GIAI MA - QUET HIEN THI
PUSH
00H
MOV
R0,#200
MOV
TMOD,#01H
LOOP_HMS:
MOV
TH0,#HIGH(-50000)
MOV
TL0,#LOW(-50000)
SETB
TR0
SCAN_HMS:
;LIEN TUC GOI CTC DOC - GIAI MA - QUET HIEN THI TRONG LUC TIMER DANG CHAY