- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DS1302的数码管时钟电路设计源程序.doc
基于DS1302的数码管时钟电路设计源程序
时钟电路设计的程序清单:
;****************************************
;* 基于DS1302的时钟电路设计 *
;****************************************
T_CLK EQU P3.3 ; 时钟线引脚
T_IO EQU P3.4 ; 数据线引脚
T_RST EQU P3.2 ; 复位线引脚
SECOND EQU 30H ;秒数据存储单元
CMIN EQU 31H ;分数据
CHR EQU 32H ;小时数据
CDATE EQU 33H ;日数据
CMONTH EQU 34H ;月数据
CDAY EQU 35H ;星期数据
CYEAR EQU 36H ;年数据低2位
ORG 0000H ;程序执行开始地址
LJMP START ;跳至START执行
ORG 0003H ;外中断0中断入口地址
RETI ;中断返回(不开中断)
ORG 000BH ;定时器T0中断入口地址
RETI ;中断返回(不开中断)
ORG 0013H ;外中断1中断入口地址
RETI ;中断返回(不开中断)
ORG 001BH ;定时器T1中断入口地址
LJMP INTT1 ;进入定时器中断程序
ORG 0023H ;串行口中断入口地址
RETI ;中断返回(不开中断)
ORG 002BH ;定时器T2中断入口地址
RETI ;中断返回(不开中断)
ORG 0100H
;****************************************
; 主程序 *
;****************************************
START: MOV TL1,#0B0H ;初始化定时器T1 MOV TH1,#3CH CLR 13H ;分钟、小时闪动标志位初始化 CLR 14H
START1: LCALL set1302 ;调用DS1302初始化之程序 NOP
START2: LCALL DELAY ;调用显示子程序 JNB P3.5,KEY ;判断是否有键按下,若有,则调用键盘程序 LCALL get1302 ;调用DS1302读时间程序 JNB P3.5,KEY ;再次判断是否有键按下,若有,则调用键盘程序 AJMP START2
;****************************************
; 键盘程序 *
;****************************************
KEY: MOV R6,#07H ; MOV 22H,#00H ;标志位置零 LCALL DELAY ;显示并延时,判断是否为抖动抖动 JNB P3.5 ,KEY1 ;的确有键按下,进入时间调整程序 AJMP START2 ;否则跳出调时程序
KEY1: LCALL DELAY ;调显示 JNB P3.5 ,KEY1 ;等待键释放 SETB TR1 ;定时器开始计时,开放中断 SETB ET1 SETB EA
CHMIN: LCALL DELAY ;分钟调整入口 JNB P3.5,CHHR ; JNB P3.6 ,ADDMIN ; AJMP CHMIN
ADDMIN: LCALL DELAY JB P3.6,CHMIN ; INC CMIN ; SETB 10H ; CLR 11H ;
TIAOMIN: PUSH A ;分钟加1调整,并保护现场 MOV A,CMIN ANL A,#0FH CLR C CJNE A,#0AH ,PPA ANL CMIN,#0F0H MOV A,CMIN ADD A,#10H MOV CMIN,A CJNE A,#60H,PPA ANL CMIN,#00H
PPA: POP A ;恢复现场 LCALL DELAY ;显示 LCALL DELAY LCALL DELAY LCALL DELAY JB P3.6, CHMIN ;若键释放,则返回到分钟调整入口程序 LCALL DELAY ;显示并延时 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY JNB P3.6,ADD2 ;若键一直按下,则进入快速调分状态 AJMP CHMIN ;否则进入分钟调整入口程序
ADD2: PUSH A ;快速调分程序 MOV A,CMIN ADD A,#01H MOV CMIN,A POP A AJMP TIAOMIN
CHHR: LCALL DELAY ;等待键释放 JNB P3.5, CHHR CLR 10H SETB 11H
CHHR1:
文档评论(0)