微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机数字电子时钟系统

单片机数字电子时钟系统

时间:10-24 来源:互联网 点击:

单片机系统的开发。其实,这个时钟系统花了我一个礼拜的时间。从刚开始的显示模块,到键盘模块,我都一步一步

实现。当然,这其中,也遇到了很多困难,麻烦!刚开始,数码管部分一点不显示,键盘也没用,很烦人,很恼火。

但是,我还是把程序调试出来了,并且在硬件上运行达到效果。本以为这几部分实现了后,联合在一块,偶的时钟系统就OK 了。然而,我错了,一个模块运行成功并不意味着模块组成的系统就能按照预想的一样达到目的,实现功能!当我将几个模块结合在一块时候,问题有接踵而至!哎呀!烦人啊!我只能重新设计方案,重新检查,重新写程序,源代码写了

一遍又一遍,程序调了又调,程序一遍又一遍地下载到单片机中运行,观察现象,分析出错原因,找出解决办法!最终,

在我的不断努力下,我的单片机数字电子时钟系统成功的实现了所有的功能,达到了预期的效果!!先把我写了好多遍,

调试了好多遍的源代码上传,来和大家一起分享一下!!


ORG 0000H
SJMP START
ORG 0003H
LJMP INTT0
ORG 000BH
LJMP TIME0
ORG 001BH
LJMP TIME1
ORG 0045H
START:MOV SP,#60H
SETB EA
SETB ET0
SETB ET1
MOV TMOD,#11H
MOV TL0,#0B0H
MOV TH0,#3CH
MOV TL1,#80H
MOV TH1,#0C1H
SETB EX0
CLR IT0
SETB PX0
MOV R0,#20
MOV 40H,#0
MOV 41H,#0
MOV 42H,#0
MOV 30H,#0
MOV 31H,#0
MOV 32H,#0
MOV 33H,#0
MOV 34H,#0
MOV 35H,#0
MOV P2,#0FFH
SETB TR0
SETB TR1
SJMP $
INTT0:CLR TR0
CLR TR1
PUSH ACC
PUSH PSW
LCALL DISP
MOV P1,#0FFH
KEY1:JNB P1.0,ST
LCALL DISP
JNB P1.1,MT
LCALL DISP
JNB P1.2,HT
LCALL DISP
JNB P1.3,COMN
LCALL DISP
SJMP KEY1
COMN:LCALL CONT
ST:LCALL DELAY2
JB P1.0,KEY1
JNB P1.0,$
INC 40H
MOV A,40H
MOV B,#10
div AB
MOV 31H,A
MOV A,B
MOV 30H,A
LCALL DISP
MOV A,40H
CJNE A,#60,KEY1
MOV 30H,#0
MOV 31H,#0
MOV 40H,#0
LJMP KEY1
MT:LCALL DELAY2
JB P1.1,KEY1
JNB P1.1,$
INC 41H
MOV A,41H
MOV B,#10
div AB
MOV 33H,A
MOV A,B
MOV 32H,A
LCALL DISP
MOV A,41H
CJNE A,#60,KEY1
MOV 32H,#0
MOV 33H,#0
MOV 41H,#0
LJMP KEY1
HT:LCALL DELAY2
JB P1.2,KEY1
JNB P1.2,$
INC 42H
MOV A,42H
MOV B,#10
div AB
MOV 35H,A
MOV A,B
MOV 34H,A
LCALL DISP
MOV A,42H
CJNE A,#24,KEYPRESS
MOV 34H,#0
MOV 35H,#0
MOV 42H,#0
LJMP KEY1
KEYPRESS:LCALL KEY1
CONT:LCALL DELAY2
JB P1.3,KEYPRESS
JNB P1.3,$
SETB TR0
SETB TR1
POP PSW
POP ACC
RETI
TIME0:PUSH ACC
PUSH PSW
MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R0,BACK
MOV R0,#20
INC 40H
MOV A,40H
MOV B,#10
div AB
MOV 31H,A
MOV A,B
MOV 30H,A
MOV A,40H
CJNE A,#60,BACK
MOV 30H,#0
MOV 31H,#0
MOV 40H,#0
INC 41H
MOV A,41H
MOV B,#10
div AB
MOV 33H,A
MOV A,B
MOV 32H,A
MOV A,41H
CJNE A,#60,BACK
MOV 32H,#0
MOV 33H,#0
MOV 41H,#0
INC 42H
MOV A,42H
MOV B,#10
div AB
MOV 35H,A
MOV A,B
MOV 34H,A
MOV A,42H
CJNE A,#24,BACK
MOV 42H,#0
MOV 34H,#0
MOV 35H,#0
MOV 30H,#0
MOV 31H,#0
MOV 32H,#0
MOV 33H,#0
BACK:POP PSW
POP ACC
RETI
TIME1:PUSH ACC
PUSH PSW
MOV TL1,#80H
MOV TH1,#0C1H
LCALL DISP
POP PSW
POP ACC
RETI
DISP:MOV DPTR,#TAB1
MOV A,30H
MOVC A,@A+DPTR
MOV P0,A
SETB P2.0
CLR P2.5
LCALL DELAY1
SETB P2.5
MOV A,31H
MOVC A,@A+DPTR
MOV P0,A
SETB P2.0
CLR P2.4
LCALL DELAY1
MOV DPTR,#TAB2
MOV A,32H
MOVC A,@A+DPTR
SETB P2.4
MOV P0,A
SETB P2.0
CLR P2.3
LCALL DELAY1
MOV DPTR,#TAB1
MOV A,33H
MOVC A,@A+DPTR
SETB P2.3
MOV P0,A
SETB P2.0
CLR P2.2
LCALL DELAY1
MOV DPTR,#TAB2
MOV A,34H
MOVC A,@A+DPTR
SETB P2.2
MOV P0,A
SETB P2.0
CLR P2.1
LCALL DELAY1
MOV DPTR,#TAB1
MOV A,35H
MOVC A,@A+DPTR
SETB P2.1
MOV P0,A
CLR P2.0
LCALL DELAY1
RET
DELAY1:MOV R7,#02H
DL:MOV R6,#0FFH
DL1:DJNZ R6,DL1
DJNZ R7,DL
RET
DELAY2:MOV R7,#10H
TS1:MOV R6,#0FFH
TS2:DJNZ R6,TS2
DJNZ R7,TS1
RET
TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
TAB2:DB 40H,79H,24H,30H,19H
DB 12H,02H,78H,00H,10H
END

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top