单片机技术课程设计说明书-数字电子钟的设计.doc

上传人:李主任 文档编号:3262485 上传时间:2019-08-06 格式:DOC 页数:17 大小:892.52KB
返回 下载 相关 举报
单片机技术课程设计说明书-数字电子钟的设计.doc_第1页
第1页 / 共17页
单片机技术课程设计说明书-数字电子钟的设计.doc_第2页
第2页 / 共17页
单片机技术课程设计说明书-数字电子钟的设计.doc_第3页
第3页 / 共17页
单片机技术课程设计说明书-数字电子钟的设计.doc_第4页
第4页 / 共17页
单片机技术课程设计说明书-数字电子钟的设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机技术课程设计说明书-数字电子钟的设计.doc》由会员分享,可在线阅读,更多相关《单片机技术课程设计说明书-数字电子钟的设计.doc(17页珍藏版)》请在三一文库上搜索。

1、 单片机技术课程设计说明书 数字电子钟 系 、 部: 电气与信息工程系 学生姓名: 指导教师: 职称 副教授 专 业: 自动化 班 级: 自动化0702 完成时间: 2010-1-3 摘 要该课程设计为数字电子钟的设计。以AT89S52为核心,配合LED数码管显示器和按键为用户提供长期、连续、可靠、稳定的工作环境。该数字电子钟有时分秒显示和日期显示以及时间和日期调整的功能。系统软件设计包括单片机计算机两部分的编程。计算机软件编程主要实现参数设置、串行口数据接收、指令发送以及数据的显示和存储。单片机软件编程主要实现键盘、LED显示等各模块的功能,采用汇编语言编程。关键词 数字电子钟;单片机;LE

2、D显示 ABSTRACTThe course designed for digital electronic clock designsTo AT89S52 as the core,with 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 di

3、splay as well as time and date adjustment function System software design includes two parts, the computer programming microcontrollersComputer software programming to achieve the main parameter settings,serial port data receiving, sending commands and data display and storageSCM software programmin

4、g to achieve the main keypad,LED displays the functions of each module, using assembly language 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、系统的设计5 3.1 使用的单片机资源的情况5 3.2 各模块功能简要介绍5 3.3 程序的流程框图5 3.4 程序清单94 数字电子钟的设计仿真和结果分析104.1 设计结论和使用说明10 4.2 仿真结果10 4.3 误差分析12 4.4 设计体会13 4.5 教学建议13参考文献15致谢16附录171 设计任务和方案1.1设计任务(一)设计题目:数字电子钟(二)设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.

6、2功能要求说明该数字电子钟采用八位数码管能实现年月日和时分秒的显示。当电子钟一上电即可显示P.,设置数字钟的初始日期和时间为05年01月01日14时30分20秒.用四个按键实现电子钟的显示和调整的功能,分别为K0,K1,K2,K3,其中K0键为开启键,且显示的是时分秒,开启之后K2键可实现切换的功能,即可实现年月日和时分秒的切换显示;按K3键可实现年月日和时分秒的调整,按一下可以对当前显示的进行调整,再按一下即可切换到一个界面进行调整,调整的时候数字钟停止计时,当对年月日和时分秒都调整完之后,再按一下K3键即可跳出调整的状态,数字钟继续开始计时工作,在电子钟正常计时的时候再按K0键即可对电子钟

7、进行关闭.1.3设计课题总体方案及工作原理说明设计中采用AT89S52芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。设计中是采用单片机的内部定时器进行定时,程序框图如图1.1所示 整个电子钟的工作原理是:在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。 图1.1 总的设计的框图2 数字电子钟的硬件系统的设计2.1 硬件系统各模块功能设计 该数字电子钟由单片机最小系统、键盘模块、LED显示电路模块、USB接口电路模块组成。各模块的功能如下:(1)单片机最小系统由AT8

8、9S52单片机、时钟电路和复位电路构成。AT89S52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。时钟电路由一个12MHZ的石英晶体振荡器和两个33pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。(2)键盘模块采用独立式键盘接法,共有四个按键来对电路进行控制。分别接在单片机的P1口线上。一个键控制开和关,一个键负责调整,另外两个键辅助调整。

9、(3)LED显示电路采用八个共阴的数码管显示器进行显示,加上一个SN74LS245作为驱动和8个200的电阻起限流的作用。将段控口接在P0口上,位控口接在P3口上,实现对显示的控制。(4)USB接口电路接上一个电容组成的滤波电路和电源显示灯组成一个电源接口,为单片机工作供电。2.2 电路原理图、PCB图和元器件布局采用Protel软件,Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,能够和形象的画出我们所要设计的产品。电路原理图和PCB图及元器件布局见附录。 2.3 元器件清单 见附录。3 数字电子钟的软件系统的设

