倒计时器设计(单片机课程设计报告)._第1页
倒计时器设计(单片机课程设计报告)._第2页
倒计时器设计(单片机课程设计报告)._第3页
倒计时器设计(单片机课程设计报告)._第4页
倒计时器设计(单片机课程设计报告)._第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、xxxxxxxxxxx 学校课程设计报告课程名称:单片机原理及应用课程设计设计题目:倒计时器系 别:通信与控制工程系专 业:电子信息工程班级:10级电信2班学生姓名:张帆杜斌学号: 10409203、10409221起止日期:2012年12月24日 2013年1月6日指导教师:教研室主任:指导教师评语:指导教师签名:年月日成 绩 评 止项目权重成绩张帆杜斌1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总成绩教研室审核意见:教研室主任签字:年月日教学系审核意见:主任签字:年月日本系统采用STC89C52乍为主才空芯片,设计一款的倒计时器,

2、该倒计时器能在 数码管显示倒计时的时间,时间可由按键进行设定,4位数码管做显示,能够实现5种倒计时模式,通过控制按键进行选择 9999s-0s、999s-0s、99s-0s、9s-0s、 开始值由人工输入-0s的特点。首先检测按键,当相应的按键按下时,进入相应 的倒计时方式。工作方式五为可调初值的倒计时方式,初值也是通过独立按键来 设定。定时中断二十次后即一秒后,初值自动减一。当初值减到零后,计时停止。 关键词:STC89C52;数码管显示;独立按键;振荡电路设计要求11方案论证与对比11.1 方案一11.2 方案二11.3 方案对比与选择12单元电路设计与计算22.1 STC89C52 简介

3、22.2 时钟振荡电路的设计32.3 复位电路的设计 32.4 数码管显示电路的设计42.5 独立按键电路的设计 53系统软件设计63.1 倒计时主程序流程 63.2 定时器工作流程74系统功能测试与整体指标85详细仪器清单96总结与思考及致谢 10参考文献10附录一:倒计时器 DXP原理图 1.1附录二:倒计时器电路 PCB板图12附录三:实物图13附录四:程序1417倒计时器设计任务与要求本项目是由单片机执行设定的程序, 在数码管显示倒计时的时间,且能由单 片机接受矩阵键盘设定的时间。由4位数码管做显示,能够实现5种倒计时模式, 通过控制按键进行选择 9999s-0s 999s-0s、99

4、s-03 9s-0s、开始值由人工输入-0s。1方案论证与对比现在,在许多领域中,定时器得到了广泛的应用,比如在体育比赛中的计时 器;游戏中的倒计时;红绿灯,交通控制器,闹钟等等。可见倒计时器在社会中 的重要性。当然,设计倒计时器的方法很多,以下是两个设计方案。1.1 方案一基于STC89S52I片机的LCD液晶显示模块1602显示的倒计时器。主要是以 单片机来控制,用按键来设定倒计时初始时刻的值,用按键来进行倒计时初值的 选择,LCD1602夜晶作为显示模块来显示倒计时间。1.2 方案二基于STC89S52单片机的数码管显示模块显示的倒计时器。主要是以单片机 来控制,用按键来设定倒计时初始时

5、刻的值,按键来进行倒计时初值的选择。 采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译 码。1.3 方案对比与选择比较两个方案,我们发现,方案二总体比方案一好。首先方案一虽然硬件电 路简单,但造价较高,且在编写程序实现所要求的功能时较难,而方案二所用的显示模块是比较熟悉的数码管,编写程序是相对容易,且电路造价不高,因此, 综合考虑之后决定采用方案二。2单元电路设计LED数码管倒计时器以STC89C5常片机为核心,起着控制作用,系统包括四 位数码管显示电路,按键电路,复位电路,时钟振荡电路。倒计时的总体框图如 下图1所示:图1倒计时的总体框图2.1 STC89C52 简介

6、STC89C521一种低功耗、高性能 CMOS前微控制器,具有8K在系统可编 程Flash存储器。在单芯片上,拥有灵巧的 8位CPU和在系统可编程Flash, 使得STC89C5次众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具 有以下标准功能:8k字节Flash, 512字节RAM 32位I/O 口线,看门狗定 时器,内置4KB EEPROMMAX813位电路,2个16位 定时器/计数器,一个6 向量2级中断结构,全双工用行口。另外 STC89X52可降至0Hz静态逻辑操作, 支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM定时器 /计数器、串口、中断继续工作。掉电保

7、护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz 6T/12T 可选。UIP1.1.T2EX Pl.2 Pl.3 P1.4.TNT2 J Pl 屏 TNH3 Pl."lNT*P3.C.RXDG P3.1 TXDC Pa.XWTG P3.3.1NT1 P3.4F) P3,5-Tl P3.A-Q- P3.7.-RI>ftST AL£ PSEN 铳vccPO.O-ADO P0.1 ADI M.1AD2 P0.3.AD3 M.4.AD4 PO.5.AD5 PO.iS.AI> PD.7.&

