找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4076|回复: 1
打印 上一主题 下一主题
收起左侧

求助:定时器电子时钟1602显示,只能显示到5就死机,求原因

[复制链接]
跳转到指定楼层
楼主
ID:42637 发表于 2012-7-22 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RS BIT P3.5
RW BIT P2.7
EN BIT P3.4
LCD EQU P0
TEMP EQU 40H
TEMP1 EQU 41H
TEMP2 EQU 42H
SEC EQU 43H
MIN EQU 44H
HOUR EQU 45H
SECGE EQU 46H
SECSHI EQU 47H
MINGE EQU 48H
MINSHI EQU 49H
HOURGE EQU 4AH
HOURSHI EQU 4BH
FLAG BIT 20H.0
BUSYFLAG BIT P0.7
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIMER0
ORG 0030H
MAIN:
MOV R5,#200
DJNZ R5,$
MOV SP,#50H
MOV TEMP,#00
CLR FLAG
SETB P2.6
MOV P0,#00H
CLR P2.6
SETB P2.7
MOV P0,#0FFH
CLR P2.7
CLR P2.4
MOV DPTR,#TAB
MOV TMOD,#00000001B
MOV TH0,#3CH
MOV TL0,#0B0H
SETB ET0
SETB TR0
SETB EA
ACALL LCD_INIT
LOOP6:
JNB FLAG,LOOP5
CLR FLAG
INC SEC 
MOV A,SEC
CJNE A,#60,LOOP2
MOV A,#00
MOV SEC,A
INC MIN
MOV A,MIN
CJNE A,#60,LOOP3
MOV A,#00
MOV MIN,A
INC HOUR
MOV A,HOUR
CJNE A,#24,LOOP4
MOV A,#00
MOV HOUR,A
LOOP4:
MOV B,#10
DIV AB
MOV HOURGE,B
MOV HOURSHI,ACC
LOOP3:
MOV B,#10
DIV AB
MOV MINGE,B
MOV MINSHI,ACC
LOOP2:
MOV B,#10
DIV AB
MOV SECGE,B
MOV SECSHI,ACC
LOOP5:
ACALL TEST_BUSY
MOV TEMP1,#80H
ACALL WR_COM
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,HOURSHI
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,HOURGE
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,#10
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,MINSHI
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,MINGE
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,#10
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,SECSHI
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL TEST_BUSY
MOV A,SECGE
MOVC A,@A+DPTR
MOV TEMP2,A
ACALL WR_DAT
MOV R7,#5
ACALL DELAY_1MS
ACALL LOOP6 /////////////////////////////////////////////// 
LCD_INIT:
MOV R7,#15
ACALL DELAY_1MS
MOV TEMP1,#38H
ACALL WR_COM
MOV R7,#5
ACALL DELAY_1MS
MOV TEMP1,#38H
ACALL WR_COM
MOV R7,#5
ACALL DELAY_1MS
MOV TEMP1,#38H
ACALL WR_COM
ACALL TEST_BUSY
MOV TEMP1,#38H
ACALL WR_COM
ACALL TEST_BUSY
MOV TEMP1,#08H
ACALL WR_COM
ACALL TEST_BUSY
MOV TEMP1,#01H
ACALL WR_COM
ACALL TEST_BUSY
MOV TEMP1,#06H
ACALL WR_COM
ACALL TEST_BUSY
MOV TEMP1,#0CH
ACALL WR_COM
RET
WR_COM:
CLR EN
SETB RS
SETB RW
NOP
CLR RS
CLR RW
NOP
MOV LCD,TEMP1
NOP
NOP
SETB EN
NOP
NOP
NOP
CLR EN
RET
WR_DAT:
CLR EN
SETB RS
SETB RW
NOP
CLR RW
MOV LCD,TEMP2
NOP
NOP
SETB EN
NOP
NOP
NOP
CLR EN
RET
TEST_BUSY:
SETB BUSYFLAG
SETB RS
SETB RW
CLR EN
NOP
CLR RS
NOP
SETB EN
NOP
NOP
JB BUSYFLAG,$
RET
TIMER0:
MOV TH0,#3CH
MOV TL0,#0B0H
CLR EA
PUSH ACC
SETB EA
MOV A,TEMP
INC A
CJNE A,#20,N3
SETB FLAG
MOV A,#00
N3:MOV TEMP,A
CLR EA
POP ACC
SETB EA
RETI
DELAY_1MS:
N2:MOV R5,#100
N1:MOV R6,#5
DJNZ R6,$
DJNZ R5,N1
DJNZ R7,N2
RET
ORG 0B00H
TAB:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,3AH
END
[此贴子已经被作者于2012-9-22 9:08:32编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:42637 发表于 2012-7-22 17:13 | 只看该作者

找到原因了,问题解决了

改ACALL LOOP6为AJMP LOOP6

[此贴子已经被作者于2012-9-22 9:08:01编辑过]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表