单片机秒表倒计时程序

时间:2025-04-21

倒计时

KEYOK BIT 00H
STARTRUN BIT 01H
SCOUNT EQU 21H
SETVAL EQU 22H
TCOUNT EQU 24H
TCOUNTER EQU 20
KEYVAL EQU 25H
DISPBUF EQU 58H
COUNTER EQU 57H
HIDDEN EQU 10H
TMRVAR EQU 16875
ORG 0000H
JMP START
ORG 0*8+3
RETI
ORG 1*8+3
JMP INT_T0
ORG 2*8+3
RETI
ORG 3*8+3
RETI
ORG 4*8+3
RETI
START:
MOV SP,#5FH
MOV SCOUNT,#0
MOV SETVAL,#59
MOV SCOUNT,SETVAL
MOV DISPBUF,#HIDDEN
MOV DISPBUF+1,#HIDDEN
MOV DISPBUF+2,#HIDDEN
MOV DISPBUF+3,#HIDDEN
CLR STARTRUN
CLR KEYOK
CALL INIT_T0
SETB EA
LOOP:
CALL KEY
JB KEYOK,KEYPROC
NEXT:
MOV A,SCOUNT
MOV B,#10
DIV AB
NEXT1:
MOV DISPBUF+4,A
MOV DISPBUF+5,B
JMP LOOP
KEYPROC:
MOV A,KEYVAL
JZ KEYRUN
DEC A
JZ KEYSTOP
DEC A
JZ KEYLEFT
JMP KEYRIGHT
KEYRUN:
SETB STARTRUN
JMP LOOP
KEYSTOP:
CLR STARTRUN
JMP LOOP
KEYLEFT:
CLR STARTRUN
INC DISPBUF+4
MOV A,DISPBUF+4
CJNE A,#6,LEFT0
MOV A,#0
LEFT0:
MOV B,#10
MUL AB
ADD A,DISPBUF+5
MOV SETVAL,A
MOV SCOUNT,SETVAL
JMP LOOP
KEYRIGHT:
CLR STARTRUN
INC DISPBUF+5
MOV A,DISPBUF+5
CJNE A,#10,REFT0
MOV DISPBUF+5,#0
REFT0:
MOV A,DISPBUF+4
MOV B,#10
MUL AB
ADD A,DISPBUF+5
MOV SETVAL,A
MOV SCOUNT,SETVAL
JMP LOOP
KEY:
MOV P3,#0FFH
CLR KEYOK
MOV A,P3
ORL A,#11000011B
CPL A
JZ KEY_RET
CALL DELAY
MOV A,P3
ORL A,#11000011B
CPL A
JZ KEY_RET
SETB KEYOK
JNB ACC.2,KEY_1
MOV KEYVAL,#0
JMP KEY_RET
KEY_1:
JNB ACC.3,KEY_2
MOV KEYVAL,#1
JMP KEY_RET
KEY_2:
JNB ACC.4,KEY_3
MOV KEYVAL,#2
JMP KEY_RET
KEY_3:
MOV KEYVAL,#3
KEY_RET:
MOV A,P3
ORL A,#11000011B
CPL A
JNZ KEY_RET
RET
DELAY:
PUSH PSW
SETB RS0
MOV R7,#10
D1:
MOV R6,#10
D2:
DJNZ R6,D2
DJNZ R7,D1
POP PSW
RET
INIT_T0:
MOV TMOD,#01H
MOV TH0,#0F4H
MOV TL0,#048H
SETB ET0
SETB TR0
RET
INT_T0:
PUSH ACC
PUSH PSW
MOV TH0,#0F4H
MOV TL0,#048H
INC TCOUNT
MOV A,TCOUNT
CJNE A,#TCOUNTER,INT_N2
MOV tCOUNT,#0
INT_N1:
JNB STARTRUN,INT_N2
DEC SCOUNT
MOV A,SCOUNT
JNZ INT_N2
MOV SCOUNT,SETVAL
INT_N2:
MOV R1,#DISPBUF
MOV COUNTER,#0
D_L1:
MOV DPTR,#BITTA
B
MOV A,COUNTER
MOVC A,@A+DPTR
ORL P2,#11111100B
ANL P2,A
MOV A,R1
MOV R0,A
MOV A,@R0
MOV DPTR,#DISPTAB
MOVC A,@A+DPTR
MOV P0,A
CALL

倒计时

DELAY
INC R1
INC COUNTER
MOV A,COUNTER
CJNE A,#6,D_L1
POP PSW
POP ACC
RETI
DISPTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
BitTab:DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH
END

…… 此处隐藏:186字,全部文档内容请下载后查看。喜欢就下载吧 ……
单片机秒表倒计时程序.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219