|
;99-0倒計(jì)時(shí)程序
;單片機(jī)型號(hào):STC8a4k32s2,如果使用其它型號(hào)單片機(jī),延時(shí)要調(diào)節(jié)一下
;功能:上電之后自動(dòng)顯示99-0的倒計(jì)時(shí)程序
;COM1,COM2和OUT可以在EQU中修改
;因?yàn)槲沂诸^上沒(méi)有共陽(yáng)的數(shù)碼管,所以,這是一個(gè)共陰的程序,
;仿真的時(shí)候自己做一些修改就可以了,這是一個(gè)已經(jīng)在開(kāi)發(fā)板上驗(yàn)證過(guò)的程序,代碼復(fù)制就可以運(yùn)行的
;===================================================
COM1 EQU P2.0
COM2 EQU P2.1
OUT EQU P0
P2M0 EQU 096H ;
P2M1 EQU 095H ;控制P2端口輸出模式的寄存器
;===================================================
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV R7,#100
CLR COM1
CLR COM2
MOV P2M1,#0H ;
MOV P2M0,#0FFH ;
LOOP_0: MOV R2,#99
LOOP_1: CALL DISPLAY
DEC R2
MOV A,R2
CJNE A,#0,LOOP_1
JMP $
;======================================
DISPLAY: MOV DPTR,#TABLE
MOV A,R2
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV OUT,A
SETB COM1
LCALL DELAY
CLR COM1
MOV OUT,#00H
MOV A,B
MOVC A,@A+DPTR
MOV OUT,A
SETB COM2
CALL DELAY
CLR COM2
MOV OUT,#00H
DJNZ R7,DISPLAY
RET
;===================================================
;這個(gè)是10mS的延時(shí)程序,在STC下載器中可以用軟件自動(dòng)計(jì)算
;如果是仿真,可以相應(yīng)的減少延時(shí)的時(shí)長(zhǎng)
DELAY: MOV R5,#156
MOV R6,#106
DELAY_1: DJNZ R5,DELAY_1
DJNZ R6,DELAY_1
RET
;===================================================
;TABLE: DB 00000011B,10011111B,00100101B,00001101B,10011001B,01001001B,01000001B,00011111B,00000001B,00001001B ;表:共陽(yáng)數(shù)碼管 0-9
TABLE: DB 11111100B,01100000B,11011010B,11110010B,01100110B,10110110B,10111110B,11100000B,11111110B,11110110B ;表:共陰數(shù)碼管 0-9
END
|
|