- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简易时钟单片机
简易电子时钟设计
一,设计要求:
P1.3行接地
设P1.3行上从左到右4个键依次为:启动/停止键、切换键、加1键、清零键
开机后处于走时或不走时状态,显示预定的分秒值,不走时时分单元或秒单元对应小数点亮,走时时所有小数点不亮
启动/停止键的功能:不走时时按下该键后从当前显示时间开始走时,分和秒单元均在00-59之间变化,走时按下该键后停止走时,显示当前时间
切换键的功能:每按1次小数点亮的单元在分单元和秒单元之间切换
加1键的功能:按1次小数点亮对应的单元加1,分和秒单元均在00-59之间变化
清零键的功能:按下后分和秒显示的数值均为00
不走时状态时启动/停止键、切换键、加1键和清零键4个键均有效
走时状态时启动/停止键有效,其他3个键无效
二、硬件电路原理图:
三、设计思路
1、总体设计原理:
开始
设定分秒值
设秒的计数值=16
设为不走时状态
开启定时中断
指向秒单元
开启定时器
等待
开始 读键
重赋定时器初值 是否有键按下? RETI
是否走时状态? 是启动键?
读键 是切换键?
是否有键按下? 是否停止键? 是加1键?
秒计数值-1=0? 进入不走时状态 是清零键?
改变分秒值 RETI
显示 分秒单元清零
RETI 指针单元加一
改变指针
RETI 进入运行状态
2、局部设计原理:
(1);读键
设定70H初值为0FFH
给P1送初值0FFH
P1的值送A
70H和A的值相等?
RETI
A值送回70H
Acc.4是否为0 按下为启动/停止键
Acc.5是否为0 按下为切换键
Acc,6是否为0 按下为加一键
Acc,7是否为0 按下为清零键
RETI
(2); 改变分秒值
秒单元的值送A A值十进制调整
A值加一 A值送回分单元
A值十进制调整 A是否为60 显示
A值送回秒单元 分单元清零
A值是否为60 显示 RETI
秒单元清零
分单元送A
A值加一
四、程序编写调试过程回顾:
(1);十进制调整
调试时发现,按加一键时,分或秒会从零到九,又从零到五,之后又从零到九,从零到五如此重复变化,这是按照十六进制变化,返回程序查看时,发现加一键的程序设计中的分单元或秒单元中的值未进行十进制调整。
(2);分或秒单元清零
调试时发现,按加一键时,分或秒加到59时,再按一下会出现乱码,这是在加一键的程序设计中未对分或秒单元设置满60时清零分或秒单元。
(3);小数点
调试时发现,在走或不走时分或秒单元的小数点都会亮,不符合程序设计要求:走时小数点不亮。这是小数点的程序设计中为设置走时不亮的限制条件。
五、原程序:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP IT0P
ORG 1000H
MAIN: MOV 43H,#00H
MOV 42H,#00H
MOV 41H,#00H
MOV 40H,#00H
MOV 70H,#0FFH
MOV 33H,#00H
MOV 34H,#00H
MOV R3,#16
CLR
文档评论(0)