《毕业设计(论文)单片机设计数字电子钟》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机设计数字电子钟(25页珍藏版)》请在金锄头文库上搜索。
1、摘 要该课程设计为数字电子钟的设计。以AT89S52为核心,配合LED数码管显示器和按键为用户提供长期、连续、可靠、稳定的工作环境。该数字电子钟有时分秒显示和日期显示以及时间和日期调整的功能。系统软件设计包括单片机计算机两部分的编程。计算机软件编程主要实现参数设置、串行口数据接收、指令发送以及数据的显示和存储。单片机软件编程主要实现键盘、LED显示等各模块的功能,采用汇编语言编程。关键词 数字电子钟;单片机;LED显示 ABSTRACTThe course designed for digital electronic clock designsTo AT89S52 as the core,w
2、ith the LED digital tube display and buttons provide users with long-term, continuous, reliable and stable working environmentThe digital electronic clock and sometimes minutes and seconds display and date display as well as time and date adjustment function System software design includes two parts
3、, the computer programming microcontrollersComputer software programming to achieve the main parameter settings,serial port data receiving, sending commands and data display and storageSCM software programming to achieve the main keypad,LED displays the functions of each module, using assembly langu
4、age programmingKey words digital electronic clock; microcomputer;LED Display目 录1 设计任务和方案3 1.1 设计任务3 1.2 功能要求说明3 1.3 设计总体方案及工作原理说明32 数字电子钟的硬件系统的设计4 2.1 硬件系统各模块功能简要介绍4 2.2 电路原理图、PCB图和元器件布局4 2.3 元器件清单43 数字电子钟的软件系统的设计5 3.1 使用的单片机资源的情况5 3.2 各模块功能简要介绍5 3.3 程序的流程框图5 3.4 程序清单94 数字电子钟的设计仿真和结果分析104.1 设计结论和使用说
5、明10 4.2 仿真结果10 4.3 误差分析12 4.4 设计体会13 4.5 教学建议13参考文献15致谢16附录171 设计任务和方案1.1设计任务(一)设计题目:数字电子钟(二)设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2功能要求说明该数字电子钟采用八位数码管能实现年月日和时分秒的显示。当电子钟一上电即可显示P.,设置数字钟的初始日期和时间为05年01月01日14时30分20秒.用四个按键实现电子钟的
6、显示和调整的功能,分别为K0,K1,K2,K3,其中K0键为开启键,且显示的是时分秒,开启之后K2键可实现切换的功能,即可实现年月日和时分秒的切换显示;按K3键可实现年月日和时分秒的调整,按一下可以对当前显示的进行调整,再按一下即可切换到一个界面进行调整,调整的时候数字钟停止计时,当对年月日和时分秒都调整完之后,再按一下K3键即可跳出调整的状态,数字钟继续开始计时工作,在电子钟正常计时的时候再按K0键即可对电子钟进行关闭.1.3设计课题总体方案及工作原理说明设计中采用AT89S52芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。设计中是采用单片机的内部定时器进行定时,程序框图如图1
7、.1所示 整个电子钟的工作原理是:在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。 图1.1 总的设计的框图2 数字电子钟的硬件系统的设计2.1 硬件系统各模块功能设计 该数字电子钟由单片机最小系统、键盘模块、LED显示电路模块、USB接口电路模块组成。各模块的功能如下:(1)单片机最小系统由AT89S52单片机、时钟电路和复位电路构成。AT89S52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read
8、Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。时钟电路由一个12MHZ的石英晶体振荡器和两个33pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。(2)键盘模块采用独立式键盘接法,共有四个按键来对电路进行控制。分别接在单片机的P1口线上。一个键控制开和关,一个键负责调整,另外两个键辅助调整。(3)LED显示电路采用八个共阴的数码管显示器进行显示,加上一个SN74LS245作为驱动和8个200的电阻起限流的作用。将段控口接在P0口上,位控口接在P3口上,实现对显示的控制。(
9、4)USB接口电路接上一个电容组成的滤波电路和电源显示灯组成一个电源接口,为单片机工作供电。2.2 电路原理图、PCB图和元器件布局采用Protel软件,Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,能够和形象的画出我们所要设计的产品。电路原理图和PCB图及元器件布局见附录。 2.3 元器件清单 见附录。3 数字电子钟的软件系统的设计3.1 使用的单片机资源的情况该数字电子钟用到了单片机的定时器的功能,此外用到了单片机的中断功能,在数据的显示时所采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。
10、由于电子钟需要可以进行调节,因此,需要在单片机的P口上加上按键,本设计采用独立式键盘,直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。用到的LED显示器接到了单片机的P0口线上和P3口线上。 3.2 各模块功能简要介绍 该数字电子钟所用的软件模块有定时器模块、按键模块、LED显示模块。(1)定时器模块选择定时器0,设置定时方式为方式1,设置定时时间为50mS。(2)按键模块采用独立式键盘,共用四个按键对电路进行控制和操作,分别为K0、K1、K2、K3来控制电子钟的开/关和调整。(3)LED显示模块 该电子钟一通电即让它显示P.,按开启键即可显示时分秒,再按切换键即可显示年月日,然
11、后结合键盘操作还可以对时间进行调整。3.3 程序的流程图(1)整体设计流程图图3.1 整体设计流程图(2)键盘设计流程图图3.2 键盘设计流程图(3)显示设计流程图图3.3 显示时分秒设计流程图图3.4 显示年月日设计流程图3.4 程序清单见附录。 4 数字电子钟的设计仿真和结果分析4.1 设计结论和使用说明(1)设计结论 通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了该数字电钟显示P.以及时分秒和年月日的显示,同时还可实现对该电子钟进行调整的功能。通过测试和仿真以及修改,该电子钟最终能正常的工作。(2)使用说明该数字电子钟采用八位数码管能实现年月日和时分秒的
12、显示。当电子钟一上电即可显示P.,设置数字钟的初始日期和时间为05年01月01日14时30分20秒.用四个按键实现电子钟的显示和调整的功能,分别为K0,K1,K2,K3,其中K0键为开启键,且显示的是时分秒,开启之后K2键可实现切换的功能,即可实现年月日和时分秒的切换显示;按K3键可实现年月日和时分秒的调整,按一下可以对当前显示的进行调整,再按一下即可切换到一个界面进行调整,调整的时候数字钟停止计时,当进行时分秒的调整时, K0键可实现对秒进行增大的调整,每按一下秒的值就加一,当秒增加到59时就重新从0开始继续增大, K1键可实现对分进行增大的调整,每按一下分的值就加一,当分增加到59的时候就
13、重新从0开始继续增大,K2键可实现对时进行增大的调整,每按一下时的值就加一,当时的值增大到23的时候就重新从0开始继续增大.当进行年月日的调整时, K0键可实现对日进行增大的调整,每按一下秒的值就加一,当日增加到28或者30或者31(看不同的年份和月份)时就重新从0开始继续增大, K1键可实现对月进行增大的调整,每按一下月的值就加一,当月增加到12的时候就重新从0开始继续增大,K2键可实现对年进行增大的调整,每按一下时的值就加一,当时的值增大到99的时候就重新从0开始继续增大.当对年月日和时分秒都调整完之后,再按一下K3键即可跳出调整的状态,数字钟继续开始计时工作,在电子钟正常计时的时候再按K0键即可对电子钟进行关闭.4.2 仿真结果在仿真时用到了两个软件,第一个是Keil,第二个是P