8、#39;ADP1.0.-A&P2.1.A&P2.2A1©P2.3A11 P2.4/A12 M.5.A13 P2.t5 AHXL X23TCB9C52CPU图2 STC89C52引脚图2.2 时钟振荡电路的设计单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路, 只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。本系统使用的是内部时钟方式。时钟电路如下图2所示。一 般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,具振荡频率主要由石英晶振的频率 确定。电

9、路中两个电容 C1、C2的作用有两个:一是帮助振荡器起振;二是对振 荡器的频率进行微调。本系统的 C1、C2的值为30pf。< XTAL图3时钟振荡电路2.3 复位电路的设计在上电或复位过程中,控制 CPU勺复位状态:这段时间内让 CPU呆持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单 片机复位电路的设计。而单片机复位电路设计的好坏 ,直接影响到整个系统工作 的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现 了 “死机”、“程序走飞”等现象,这主要是单片机的复

10、位电路设计不可靠引起的。 基本的复位方式基本的复位方式基本的复位方式基本的复位方式单片机在启动时都需要复位,以使CPUS系统各部件处于确定的初始状态,并从初态开始工作。 89系列单片机的复位信号是从 RST引脚输入到芯片内的施密特触发器中的。当 系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维 持2个机器周期(24个振荡周期)以上,则CPUB可以响应并将系统复位。单片 机系统的复位方式有:手动按钮复位和上电复位。此系统我们选用了手动按钮复 位,手动按钮复位需要人为在复位输入端 RST上加入高电平(图1)。一般采用 的办法是在RST端和正电源Vcc之间接一个按钮。当人为按

11、下按钮时,则 Vcc 的+5V电平就会直接加到RS础。手动按钮复位的电路如所示。由于人的动作再 快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。°;1-JIt他复位电路侬VCC-7-图4复位电路2.4 数码管显示电路的设计led数码管(LED Segment Displays )是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于 3 位“+1”型。位数有半位,1, 2, 3, 4, 5, 6, 8, 10位等等.,led数码管根据LED的接法不同

12、分为共阴和共阳两类,了解LED的这些特性,对编程是很重 要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不 同的。共阴和共阳极数码管的内部电路, 它们的发光原理是一样的,只是它们的 电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。在这里我们使用的是8段数码管显示(包含小数点),通常在显示上我们采用的 方法一般包括两种:一种是静态显示,另一种是动态显示。其中静态显示的特点 是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好, 程序编写

13、复杂,但是相对静态显示而言占用 端口资源少。在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显 示方法。本系统的倒计时时间的最大范围是 9999S,要显示出最大范围的值,从而可知数码管显示电路要用到4位数码管YCt"1艮fYOC产一,R5Vb 存一I,匚YQC臀一t班匕vcc聒 Q显不电路图5 数码管显示电路原理图2.5 独立按键电路设计通过5个独立按键控制不同的5种工作方式。因为第五种工作方式为可调的倒计时模式,所以另外加了四个调初始值的按键,一个计时开始/停止键。图6独立按键电路图3系统软件设计3.1 倒时计器主程序流程图程序的的开始时先设定定时器0,先给定时,器装初值。

14、检测按键是否按下, 如果有按键按下,进入相应的倒计时方式。定时器 0的定时时间是50ms,每当进 入定时中断一次变量aa自动加一,当aa等于20时即为计时一秒,此时计时器 清零,重新赋初值,并且之前设定的倒计时初值num值自动减一,同时进行相关 的显示。图7主程序流程图3.2 定时器0的中断程序流程定时器0的定时时间是50ms用作扫描数码管显示,在定时器0开启时,定 时器0开始定时,此时主程序正常运行,当定时器0的定时时间到时,主程序不 在执行,开始进入中断程序,在中断程序中,若计时了1s就对时间进行处理且计数标志清零,赋值给相应的变量且减 1,若没有则计数标志就进行加1,若倒 计时的时间为零

15、则重新赋值,中断程序执行完后返回主程序。如图 8所示。图8定时器0的中断程序流程图4系统功能测试硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。1、 脱机检查:用万用表逐步按照电路原理图检查印制电路中所有器件的各引脚,尤其是电源的连接是否正确:检查数据总线、地址总线和控制总线是否有短路等故 障,顺序是否正确;检查各开关按键是否能正常开关,是否连接正常;各限流电 阻是否短路等内容。为了保护芯片,应先对各 IC电位进行检查,确定其无误后 再插入芯片检查。2、联机调试:暂时拔掉89C52芯片,将仿真器的40仿真插入 89C52的芯片插座进行调试,检验键盘/显示接口电路是否满足要求设计

16、。可以 通过一些简单的测软件来查看接口工作是否正常。 例如,我们可以设计一个软件, 使89C52的P1、P2 口输出55H或AAH ,同时读P3 口,运行后用万用表检查相 应端口电平是否一高一低,在仿真器中检查读入的P3 口 8位是否为1,如果正常则说明89C52正常工作。还可以设计一个使所有 LED全显示“ 8.”的静态显 示程序来检验LED的好坏。如果运行测试结果与预期不符,很容易根据故障现 象判断故障原因并采取针对性措施排除故障。开始时,数码管的亮度不够理想。 经检查知,是段选电阻(接 P0 口的限流电阻)太大。最后,换成 470欧的电阻 后,数码管显示正常。软件调试的任务是利用开发工具

