急~!!用数码管显示60秒的秒表设计(单片机AT89C51)
1.要求从0-60秒计时,到60秒后LED发光,当从新计时时LED熄灭。到60秒后数码管显示60不动,不继续循环,除非按键复位了。2.用定时计数器定时,用按键控制启停。3...
1.要求从0-60秒计时,到60秒后LED发光,当从新计时时LED熄灭。 到60秒后数码管显示60不动,不继续循环,除非按键复位了。
2.用定时计数器定时,用按键控制启停。
3.若启动后计时没到60秒,按键停止后,则重新计时。
4.刚开机时是停止的,按键启动开始计时。
附上图,希望能按图用汇编语言写,谢谢 展开
2.用定时计数器定时,用按键控制启停。
3.若启动后计时没到60秒,按键停止后,则重新计时。
4.刚开机时是停止的,按键启动开始计时。
附上图,希望能按图用汇编语言写,谢谢 展开
展开全部
;程序如下:
;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
;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秒。
追答
呵呵,自己试试改改吧,不难的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询