急~!!用数码管显示60秒的秒表设计(单片机AT89C51)

1.要求从0-60秒计时,到60秒后LED发光,当从新计时时LED熄灭。到60秒后数码管显示60不动,不继续循环,除非按键复位了。2.用定时计数器定时,用按键控制启停。3... 1.要求从0-60秒计时,到60秒后LED发光,当从新计时时LED熄灭。 到60秒后数码管显示60不动,不继续循环,除非按键复位了。
2.用定时计数器定时,用按键控制启停。
3.若启动后计时没到60秒,按键停止后,则重新计时。
4.刚开机时是停止的,按键启动开始计时。
附上图,希望能按图用汇编语言写,谢谢
展开
 我来答
做而论道
高能答主

2012-05-31 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
;程序如下:

;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 ;最大为59
MOV R4, #0
CLR LED
T0_E1:
CALL DISP
CJNE R4, #5, T0_END ;LED亮5s
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 P1, 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
更多追问追答
追问
这个程序有如下缺陷:1。计时到60秒的时候停止计时,显示60,而不是继续循环下去的。
2.计时到60秒时LED亮,一直保持亮,重新开始计时时才熄灭,而不是两5秒。
追答
呵呵,自己试试改改吧,不难的。
20127820
2012-05-30 · TA获得超过243个赞
知道小有建树答主
回答量:1274
采纳率:83%
帮助的人:577万
展开全部
1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭。--60,保持--是不是保持显示,等待再次按键,再重新计时?--否则,按键的作用,就C
追问
就是保持显示60,再次再重新计时,重新计时时,LED熄灭,求程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式