任务要求 用数码管显示60秒的秒表设计(单片机AT89C51)
1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。2.用定时计数器定时,用按键控制启停。3.若启动后计时没到60秒,按键停止后,则重新计时。4.要求用...
1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。 2.用定时计数器定时,用按键控制启停。3.若启动后计时没到60秒,按键停止后,则重新计时。
4.要求用汇编语言
QQ:653910387,只要程序。 展开
4.要求用汇编语言
QQ:653910387,只要程序。 展开
展开全部
1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。
--60,保持不变?
--何时重新计时?
2.用定时计数器定时,用按键控制启停。
--刚开机时,是启动,还是停止?
3.若启动后计时没到60秒,按键停止后,则重新计时。
--按键停止后,立即就重新计时?
--是不是保持显示,等待再次按键,再重新计时?
--否则,按键的作用,就不是停止了,而是重新计时了。
4.要求用汇编语言
--这个可以办到。
--60,保持不变?
--何时重新计时?
2.用定时计数器定时,用按键控制启停。
--刚开机时,是启动,还是停止?
3.若启动后计时没到60秒,按键停止后,则重新计时。
--按键停止后,立即就重新计时?
--是不是保持显示,等待再次按键,再重新计时?
--否则,按键的作用,就不是停止了,而是重新计时了。
4.要求用汇编语言
--这个可以办到。
更多追问追答
追问
1. 1-60秒计时,60秒后归零,从0开始一直到60,没有其他操作的话如此循环。
2.刚开机时是停止的,按键启动开始计时。
3.按键停止后则停止,在次按键则开始,
谢谢大神帮忙。我现在只需要汇编的程序。
追答
已经调试成功。
;fosc = 11.0592MHz
SP1 BIT P3.2
LED BIT P3.4
;-------------------------------
ORG 0000H
SJMP START
ORG 000BH
MOV TH0, #4CH
JNB F0, T0_END
DJNZ R5, T0_END
MOV R5, #20
INC R4
CJNE R4, #60, T0_E1 ;最大显示为59s
MOV R4, #0
CLR LED
T0_E1:
CALL DISP
CJNE R4, #5, T0_END ;LED亮5秒.
SETB LED
T0_END:
RETI
;-------------------------------
DISP:
PUSH ACC
PUSH B
MOV A, R4
MOV B, #10
DIV AB
MOV DPTR, #TABLE
MOVC A, @A + DPTR
MOV P0, A
MOV A, B
MOVC A, @A + DPTR
MOV P2, A
POP B
POP ACC
RET
TABLE:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
;-------------------------------
START:
MOV TMOD, #01H
MOV TH0, #4CH
SETB TR0
SETB ET0
SETB EA
M_LOOP:
MOV R4, #0
MOV R5, #20
CALL DISP
WT: JB SP1, $
CALL DELAY
JB SP1, WT
JNB SP1, $
CPL F0
JNB F0, WT
SJMP M_LOOP
DELAY:
MOV R6, #40
DJNZ R7, $
DJNZ R6, $ - 2
RET
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询