10、计3.1 使用的单片机资源的情况该数字电子钟用到了单片机的定时器的功能,此外用到了单片机的中断功能,在数据的显示时所采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。由于电子钟需要可以进行调节,因此,需要在单片机的P口上加上按键,本设计采用独立式键盘,直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。用到的LED显示器接到了单片机的P0口线上和P3口线上。 3.2 各模块功能简要介绍 该数字电子钟所用的软件模块有定时器模块、按键模块、LED显示模块。(1)定时器模块选择定时器0,设置定时方式为方式1,设置定时时间为50mS。(2)按键模块采用独立式键盘,共用四个按

11、键对电路进行控制和操作,分别为K0、K1、K2、K3来控制电子钟的开/关和调整。(3)LED显示模块 该电子钟一通电即让它显示P.,按开启键即可显示时分秒,再按切换键即可显示年月日,然后结合键盘操作还可以对时间进行调整。3.3 程序的流程图(1)整体设计流程图图3.1 整体设计流程图(2)键盘设计流程图图3.2 键盘设计流程图(3)显示设计流程图图3.3 显示时分秒设计流程图图3.4 显示年月日设计流程图3.4 程序清单见附录。 4 数字电子钟的设计仿真和结果分析4.1 设计结论和使用说明(1)设计结论 通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了该数字电钟

12、显示P.以及时分秒和年月日的显示,同时还可实现对该电子钟进行调整的功能。通过测试和仿真以及修改,该电子钟最终能正常的工作。(2)使用说明该数字电子钟采用八位数码管能实现年月日和时分秒的显示。当电子钟一上电即可显示P.,设置数字钟的初始日期和时间为05年01月01日14时30分20秒.用四个按键实现电子钟的显示和调整的功能,分别为K0,K1,K2,K3,其中K0键为开启键,且显示的是时分秒,开启之后K2键可实现切换的功能,即可实现年月日和时分秒的切换显示;按K3键可实现年月日和时分秒的调整,按一下可以对当前显示的进行调整,再按一下即可切换到一个界面进行调整,调整的时候数字钟停止计时,当进行时分秒

13、的调整时, K0键可实现对秒进行增大的调整,每按一下秒的值就加一,当秒增加到59时就重新从0开始继续增大, K1键可实现对分进行增大的调整,每按一下分的值就加一,当分增加到59的时候就重新从0开始继续增大,K2键可实现对时进行增大的调整,每按一下时的值就加一,当时的值增大到23的时候就重新从0开始继续增大.当进行年月日的调整时, K0键可实现对日进行增大的调整,每按一下秒的值就加一,当日增加到28或者30或者31(看不同的年份和月份)时就重新从0开始继续增大, K1键可实现对月进行增大的调整,每按一下月的值就加一,当月增加到12的时候就重新从0开始继续增大,K2键可实现对年进行增大的调整,每按

14、一下时的值就加一,当时的值增大到99的时候就重新从0开始继续增大.当对年月日和时分秒都调整完之后,再按一下K3键即可跳出调整的状态,数字钟继续开始计时工作,在电子钟正常计时的时候再按K0键即可对电子钟进行关闭.4.2 仿真结果在仿真时用到了两个软件,第一个是Keil,第二个是Protues,本次仿真是将两个软件结合起来进行的。Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。在Proteus软件包中,不存在同类仪表使用数量的问题。Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。用

15、Protues软件进行仿真,其仿真的电路图如图4.1所示图4.1 Protues仿真电路图数字电子钟正常工作时,仿真的LED显示器显示如图4.2所示,当按下切换键时,数字电子钟进入日期显示界面,此时LED数码管显示器的显示如图4.3和4.4所示,当按下调整键时,数字电子钟进入调整界面,此时LED数码管显示器的显示如图4.5和4.5所示。图4.2 数字电子钟正常工作时的显示图图4.3 数字电子钟显示时分秒的显示图图4.4 数字电子钟显示日期的显示图图4.5 数字电子钟调整时分秒的显示图图4.6 数字电子钟调整年月日的显示图4.3 误差分析本数字电子钟在跟标准的电子钟比较时,时间稍微慢一点,产生此

16、种情况的原因有:其一是在执行程序指令时,由于需要耗费一定的时间,因此会比标准的电子钟要慢一点。其二是晶振不够标准,使得定时器定时时不够精准。4.4 设计体会从选题到硬件电路的设计,再到软件电路的设计,整个过程当中我学到了很多的东西,在老师的细心指导,耐心分析下,我把整个思路理清,并开始了设计的规划,在原理图的绘制时我查找了相关软件的使用方法,并悉心向老师和同学请教,学会对PROTEL和PROTEUS的使用;在软件系统的设计当中,我遇到了很多的问题,不能把一些小模块系统的联系起来,但通过不段的学习,最终花了两天的时间把整个程序完整的编出来了,并能进行仿真使用;到最后做板子的时候,因为是第一次做板

