基于单片机的数字电子钟设计 (2).doc
《基于单片机的数字电子钟设计 (2).doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电子钟设计 (2).doc(27页珍藏版)》请在沃文网上搜索。
1、 摘 要 钟表作为一种定式工具被广泛的使用在生产生活的各方面。人类最初依靠太阳的角度来进行定时,所以受天气的影响比较大,为了克服依靠自然现象定时的缺点人们发明的机器钟表,电子钟表一系列的定时工具。而电子钟表具有价格便宜、质量轻、定时误差小等优点,被广泛的应用在生产、生活的各个方面。由于电子钟能提供精确定时所以被广泛的运用在测量之中。此电子钟采用单片机进行设计,8段数码通过单片机进行刷新显示。其设计的产品除了单片机之外没有用到其他集成块,使其成本可以大大降低,而其便与维修。成品可以被广泛的用于公共场所、匾额装饰、以及教学等方面。关键词:电子时钟;单片机;数码管目 录1 数字电子钟设计任务、功能要
2、求说明及总体方案介绍1 1.1 设计任务1 1.2 功能要求说明1 1.3 设计总体方案介绍及原理说明12 数字电子钟硬件系统的设计3 2.1 硬件系统各模块功能简要介绍3 2.2 电路原理图、PCB图4 2.3 元器件清单43 设计课题软件系统的设计 5 3.1 数字电子钟使用单片机资源的情况5 3.2 数字电子钟软件系统各模块功能简要介绍5 3.3 数字电子钟软件系统程序流程框图6 3.4 数字电子钟软件系统程序清单114 设计结论、仿真结果、误差分析、教学建议12 4.1 数字电子钟的设计结论及使用说明12 4.2 数字电子钟的仿真结果12 4.3 数字电子钟的误差分析14 4.4 设计
3、体会14 4.5 教学建议15参考文献 16致谢17附录一 电路原理图18附录二 电路PCB图19附录三 程序清单20251 数字电子钟设计任务、功能要求说明及总体方案介绍1.1 设计任务 设计一个具有特定功能的电子钟,要求该电子钟能正确显示时、分、秒,能够对时间进行调整。1.2 功能要求说明该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 总体方案介绍及工作原
4、理说明1.3.1 总体方案介绍本系统主要设计思想是:整个系统用单片机为中央控制器,由单片机执行采集时钟电路的时间信号并通过显示模块来输出信号及相关的控制功能。时钟电路产生时钟信号,利用单片机的I/O口传给单片机;并通过P0和P2控制数码管显示时间, 通过P1口外接4个按键对时间进行调整。本电子钟由AT89S52单片机、时钟电路、复位电路、4*1独立键盘、限流电阻、电源电路、USB接口电路和8位数码管构成。总体方案图如图1.1所示。AT89S52电源振荡电路复位电路独立式键盘驱动电路数码管显示限流图1.1 总体方案图1.3.2 工作原理说明 本电子钟的所有的软件、参数均存放在AT89S52的Fl
5、ash ROM和内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。由于AT89S52芯片内部Flash ROM有8KB,RAM有256个字节,故软件下载编译时有足够的存储空间。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。2 数字电子钟硬件系统的设计2.1 硬件系统各模块功能简要介绍本设计的硬件系统主要采用以下基本模块来实现:单片机最小系统模块、输入模块、输出模块和电源模块四个模块。 (1) 单片机最小模块 单片机最小化模块
6、由时钟电路、复位电路和AT89S52单片机构成。时钟电路由振荡电路和分频电路组成。其中振荡电路由高增益反相器以及并联外接的石英晶体和电容构成产生振荡脉冲。而分频电路则用于把振荡脉冲分频,已得到所需的时钟信号。振荡电路由单片机芯片的XTAL1端输入,XTAL2端输出。通过这两个引脚并接一个石英晶体振荡器和两个电容(电容一般取30pF)。而AT89S52中自带有分频电路所以不需要外接电路对脉冲信号进行分频。复位是单片机的硬件初始化操作,经复位操作后,单片机系统才能开始正常工作。复位电路用于产生复位信号,通过RET引脚送入单片机,进行复位操作。 (2) 输入模块 输入模块由五个按键构成,一个电源开关
7、键,一个复位键。独立式键盘通过程序控制来完成电子钟的启、停及时间调整。A键控制电子钟的启、停;B键调整时;C键调整分;D键调整秒。电源开关键控制电源的闭合和断开。复位键控制单片机系统的复位操作。 (3) 输出模块 输出模块为2个四位一体的LED所组成的八位数码管显示器。数码管都为共阳极接法,由74LS245芯片进行驱动和阻值都为470的八个电阻进行限流,提高显示亮度,数码管显示电路采用动态显示方式。 (4) 电源模块 直流稳压电源一般由电源变压器、整流滤波电路及稳压电路组成。直流稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。本设计中所需要的电源有
8、PC机的USB口直接供电,没有设计直流稳压电源,故在此不作详细介绍。2.2 电路原理图、PCB图数字电子钟电路原理图,见附录一。数字电子钟电路的PCB图,见附录二。2.3 元器件清单数字电子钟元器件清单如表2.1所示。 表2.1元器件清单元器件名称型 号数量单片机AT89S521片芯片座40脚1个四位一体数码管共阳极2个晶振12MHZ1个瓷片电容33pf2蜂鸣器5V1个电阻4.7K1个电阻1K3个电阻47024个电阻2001个电容22uf1个三极管S90129个排阻10K2个LED指示灯 绿9个单排插针8脚4排下载口10针1个温度传感器18B201个六脚开关1个3 数字电子钟软件系统的设计3.
9、1 数字电子钟使用单片机资源的情况根据实际和需要,本次设计选用定时器0做时钟定时,按方式1工作,每隔50ms溢出中断一次,计满20次为止。使用了通用寄存器组中第二组中的R0,R1,R3。和通用寄存器组三中的R6,R7片内RAM分配情况如表3.1所示:表3.1RAM分配情况78H79H7AH7BH7CH7DH7EH7FH秒个位秒十位分割符分个位分十位分割符时个位时分位20H46H键值中断次数P0.0-P0.7段控线,接LED的显示段a,b,c,d,e,f,g, dpP2.0P2.3,P2.4P2.7,位控线,从左至右(LED7,LED6,LE5,LED4,LED3,LED2,LED1,LED0)
10、使用定时器/计数器0,定时功能,工作方式1,提供50毫秒的定时时间,以中断方式工作,计满20次即得到秒计时单位;应用了显示字符段选码表(共阳极代码首地址TAB)3.2 数字电子钟软件系统各模块功能简要介绍 (1)主程序:主要建立堆栈和对PSW清零,显示P. (2)时钟运行程序:对定时器设置计数初值,开启定时器和中断,并调显示程序显示时钟的运行情况。 (3)时钟调整程序:关定时器,调键盘扫描程序,对时钟的时、分、秒进行加的调整。 (4)键盘扫描程序:读P1口的数据,把按键的状态输入单片机。 (5)显示程序:把存放在显示缓冲区里的时钟数据通过查表得到所对应的段控码送到数码管上,以使数码管正确的显示
11、时间。 (6)中断服务程序:进行计时操作用于完成对时、分、秒的加操作,以使电子钟能够正常运行。 (7)时钟加1程序:使时钟时、分、或者秒完成加1的操作。 (8)显示缓冲区清零程序:完成所指定的显示缓冲单元清零操作。3.3 数字电子钟软件系统程序流程框图3.3.1 电子钟主程序程序流程框图 图3.1电子钟主程序程序流程框图接上图: 图3.1 电子钟主程序程序流程框图3.3.2 键盘扫描程序流程图图3.2 键盘扫描程序流程图3.3.3 显示程序流程图:图3.3 显示程序流程图3.3.4 中断服务程序流程图 图3.4 中断服务程序流程图3.3.5 时钟加1子程序: 图3.5 时钟加1子程序流程图3.
12、3.6 时钟缓冲单元清零程序流程图 图3.6 时钟缓冲单元清零程序流程图3.4 数字电子钟软件系统程序清单 (见附录三)4 设计结论、仿真结果、误差分析、教学建议4.1 数字电子钟的设计结论及使用说明4.1.1 设计结论本电子钟是利用AT89S52单片机通过汇编编程实现电子钟的计时功能的,经过程序的调试和仿真,可以在实物上实现电子钟的显P.、计时、调整等基本功能。通过对电子钟的编程,我学到了很多知识,对书本上所讲的东西可以运用到实践中去了,同时也对自身的不足之处有了更清醒的认识。4.1.2 使用说明(1) 时间显示:电子钟上电后,8位数码管显示初始状态即最左边的一个数码管显示P.。按下A键后电
13、子钟进入自动计时状态,电子钟显示00时00分00秒并开始运行。(2) 时间调整:若要进行时间调整,则需再次按下A键,进入时间调整状态,然后分别按下B键调时,按下C键调分,按下D键调秒,按下B、C、D键并松开可使电子钟的秒,分,时分别加一。调整好时间后,按下A键就可以回到调整好的时间为基础的自动计时状态。无论是在自动计时,还是在调整校正时,都可按下复位键使系统回到显示P.的初始状态。其中B键显示范围为0-23,0为24点;C,D键显示范围为0-59,0 为60分。4.2 数字电子钟的仿真结果在Proteus ISIS的Debug菜单中选择Execute,运行程序,仿真得到的结果分别如下所示。 显
14、示“P.”的仿真图如图4.1所示为通电情况下在没有按下功能键A之前数码管的显示情况,显示“P.”。图4.1显示P.仿真图时钟启动/调整键即A键的仿真图如图4.2所示,即按下功能键A键时钟开始运行电子钟从0时0分0秒开始运行。图4.2 第一次按下时钟功能键A后的仿真图时钟功能键A第二次按下进入时钟调整状态,此时电子钟定时关闭,按下B、C、D键即可对时钟的时、分、秒进行调整,我这里是以01-01-01作为基准点按下A键开始调整的。时钟调整到10-01-01的仿真图如图4.3所示图4.3 按下B键即时调整键后的仿真图时钟调整到10-10-01的仿真图如图4.4所示。图4.4 按下C键即分调整键后的仿
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于单片机的数字电子钟设计 2 基于 单片机 数字 电子钟 设计