17、进行在线仿真调试,发现和纠正程序错误, 同时也能发现硬件故障。程序的调试应一个模块一个模块地进行, 首先单独调试 各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等. 最后逐步将各子程序连接起来进行联调。本系统的程序的编写就是在Keil C软件中用C语言完成的。在程序中用到了一个定时器,为了使倒计时的时间准确, 必须计算对定时器的初值,当程序完成之后,生成 HEX文件。再利用Proteus 软件进行仿真。经过仿真和实际测试,在实际使用时完全没有闪烁。在程序中,定时器50ms 中断一次,变量aa自增,中断20次时,秒的显示自减,误差很小大约为 0.1%。 电路中的五个按键可以

18、分别用来设定倒计时的计数范围,系统由5V电源来驱动。经过测试与分析,此系统稳定可用,满足设计要求。5详细仪器清单表格1仪器清单仪器名称数量STC89C521独立按键10USB 接口1开关2四位共阴极数码管1晶振12M11K电阻8200R电阻830PF电容28.2K电阻1470R电阻122UF电容16总结与致谢在设计倒计时器课程设计的过程中,我深切体会到,实践是理论运用的最 好检验。本次设计是对我这一学期所学知识的一次综合性检测和考验,无论是动手能力还是理论知识运用能力都得到了提高,同时加深了我对网络资源认识,大大提高了查阅资料的能力和效率,使我有能有更多的时间去设计软件部分。 本系 统要求我们

19、要有丰富的编程经验,还要能会看单片机开发板原理图,能熟悉那些 I/O 口的作用,且能够准确的运用数电等多方面的知识。在软件调试过程中,我 学会不少的东西,掌握一些调试软件的方法。在设计仿真图和设计电路图中,对 Proteus、Keil和Protel等软件掌握的更加牢固,而且所设计的基于单片机的 倒计时器,精确度高,达到了应用要求这次课程设计使我掌握了很多实践知识, 在老师和同学的帮助下对单片机有了进一步的了解。这次课程设计对我来说有着 深远的意义,让我对未来的路又看得清楚了些。 在此我要深深的感谢那些传授我 知识的老师们,是你们无私的奉献,才会有如今掌握一定知识的我们。参考文献1朱定华,戴汝平

20、.单片微机原理与应用M北京:清华大学出版社,20032楼然苗,李光飞.单片机课程设计指导M.北京航空航天大学出版社,20073张鑫,单片机原理及应用(2版)M.电子工业出版社,20104谭浩强著.C程序设计(第二版)M.清华大学出版社,1999附录一:倒计时器 DXP原理图附录二:倒计时器电路 PCB板图K附录三:实物图附录四:程序#include <reg52.h>/* 设计者:杜斌、张帆 */#define uchar unsigned char#define uint unsigned intcharchar temp14; chartemp23; char temp32;t

21、emp41;char temp54,a;char code duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;sbitsbitkey1=P2八0; sbit key2=P2A1; sbitkey3=P2八2;key4=P2八3;sbit key5=P3A6;sbit start5=P3A5; sbit JIAQIAN=P2A4; sbit JIABAI=P2A5; sbitJIASHI=P2A6; sbit JIAGE=P2A7;uint num1=9999,num2=99

22、9,num3=99,num4=9,num5=0,t,i;void delay(uint t);void main()P1=0xf0;P0=0x3f;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1)if(key1=0)delay(10);if(key1=0)key1=0;for(i=0;i<4;i+)switch(i)case 0:P1=0xfe;break;case 1:P1=0xfd;break;case 2:P1=0xfb;break;case 3:P1=0xf7;break

23、;P0=temp1i;delay(6);if(key2=0)delay(10);if(key2=0)key2=0;for(i=0;i<3;i+)switch(i)case 0:P1=0xfe;break;case 1:P1=0xfd;break;case 2:P1=0xfb;break;P0=temp2i;delay(6);if(key3=0)delay(10);if(key3=0)key3=0;if (key3=0)for(i=0;i<2;i+)switch(i)case 0:P1=0xfe;break;case 1:P1=0xfd;break;P0=temp3i;delay(6

24、);if(key4=0)delay(10);if(key4=0)key4=0;P1=0xfe;for(i=0;i<1;i+)P0=temp4i;delay(6);if(key5=0)delay(10);if(key5=0)key5=0;if(JIAQIAN=0)delay(10);if(JIAQIAN=0)21num5=0;if(num5>10000)num5=0;while(!JIAQIAN);delay(20);while(!JIAQIAN);if(JIABAI=0)delay(10);if(JIABAI=0)num5=num5+100;if(num5>10000)num5=0;while(!JIABAI);delay(20);while(!JIABAI);if(JIASHI=0) delay(10);if(JIASHI=0)num5=num5+10;if(num5>10000)num5=0;while(!JIASHI);delay(20);while(!JIASHI);if(JIAGE=0)delay(0);num5=num5+1;if(num5>1000

温馨提示

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

评论

0/150

提交评论