17、子,很多细节的地方都没注意,比如买元器件时,要看清楚所买元器件的引脚、尺寸和功能以及质量,我买的板子质量不行,结果在用熨斗熨的时候出现暴起的现象,只能在重新做一块,而且买的数码管跟实际所画的PCB板尺寸大小不一样,只能另想办法,很影响实验进度,所以在买元器件时一定要做好充分的准备。在做板子的时候因为熨的时候没把握好,结果出现了很多的断点,只能一个一个查,一个一个补,麻烦很大,工作量也很大,而且很容易疏忽,所以将图纸熨到板子上时一定要熨的均匀,把握好时间和力度。打孔时一定要对准,不要太急,慢慢来。插元器件的时候一定要把每个元器件的引脚搞清楚,插之前要用万用表测好每个引脚是该接地还是该接电源,千万

18、不能插反了。焊接的时候要标准不能产生虚焊,也不要遗漏,要均匀,焊锡不能太多也不能太少。到最后就是检查电路的连接了,搞清楚整个电路的连接时怎么样的,当显示器不亮的时候可以采用软件检查法或者硬件检查对板子进行测试,这个过程中一定要细心且要有耐心,不要灰心,相信自己一定能找出原因,只要自己持之以恒肯定能把错误找出来并纠正。在对板子进行测试的时候出现了很多的错误,花了一整个下午的时间来查找电路的错误,首先是电源指示灯不亮,灯座接反了,然后是显示器不亮,最后通过用万用表对电路进行测试以及才用软件的方式对电路的测试,最终让电子钟正常的工作了,二导致的主要原因是熨的时候太多的断点没补好,以及在焊接的时候出现

19、了很多的虚焊,导致某些段控口和位控口的不可用,因为是第一次做板子,所以之前很多该注意的地方都没有注意,最后留下一大堆得问题,使得整个制版的过程耗费很多的精力和时间。从中我学会了很多,包括原理图的绘制,程序的设计,PCB的绘制,还有板子的制作,更重要的是我懂得了,要做好一个东西,准备工作好似必不可少,这样才能减少后面的不必要的麻烦,而且遇到困难和麻烦一点要有耐心和信心去把它攻破。4.5 教学建议王老师的教学方式我挺赞同,你能够让我们把实际和理论结合起来,我觉得这很好,而且对现在的我们来说很重要,大学三年来,学的东西可以说很多,但是我们一直都不知道,手中的这些知识到底有什么作用,而且很多的老师都只

20、顾着讲自己的课程,就像是完成一项别人交给他的任务一样,从不关心学生学的到底是怎么样的,所以我觉得适当的给学生一些将理论联系实际的作业和任务,能够让我们更清楚和明白自己学的东西,也让我们学的不再那么迷茫和无目的了。其次老师和同学的关系我觉得对同学能否学习好这门课程很重要,课堂上老师应该要严肃认真,下课后老师可以多和同学们接触和聊天,培养和同学们的关系,和同学们做朋友,对同学们提出的问题要认真对待,并且对学生提问。还有就是,老师的责任不仅仅是传授知识,更重要的是给我们传授学习经验和方法,培养学生的发散的思考方式,以及多传授点社会经验和教训,教我们不要走不必要的弯路以及在社会上你所必备的生存工具。参

21、考文献1唐俊瞿,许雷,张群瞻.单片机原理与应用.北京:冶金工业出版社,20032李广弟,朱月秀,冷祖祁.单片机基础.北京:北京航空航天大学出版社,20073李光飞.单片机课程设计实例指导.北京:北京航空航天大学出版社,2004.94张洪润,兰清华.单片机应用技术教程.北京:清华大学出版社,1997.115李华.MCS51系列单片机实用接口技术.北京:北京航空航天大学出版社,19936李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,19987赵秀珍,单永磊.单片微型计算机原理及其应用.北京:中国水利水电出版社,2001.8致 谢在这里我要感谢很多很多人,帮助分析和解决问题,这是我第一

22、次做这方面的课程设计,而且最近板子的成功,都是在老师和同学们的悉心指导下才能做出成绩,在开始选题的时候,王老师悉心的指导和讲解,让我渐渐有自己的方案和选择方向,在每一步的进展当中,我都碰到了很多的问题,画原理图的时候分析电子钟工作的原理以及怎么确定和修改,都是在班上同学的指导下,经过一步步修改而成的,设计软件的时候,因为是设计一个系统的程序,所以开始还没形成系统的思维,但在老师的讲解和同学的教导下,渐渐的将一个个子程序联系起来调试运行。最后做板子的时候,感谢同学的帮助和指导,帮忙拿东西到实验室,又帮忙送回去,真的好感谢,还有实验室的同学在我遇到问题和不懂得地方耐心的帮我分析和解决,虽然在每一步都出了很多的问题,但经过那些曾经做过板子的有经验的指导,还是把一个个困难攻破了,所以整个过程都是在老师和同学的帮助下完成的,特此感激他们对我的帮助和支持。16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1