单片机原理课程设计数字时钟_第1页
单片机原理课程设计数字时钟_第2页
单片机原理课程设计数字时钟_第3页
单片机原理课程设计数字时钟_第4页
单片机原理课程设计数字时钟_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.2.3.2.4 软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题软件来调试程序,通过各个模块程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论