单片机原理课程设计-数字时钟.doc

上传人:椰子壳 文档编号:5019077 上传时间:2020-01-29 格式:DOC 页数:15 大小:813.50KB
返回 下载 相关 举报
单片机原理课程设计-数字时钟.doc_第1页
第1页 / 共15页
单片机原理课程设计-数字时钟.doc_第2页
第2页 / 共15页
单片机原理课程设计-数字时钟.doc_第3页
第3页 / 共15页
单片机原理课程设计-数字时钟.doc_第4页
第4页 / 共15页
单片机原理课程设计-数字时钟.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《单片机原理课程设计-数字时钟.doc》由会员分享,可在线阅读,更多相关《单片机原理课程设计-数字时钟.doc(15页珍藏版)》请在三一文库上搜索。

1、 课程设计说明书(2011 /2012 学年第 1 学期)课程名称 : 单片机原理课程设计 题 目 : 时 钟 专业班级 : 08级应物一班 姓 名 : 学 号: 指导教师 : 设计周数 : 2周 设计成绩 : 年 月 日 一、 课程设计目的1.1学习单片机的重要性20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面

2、发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.2课程设计的目的(1)巩固和提高学过的基础理论和专业知识; (2)提高运用所学专业知识进行独立思考和综合分析、解决实际问题的能力; (3)培养掌握正确的思维方法和利用软件和硬件解决实际问题的基本技能; (4)增强对实际电路的认识,掌握分析处理方法,进行调试、计算等基本技能的训练,使之具有一定程度的实际工作能力。 (5)掌握科研、

3、资料查询的基本方法以及获取新知识的能力。 (6)促使我们学习和获取新知识,掌握自我学习的能力。 (7)通过参与实际工作,使我们了解社会和工作,具备一定的实际工作能力 (8)通过设计数字电子钟,了解电子钟的工作原理和内部构造。1.3数字时钟的重要性数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动

4、控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。二、数字时钟设计2.1、数字钟的软件设计2.1.1、系统分析系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成

5、各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。2.1.2系统设计这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。开始启动

6、定时器按键检测时间显示图图2-1 主程序流程图2.1.2.1主程序流程图主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。2.1.2.2按键处理流程图按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。 NYNYNY时加1显示时间结束开始秒按键按下?秒加1分按键按下?分加1时按键按下?图2-2 按键处理流程图21.2.3定时器中断流程图N24小时到?分单元清零,时单元加1NNNYY时单元清零时间显示

7、中断返回开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY图2-3 定时器中断流程图定时器中断是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。2.1.2.4 时间显示流程图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。时十位计算显示结束开始秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示图2-4 时间显示流程图2.1.3系统实施

8、(c语言版)2.1.3.1主程序设计main() /主函数TMOD |=0x01; /定时器0 10ms in 12M crystal 用于计时TH0=0xd8;TL0=0xf0;ET0=1;TR0=1; TMOD |=0x10; /定时器1用于动态扫描TH1=0xF8;TL1=0xf0;ET1=1;TR1=1; EA =1; Displaypro();2.1.3.2按键处理程序设计while(1) /主循环 / if(!KEY1) /按键1去抖以及动作 delay(21000); if(!KEY1) hour+;if(hour=qieh)hour=0; /正常时间 小时 加1 Display

9、pro(); / if(!KEY2) /按键去抖以及动作 delay(21000); if(!KEY2) minute+;if(minute=60)minute=0;/分加1 Displaypro(); / if(!KEY3) /按键去抖以及动作 delay(21000); if(!KEY3) minute-;if(minute=-1)minute=59; /分减1 Displaypro(); 2.1.3.3定时器中断程序设计/*/* 定时中断1 */*/void time1_isr(void) interrupt 3 using 0/定时器1用来动态扫描 static unsigned ch

