完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
做了个电子时钟,不知哪里出了错误,仿真时只显示开机设定时间12:00:00,中断程序不能计时,请高手指教。 DISSEC EQU 20H ;定义秒显示单元 DISMIN EQU 21H ;定义分钟显示单元 DISHOR EQU 22H ;定义小时显示单元 CLKSEC EQU 23H ;定义秒走时单元 CLKMIN EQU 24H ;定义分钟走时单元 CLKHOR EQU 25H ;定义小时走时单元 SECSIG EQU 29H ;定义一秒钟到标志位 ORG 000H LJMP START ORG 000BH LJMP INT_B ORG 0030H START: MOV SP ,#70H ;堆栈指针赋初值 MOV SECSIG,#2 ;2*500ms=1s MOV TMOD,#01H ;使用定时器1定时500ms MOV TH0,#3CH ;对定时器赋初值 MOV TL0,#0B0H SETB EA ;开总中断 SETB ET0 ;开定时器0中断 SETB TR0 ;启动定时器0 CLR A ;将开机时钟显示设置为12:00:00 MOV CLKSEC,A MOV CLKMIN,A MOV CLKHOR,#12 DISPLY: ;显示程序 MOV DISSEC,CLKSEC ;将走时单元数据传送到显示单元 MOV DISMIN,CLKMIN MOV DISHOR,CLKHOR MOV A,DISSEC ;转换显示程序 MOV B,#10 DIV AB MOV 42H,B ;秒位转换 MOV 43H,A MOV A,DISMIN MOV B,#10 DIV AB MOV 44H,B ;分钟转换 MOV 45H,A MOV A,DISHOR MOV B,#10 DIV AB MOV 46H,B ;小时转换 MOV 47H,A MOV DPTR,#TABLE MOV A,42H ;秒位显示 MOV P2,#0FEH ;将位选码送P2 MOVC A,@A+DPTR MOV P0,A LCALL DELAY2ms MOV A,43H MOVC A,@A+DPTR MOV P2,#0FDH ;将位选码送P2 MOV P0,A LCALL DELAY2ms MOV A,44H ;分钟显示 MOVC A,@A+DPTR MOV P2,#0FBH ;将位选码送P2 MOV P0,A LCALL DELAY2ms MOV A,45H MOVC A,@A+DPTR MOV P2,#0F7H ;将位选码送P2 MOV P0,A LCALL DELAY2ms MOV A,46H ;小时显示 MOVC A,@A+DPTR MOV P2,#0EFH ;将位选码送P2 MOV P0,A LCALL DELAY2ms MOV A,47H MOVC A,@A+DPTR MOV P2,#0DFH ;将位选码送P2 MOV P0,A LCALL DELAY2ms LJMP DISPLY
INT_B:PUSH PSW ;中断程序 PUSH ACC ;入栈保护现场 MOV TH0,#3CH ;对计数器重新赋值 MOV TL0,#0B0H DJNZ SECSIG,TT ;判断 1秒时间到否,不到转向TT MOV SECSIG,#2 ;一秒到时对标志位重新赋值 MOV A,CLKSEC ;对秒数据进行加一处理 ADD A,#1 CJNE A,#60,TT MOV A,#0 MOV CLKSEC,A MOV A,CLKMIN ;对分钟数据进行加一处理 ADD A,#1 CJNE A,#60,TT MOV A,#0 MOV CLKMIN,A MOV A,CLKHOR ;对小时数据进行加以处理 ADD A,#1 CJNE A,#24,TT MOV A,#0 MOV CLKHOR,A TT:POP ACC ;TT为恢复现场中断返回 POP PSW REti DELAY2ms:MOV 40H,#4 ;2MS延时程序 D1:MOV 41H,#248 DJNZ 41H,$ DJNZ 40H,D1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;显示数码表0~9
END [此贴子已经被作者于2008-10-18 19:15:29编辑过]
|
|
相关推荐
3 个讨论
|
|
INT_B:PUSH PSW ;中断程序
PUSH ACC ;入栈保护现场 MOV TH0,#3CH ;对计数器重新赋值 MOV TL0,#0B0H DJNZ SECSIG,TT ;判断 1秒时间到否,不到转向TT MOV SECSIG,#2 ;一秒到时对标志位重新赋值 MOV A,CLKSEC ;对秒数据进行加一处理 ADD A,#1 还有MOV A,#CLKSEC才是传入的CLKSEC地址的数据 [此贴子已经被作者于2008-10-19 15:25:08编辑过]
|
|
|
|
|
|
不知你写的是什么?
|
|
|
|
|
|
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
418 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1083 浏览 0 评论
846 浏览 0 评论
886 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
882 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11832 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 00:44 , Processed in 0.554166 second(s), Total 38, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号