急需要用单片机程序编写一个秒表的程序

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:43:36
能够在LED显示数字 ,电子秒表哦,希望用上PUSH、中断指令、DPH(不用也没关系,是8051的芯片哦,只要行就好了)要求四个显示前2个显示为分。后2者为秒(四个数字显示,前面2个显示是分的显示,后2个是秒的显示,分和秒之间要有小数点)谢了

LEDBUF EQU 30H ;显示码缓存区
HOUR EQU 40H
MINUTE EQU 41H
SECOND EQU 42H
C100us EQU 43H
TICK EQU 10000 ;置中断次数
T100us EQU 256-100 ;置定时器初始值
LJMP START ;跳转至主程序
ORG 000BH ;定时器0中断入口
T0INT: PUSH PSW ;状态保护
PUSH ACC
MOV A,C100us+1
JNZ GOON ;计数值是否为0
DEC C100us
GOON: DEC C100us+1
MOV A,C100us
ORL A,C100us+1
JNZ EXIT
MOV C100us,#HIGH(TICK) ;重置计数值
MOV C100us+1,#LOW(TICK)
INC SECOND ;秒值加一
MOV A,SECOND
CJNE A,#60,EXIT ;判断秒值是否为60
MOV SECOND,#0 ;秒值为60,则清0
INC MINUTE ;分值加一
MOV A,MINUTE
CJNE A,#60,EXIT ;判断分值是否为60
MOV MINUTE,#0 ;分值为60,则清0
INC HOUR ;小时值加一
MOV A,HOUR
CJNE A,#24,EXIT ;判断小时值是否为24
MOV HOUR,#0 ;小时值为24,则清0
EXIT: POP ACC
POP PSW
RETI
DELAY: ;延时子程序
MOV R7,#0FFH
DELAYLOOP:
DJN