10、ar num; TH1=0xf8;/重入初值TL1=0xf0;switch (num) case 0:P2=0;P0=StrTabnum;break; /分别调用缓冲区的值进行扫描 case 1:P2=1;P0=StrTabnum;break; case 2:P2=2;P0=StrTabnum;break; case 3:P2=3;P0=StrTabnum;break; case 4:P2=4;P0=StrTabnum;break; case 5:P2=5;P0=StrTabnum;break; case 6:P2=6;P0=StrTabnum;break; case 7:P2=7;P0=St

11、rTabnum;break; default:break;num+; /扫描8次,使用8个数码管if(num=8) num=0;2.1.3.4时间显示code unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴数码管 0-9unsigned char StrTab8;/定义缓冲区unsigned char qieh=24,minute=0,hour=0,second; /定义并且初始化值 00:00:00void delay(unsigned int cnt)/延时函数while(-cnt);2.2数

12、字钟的硬件设计2.2.1整体设计方案数字电子钟实际上是一个对标准频率(1HZ)进行计数的计数电路。同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。利用单片机,我们设计的数字时钟的设计方案图如下:图2-5整体方案设计图2.2.2单元电路设计2.2.2.1晶体振荡器电路图2-6晶体振荡器晶体振荡器电路给数字钟提供一个频率稳定准确的32768z的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用门电路构成;另一类是通过非门构成的电路,本次设计采用了后一种。如图

13、(b)所示,由非门与晶体、电容和电阻构成晶体振荡器电路,实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容、与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。2.2.2.2复位设计图2-6复位设计本次设计采用单片机复位控制时钟。当由于某种原因造成时钟不能正常工作时,可通过外加高电压,使内部数据清零。本次设计主要是利用单片机内部中断来实现的,可

14、以使单片机内部中数据清零,从而达到使数码管显示清零的目的。2.2.2.3译码驱动图2-7译码驱动本次设计通过使用74HC138译码电路来控制数码管实现各种功能。通过 74HC138译码电路将由单片机传送来的十进制转换成8进制码,这样使数码管能控制显示数字,产生中断等效果。 2.2.2.4数码管驱动电路图2-8数码管驱动本次设计通过使用集成电路74HC573来控制数码管数字的显示。即将单片机产生数字脉冲翻译成数码管能够识别的脉冲。本次设计采用集成电路主要是因为74HC573的稳定性好,能保证数码管的显示。2.2.2.5中断设计图2-8中断设计本次中断设计的目的是通过控制单片机使控制时间显示,达到

15、时间加一秒、一分、一小时以及减一秒、一分、一小时的目的。设计主要是利用向P3口给低电压达到控制中断的目的,从而使单片机产生控制信号,通过74HC138控制数码管。2.2.3系统调试2.2.3.1模拟仿真调试2.2.3.1.1 PROTUES软件介绍Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列

16、等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。2.2.3.1.2电子钟系统PROTUES仿真用PROTUES软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示。图2-9模拟仿真调试2.2.3.2实物调试单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。2.2.3.2.1 硬盘调试拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测

17、其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。2.2.3.2.2 系统性能测试与功能说明走时:默认为走时状态,按24小时制分别显示“时时-分分-秒秒”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化。走时调整:对秒进行调整,按一下加一秒;对分进行调整,按一下加一分;对时进行调整,按一下加一小时,从而达到快速设定时间的目的。2.2.3.2.3 系统时钟误差分析时间是一个基本物理量,具有连续、自动

18、流逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。S0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S0表示秒单元数值的刷新超前,即走时误差为“快”。本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。2.

19、2.3.2.4 软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。仿真部分采用protus 7.5 professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。首先打开protus 7.5 professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选择wave2000已经编译好的*。asm文

20、件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。2.2.3.2.5实物调试结果下图是本次试验实物调试结果:图2-10实物调试3、课程设计总结或结论我在这一次数字电子钟的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义 我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性。课程设计评 语课程设计成 绩指导教师(签字) 年 月 日

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

当前位置:首页 > 研究报告 > 商业贸易


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