- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机多功能数字钟系统设计
一、概述:
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性、稳定性和直观性,因无机械装置,具有更长的使用寿命,方便携带,价格便宜,成为人们生活和工业应用的必需品。
数字钟从原理上讲是一种典型基于单片机的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的单片机和中小规模集成电路的作用及实用方法.且因为数字钟包括组合逻辑电路和时序电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.
二、设计指标:
12小时、24小时两种计时制;
时、分、秒计时和显示;
具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;
具有整点报时功能,仿中央人民广播电台报时信号,从59min50s起,每隔1s发出一次低音“嘟”,连续5次,到整点时,发出一次高音“哒”信号;
具有秒表功能,按start键开始计秒,按stop键停止并显示,并设置复位功能;
三、总体设计方案
时钟功能设置:利用计数器T0对基准时间计数形成秒50ms计数20次),秒计60次形成分,分计60次形成小时,24小时计满清零。中断产生后时间数据送入数据锁存器由通过8279动态扫描led显示时、分、秒和分隔符。
按键处理设置:如果没有按键,时钟正常走时 当按下K0键时,时钟停止走动:按K1和K2按键可进行加1减1操作继续按K0键进行分钟和小时的调整:最后按K0键将退出调整状态,时钟开始计时运行。按键K3进入、退出秒表功能,K4按键为秒表的开始、停止,K5为复位。
系统结构设计方案:
1、系统硬件:89C51×1、8279×1、74LS573×1、74LS138×1、LED数码管×8、4×4键盘、导线、电源。
2、系统硬件设计:
单片机89C51:40 引脚双列直插封装,其中P0.0-P0.7连接数据锁存器和8段led灯进行时分秒的输出,P2.4连接8279片选cs引脚负责选通8279工作,晶振及复位按典型电路,晶振频率为12MHz。
LED显示模块:8段LED数码共阴极显示灯。
数据锁存:74ls573负责数据锁存,即数据的输入和输出
键盘和显示控制:8279负责键盘和显示功能。8279分为二个部分:键盘部分和显示部分。键盘部分能够提供16按键阵列的扫描接口,键的按下可以是双键锁定或N键互锁。键盘输入经过反弹跳电路自动消除前后沿按键抖动影响之后,被选通送入一个8字符的FIFO先进先出栈)存储器。如果送入的字符多于8个,则溢出状态置位。按键输入后将中断输出线升到高电平向CPU发中断申请。
显示部分对8段LED提供显示接口。8279有一个内部的16X8显示RAM,组成一对16X4存储器。显示RAM可由CPU写入或读出。显示方式有从右进入的计算器方式和从左进入的电传打字方式。显示RAM每次读写之后,其地址自动加1。其中DB0-DB7连接数据锁存器接收单片机的显示数据。SL0-SL2连接74LS138实现键盘和显示灯的双控制。A0与锁存器AB0连接实现控制命令的传送。
3、软件设计:(软件代码见附录
①精确计时程序:
为了精确计时基准时间产生1s采用计数器T0中断计数方式,经查阅资料使计数器T0工作于方式1即16位计数器方式,计数时,当TL0计满向TH0进位,当TH0也计满溢出使TF0置位。产生50ms的计数设定N=50000,所以计数值n=65536-50000=15536控制字TH0=03CH,TL0=0B0H。计数中断后执行中断服务程序:计满20次形成1s;计满60s形成1min;计满60min形成1h;计满24h显示清零。
流程如图所示:
开始
开始
现场保护,重置初值启动下一个50ms
50ms计数器加1
50ms计数器=20?
秒单元加1,50ms计数器清0
秒单元=60?
分单元=60?
时单元=24?
分单元加1,秒单元清0
时单元加1,分单元清0
时单元清0
中断返回
否
否
否
否
是
是
是
是
②数码管显示程序:
分别将秒个位、秒十位、分隔符-、分个位、分十位、分隔符-、时个位、时十位存入8个寄存器,并根据时间进行调整加一计数和清零
扫描显示程序中每次循环调用寄存器中的数值对应LED编码如下表)通过固定的地址送入8279显示RAM,由8279控制自动显示。
字形
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
字形编码
dp
g
f
e
d
c
b
a
共阴
0
1
1
0
0
0
0
0
0
3FH
1
1
1
1
1
1
0
0
1
06H
2
1
0
1
0
0
1
0
0
5BH
3
1
0
1
1
0
0
0
0
4
原创力文档


文档评论(0)