多功能定时器_第1页
多功能定时器_第2页
多功能定时器_第3页
多功能定时器_第4页
多功能定时器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 i应用科学学院电子系统设计课程设计报告姓名:杨春波学号:5号专业班级:12级嵌入式系统实验班指导教师:朱水金设计题目:基于单片机多功能定时器完成时间:2015年06月27日设计(45%)制作(35%)实训报告(20%)总评简易难度(15%)控制方式(10%)原理图(10%)装配图(10%)器件焊接(5%)软件控制(10%)功能实现(10%)质量评估(10%)格式(5%)内容(15%)基于单片机多功能定时器 指导教师签名:基于单片机多功能定时器 TOC o 1-5 h z第一章引言2 HYPERLINK l bookmark14 1.1选题背景2 HYPERLINK l bookmark16

2、1.2内容摘要2 HYPERLINK l bookmark18 1.3设计任务2 HYPERLINK l bookmark20 1.4性能扌旨标2第二章系统电路设计3 HYPERLINK l bookmark22 2.1系统总体设计框架3 HYPERLINK l bookmark24 2.2系统硬件单元电路设计3 HYPERLINK l bookmark26 2.2.1主控单元4 HYPERLINK l bookmark28 2.2.2时钟电路设计4 HYPERLINK l bookmark36 2.2.3复位电路52.2.4键盘模块5 HYPERLINK l bookmark42 2.2.5

3、显示模块6 HYPERLINK l bookmark44 2.2.6蜂鸣器报警电路7 HYPERLINK l bookmark46 2.3系统原理图及pcb印刷板图7 HYPERLINK l bookmark48 系统硬件原理图7 HYPERLINK l bookmark50 pcb印刷板图9 HYPERLINK l bookmark52 2.3.3模拟图.9 HYPERLINK l bookmark54 2.4实物图11第三章系统软件设计13 HYPERLINK l bookmark56 3.1系统软件流框图13 HYPERLINK l bookmark58 3.2按键扫描流程图和程序14

4、HYPERLINK l bookmark60 3.3按键处理子程序流程图和程序15 HYPERLINK l bookmark62 3.4系统总体软件设计代码16 HYPERLINK l bookmark64 第四章系统整体调试17 HYPERLINK l bookmark66 5.1硬件调试17 HYPERLINK l bookmark68 5.2软件调试17第五章结论185.1总结18 HYPERLINK l bookmark70 5.2系统展望18 HYPERLINK l bookmark72 5.3心得体会18 HYPERLINK l bookmark74 附录一:19第一章引言11选题

5、背景定时器已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站,码头,剧院,办公室等公共场所,给人们的生活,学习,工作,娱乐带来极大的方便。随着技术的发展,人们已不满足于钟表原先的报时功能,希望出现许多新的功能,但这些新的功能都是以定时器为基础的,因此研究定时器及其扩展功能有着非常现实的意义,具有很大的实用价值。本次课程设计中,采用单片机作为主要芯片设计倒计时控制系统,本设计的使用性强,设计灵活方便并且适合在任何条件下进行定时。12内容摘要利用单片定时器及计时器产生定时效果通过编程形成倒计时效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的

6、不同的状态,实现不同的功能。系统上电自检后,实现分钟,秒钟信息的显示,通过按键可实现校对时间,倒计时的设定和显示。当设置的定时时间到时,单片机通过蜂鸣器来实现报警,再利用开关实现止闹的功能。13设计任务设计题目:多功能定时器设计一个适用于需要显示当前时间或倒计时的场所(如演讲比赛等)的多功能电子定时器电路,实现设计要求提出的各项控制功能。1.4性能指标(1)应用单片机和时钟芯片设计电路,功能切换通过按键控制,显示采用LED数码管;(2)实现4位时间显示(“时”2位,“分”2位);(3)实现5分钟的倒计时功能,由按键控制计时开始或停止、重新开始,可以通过按键重新设置计时时间(如改为3分30秒等)

7、;(4)实现秒计时功能,最大显示达到60分钟;第二章系统电路设计21系统总体设计框架本设计主要功能是实现时间的设定,倒计时,报警功能,采用分秒显示,在4位八段LED上显示分和秒。若想设置时间,需复位;用定时器1进行扫描按键,判断是否有键按下,是哪个键按下;定时时间到则蜂鸣器会报警;复位后停止发出警报声音,时间显示为系统初始时间(由软件设定),按下确认健后,系统开始重新倒计时。结构框图如图2-1所示:图2-1系统结构框图22系统硬件单元电路设计2.2.1主控单元主控单元主要有89c52单片机构成,主要利用片内定时器0进行定时,定时器1进行按键扫描,控制各个模块完成倒计时定时功能。具体引脚安排如图

