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.