任务要求 用数码管显示60秒的秒表设计(单片机AT89C51)

1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。2.用定时计数器定时,用按键控制启停。3.若启动后计时没到60秒,按键停止后,则重新计时。4.要求用... 1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。 2.用定时计数器定时,用按键控制启停。3.若启动后计时没到60秒,按键停止后,则重新计时。
4.要求用汇编语言
QQ:653910387,只要程序。
展开
 我来答
做而论道
高能答主

2012-05-24 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。
--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
tony_0620
2012-05-23 · TA获得超过327个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:207万
展开全部
我可以啊,没问题啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式