8、2-2.1所示:jr旨CK二Z-mICCT-rjrgrXrikrI*二二1-=-图2-2.12.2.2时钟电路设计时钟电路对单片机是不可缺的,单片机的每个功能都要以时钟电路为基础工作。单片机内部自带一个时钟电路,外部接入定时控制元件即可构成一个稳定的自激振荡器。其中机器周期共有12个振荡脉冲周期,因此,机器周期是时钟周期的12倍。本课题中定时器电路中使用的晶体是12MHz,则时钟周期为(1/12)us,机器周期为1us。如图2-2所示:HI口山图2-2.2时钟电路图2.2.3复位电路复位操作是使单片机进入设定的初始状态。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位

9、信号。复位操作有上电自动复位、按键电平复位和外部脉冲复位三钟方式,本次课设用的是按键电平复位,利用电容的充放电公式来选择所需的电容、电阻,能保证复位信号高电平持续时间大于2个机器周期。电路图如图2-2.3所示:T图2-2.32.2.4键盘的作用计算机控制系统中,数据和控制信号的输入主要使用键盘,键盘接口,尤其是按键输入信号的软件处理方法是影响系统使用和操作的重要因素,键盘接口和软件的任务主要包括一下几个方面:*检测并判断是否有按键按下*按键开关的延时消抖功能*计算并确定按键的键值*程序根据键值进行一系列的处理和执行键盘的选择键盘可以分为独立连接式和矩阵式。,每类按译码方式分为编码式的和非编码式

10、两种,单片机中一般都使用的是软件来识别和产生键代码的非编码式键盘行列式键盘编码方式有静态和动态两种,静态接口主要由一个行编码器和列编码器构成,动态接口可采用计数器,译码器和数据选择器来构成这两种键盘,由硬件完成键的译码任务。一般小的控制系统较多采用非编码独立式较合适,使用矩阵键盘,能减少键盘与单片机接口时说占用的I/O线的数目,综上所述,本实验用的是非编码式键盘。矩阵式键盘基本原理对于这种矩阵式的键盘连接,扫描时依次将行线置为低电平,即在置某根行线为低电平时,其它都线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的

11、按键。注意在按键时一定要调延时子程序来消除抖动。按键电路:如图2-2.4基于单片机多功能定时器基于单片机多功能定时器4*- 4+-40图2-2.42.2.5显示模块本模块的主要功能就是显示倒计时的起始时间,开始倒计时后的时间变化以及显示设定好的时间。基于AT89C52单片机的数码管显示分为了两个大块:分钟显示和秒钟显示。其工作原理由段码线送出待显示字符,然后通过顺序执行依次选中的每一位数码管,同时使显示的字符在每一位停留一会,由于人眼的惰性,可以同时看到4个LED的显示。4个LED由pO口控制,由于是供阴极,所以高电平有效。动态显示设计电路如图2-2.5图2-2.52.2.6蜂鸣器报警电路系统

12、为了提示倒计时完成设计了报警提示电路,电路主要有一个蜂鸣器和一个三极管组成。在倒计时完成时通过控制端口P3.2给三极管送入一个低电平使其导通,实现蜂鸣器报警,当数码管数字显示为0时,蜂鸣器报警。蜂鸣器电路设计电路图如图2-2.6所示图2-2.623系统原理图及印刷板图231系统硬件原理图总电路图由时钟电路、复位电路、蜂鸣器电路、键盘电路、数码管显示电路组成来实现定时功能。其中四个数码管为共阴极的数码管。74HC573为锁存器,这里是增加驱动的功能,使数码管可以正常显示。系统硬件电路图如图2-3.1所示:=sc;miXLSAITJXTPKJ:7I.S!jZf.-SJCijQi:电;X:;K;4j

13、N1:q:刊i;jd;iK1FlT.-11h:1q:3.oX一nunPDU.h.DDPD.1/AD1POJIih.DZpnziH.DaP.4AD+PDADSPD.S.h.DGPH.T/ADTtXTALI3dEhfipmP1.1P12P12P1.+F.STHLiiSER=TEX1NDF.STP1EP1.1P12P12P1.*P1P1j6P1.7b3a3?c*d百口uJtEQ3+TTDPMITASPZ.VABPZAIDPZ3A11P2.4/A12RZSAOPMJSAA*P2.7W1SPirVRXDP3.irrxDPSZiTTraPsa-TmPMmTDP3ST1P.&TiWPl.TiO-21HZZ2

14、z+H3srtz?T1DTT1z13TZISTb17EIIJZ1严图2-3.32.4实物图正面图2-4.1第三章系统软件设计3.1系统软件流框图本系统中,定时器o负责计时,并且以秒为单位,定时器1负责进行定时扫描,所以当进入系统主函数后,系统不停地进行显示和按键处理,定时和按键扫描在中断中进行,这样就提高了系统的实用性。软件流框图如图3-1所示:TIME定时扌:描32按键扫描流程图和程序如图3-2所示:开始延时10ms是否抖动I代码voidK_scan(void)uchari;if(Pl=0 xff)return;for(i=0;i5;i+)if(Pl|(0 xl0i)=0 xff)key二i

15、+1;return;图3-233按键处理子程序流程图和程序如图3-3所示_一判断键值1r根据不同的键值处理不同的代码3开始图3-3结束代码:voidDealKey(void)if(key=0)return;switch(key)case1:key=0;if(rocket2)if(sec=0)sec=0;return;sec;elseif(min=0)min=0;return;min-;return;case2:key=0;if(rocket=0)rocket=0;rocket;return;case3:key=0;TRO=1;TR1=1;return;case4:key=0;TR0=0;/mi

16、n=3;/sec=30;/if(rocket=4)/rocket=4;/rocket+;return;case5:key=0;if(rocket59)sec=59;elsemin+;if(min59)min=59;return;3.4系统总体软件设计代码见附录一第四章系统整体调试5.1硬件调试单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件统调才能发现,但一般是先排除系统中比较明显的硬件故障后才和软件一起统调。常见的硬件故障:逻辑错误硬件的逻辑错误是由于设计错误和焊接过程中的工艺错误而造成的,包括错线、开路、短路等,其中最常见的是短路故障。元器件错误元器件错误的原因有

17、器件损坏或性能不符合要求,电解电容、二极管的极性接反或集成块装反等。可靠性差应用系统可靠性差的原因很多,如内部和外部的干扰、电压纹波系数过大、器件负载过重等均会造成系统的可靠性差。另外,走线和布置的不合理也会造成系统可靠性差。电源故障电源故障包括:电压值不符合设计要求、电源功率不足、负载能力差、纹波太重等。硬件调试方法脱机调试是在加电前,先用万用表等工具,按图纸仔细核对线路是否正确,并对元器件的安装、型号、规格等进行仔细检查,特别焊接时有无走线之间相互短路等。52软件调试程序在KEILC51上调试,采用模块程序设计技术,则逐个模块调好后再进行系统程序总调。对于模块结构程序.要一个个子程序分别调

18、试。调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现系统中存在的硬件设计错误和软件算法错误。各程序模块通过后,则可以把相关功能块连在一起进行总调。这个阶段若有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,若用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。单步和断点调

19、试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问题。当全部调试和修改完成后,将程序固化到STR89C54RD+中。进行整机调试,各功能实现则调试完成。第五章结论51总结本系统的功能主要有这几部分组成,通过定时器0来实现数码管的倒计时,通过单片机P2口都数码管位进行扫描,通过定时器1对按键进行扫描,看按键是否按下,通过p3.2对蜂鸣器控制,本系统有6个按键,一个复位按键,五个控制按键,依次功能是:加暂停移位开始减。开始倒计时后,出复位键其他键都无效,当按下复位键后,实现系统复位,将再次倒计时功能。52系统展望由于本系统的局限性,我觉还有完善的可能,可以在系统中增加一个数字按键盘,通

20、过按键盘对定时器初值设置,还可以增加一个红外线遥控控制,对于定时器来说,我觉得还可以改成双模式,一种是定时,一种是电子表功能,随着人们对定时器功能的智能化越来越高,将来会有更大的发展空间的。53心得体会两周的单片机课程设计终于顺利完成了,其中包含着快乐,也有辛酸。我们选的设计题目是多功能定时器,我都觉得这个题目是比较简单的。其实不然,做了之后,发现设计电路虽然简单,但我们认为它真正困难的地方是程序设计,不过在我的努力下最终完成了。我们刚选该题目时,真的是一头雾水,硬件电路不知如何下手,更何谈解决程序那块,因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少。不过,我也没偷下懒,迅速去

21、查阅和收集资料。我去了图书馆借一些参考书,上网找一些相关资料,并且请教指导老师。通过不断努力,终于把定时器思路和模型定了下来并开始去焊接硬件电路,剩下的去整理和修改程序。通过一番整理和修改后,在电脑上进行仿真,仿真成功后准备焊接电路板。在焊接电路板中,我们首先对硬件电路进行布局,然后确认无误后,在电路板上进行焊接,这个过程我们觉得是做得比较快的,以至于后面出现了虚焊的错误。焊接电路板完工,细心检查后,进行通电测试。结果发现连PCD图时有些线没连,通过加上跳线,最终实现了功能。在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。但通过学习这一

22、次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。附录一:系统软件代码:#include#defineucharunsignedchar#defineuintunsignedintucharmin=1;ucharsec=21;uintk_delay=0;ucharkey;uintmid=0;uchartime5;ucharrocket=0;ucharbuffll=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 xff;sbitbell二P32;voidK_scan(void);voidTime_0Init();voidTimeViewO;voidTime_1Init();voidDealKey(void);voidDelay();voidmain()bell=1;Time_0Init();Time_1Init();while(l)TimeView();DealKey();if(sec=0&min=0)TRO=O;bell=O;voidTime_0Init()TM0D=0 x22;TH0=6

温馨提示

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

评论

0/150

提交评论