毕业设计(论文)基于51单片机的9999秒倒计时器设计_第1页
毕业设计(论文)基于51单片机的9999秒倒计时器设计_第2页
毕业设计(论文)基于51单片机的9999秒倒计时器设计_第3页
毕业设计(论文)基于51单片机的9999秒倒计时器设计_第4页
毕业设计(论文)基于51单片机的9999秒倒计时器设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、课题名称基于51单片机的9999秒倒计时器设计内容及要求1、设计目的:综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。2、技术指标:1)、应用mcs-51单片机设计倒计时器电路。2)、选用4位led数码显示,倒计时间分4档可选,9999-0s,0999-0s,0099-0s,0009-0s3)、硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程4)、软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5)、原理图设计

2、根据所确定的设计电路,利用protel等有关工具软件绘制电路原理图、pcb板图、提供元器件清单。基本工作量要求完成资料及文献的查找、方案的初步设计、pcb板的设计、硬件的设计、软件流程的设计、系统的综合调试、实习报告。进度计划起止时间工作内容第一周第二周第三周第四周第五周第六周第七周第八周熟悉毕业设计方案,查阅相关资料完成方案的初步设计,开题报告电路的仿真和pcb板的设计软件流程的设计和软件的编写完成软件的编写与调试硬件电路的装配与调试电路的软硬件综合调试完成毕业设计参考文献1李朝青.单片机原理及接口技术(简明修订版).北京航空航天大学出版社,19982李广弟.单片机基础.北京航空航天大学出版

3、社,19943阎石.数字电子技术基础(第三版). 北京高等教育出版社,19894 赵晶prote199高级应用m人民邮电出版社,20005 郑步生,吴渭multisim200l电路设计及仿真入门与应用m电子工业出版社,20026 沈美明,温冬婵ibmpc汇编语言程序设计m.清华大学出版社,2001重庆工业职业技术学院毕业设计(论文)系 部: 自动化系 专 业 班 级: 08计控301 课 题 名 称:基于51单片机的9999秒倒计时器设计 指 导 教 师: 学 生 姓 名: 学 号: 二o一 一 年 四月目录一. 绪论6二总体设计方案72.1设计要求7三at89c52单片机介绍73.1单片机结

4、构介绍73.2单片机组成原理9四复位电路工作原理94.1上电自动复位原理10五数码管显示电路125.1 led数码显示器的结构135.2 led数码显示器的分类155.3 led数码显示方式16六时钟电路模块17七程序设计及原理图187.1程序设计187.2原理图237.3 pcb图237.4元件清单24八结束语25九参考文献26摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。在实

5、时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本论文针对倒计时系统的设计的需求,介绍了mcs-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。倒计时系统需要用到锁存器、led数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。对于倒计时器中的led数码显示器来说,采用以软件为主的接口方法,即采用keil uvision3软件程序进行译码。【关键词】倒计时器 单片机 矩阵键盘 keil uvision3 led数码显示器 一总体设

6、计方案 倒计时器以at89c52单片机为核心,起着控制作用。系统包括四位数码管显示电路,按键电路,复位电路,时钟电路。倒计时的总体设计思路分为五个模块:按键电路模块,复位电路,晶振电路模块,at89c52,数码管显示电路模块。2.1设计要求:1)、应用mcs-51单片机设计倒计时器电路。2)、选用4位led数码显示,倒计时间分4档可选,9999-0s,0999-0s,0099-0s,0009-0s3)、硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程4)、软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序

7、,进行调试并打印程序清单;5)、原理图设计根据所确定的设计电路,利用protel等有关工具软件绘制电路原理图、pcb板图、提供元器件清单。二、硬件设计1 80c52单片机80c52 芯片内部集成了 cpu、ram、rom、定时/计数器和i/o口等各功能部件,并由内部总线把这些部件连接在一起。80c52单片机内部包含以下一些功能部件:一个8位cpu;一个片内振荡器和时钟电路;4kb rom(80c51有4kb掩膜rom,87c51有4kb eprom,80c31片内有无rom); 128b内ram; 可寻址64kb的外rom和外ram控制电路; 两个16位定时/计数器; 21个特许功能寄存器;

8、4个8位并行i/o口,共32条可编程i/o端线; 一个可编程全双工串行口;5个中断源,可设置成2个优先级。振荡器及时序 osc8051cpu程序存储器4kb rom数据存储器256b2个16位定时器/计数器64k总线扩展控制器可编程i/o可编程全双工串行口不同型号mcs-51单片机cpu处理能力和指令系统完全兼容,只是存储器和i/o接口的配置有所不同。其中8051主要包括算术/逻辑部件alu、累加器a、只读存储器rom、随机存储器ram、程序计数器pc、定时器/计数器、i/o接口电路等,还有堆栈寄存器sp等部件。这些部件集成在一块芯片上,通过内部总线连接,构成完整的微型计算机。2复位电路复位是

9、单片机的初始化操作,只需给at89c52的复位引脚rst加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位.复位时,pc初始化为0000h,使单片机从out单元开始执行程序。除了进入系统的正常初始化之外,由于程序运行出错或操作错误而使系统处于死锁状态。为摆脱死锁状态,也需按复位键使得rst脚为高电平,使单片机重新启动。在系统中,有时会出现显示不正常。为了调试方便,需要设计一个复位电路。at89c52单片机复位电路共有上电复位、按键电平复位和按键脉冲复位。本系统的复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的rc电路构成,也可使用其它的相对复

10、杂,但功能更完善的电路。本系统采用的电路工作原理是:上电瞬间,rc电路充电,reset引脚端出现正脉冲,只要reset保持10ms以上高电平,就能使单片机有效的复位。当时钟频率选用12mhz时,c取10uf,r取10k,上电自动复位电路由上电瞬间c与r构成充电电路,reset端的电位与电源vcc相同,随着充电电流的减少,reset的电位逐渐下降。rc时间常数越大,上电时reset端保持高电平的时间越长,这组参数足以保证复位操作。若复位电路失效,加电后cpu从一个随机的状态开始工作,系统就不能正常运行。按键s5的功能是按键复位,按下s5键时rst为高电平,只要保持10ms以上的高电平,就可以使单

11、片机复位。按键复位用在系统运行时的复位,使系统重新运行。3上电自动复位电路rst 引脚是复位信号的输入端,只要高电平的复位信号持续两个机器周期以上的有效时间,就可以使单片机上电复位。上电自动复位是通过电容充电实现的,上电瞬间,rst 端电位与vcc 相同,随充电电流的减少,rst 的电位逐渐下降,直到复位信号无效。按键复位在此不在作过多的介绍,其原理和上电复位是相同的。但其采用的是脉冲复位电路和电平复位电路两种。本电路应用定时器0方式1工作方式,该方式是一个16 位计数器的计时中断法。所以工作方式寄存器tmod的m1m0两位为01。设置定时器模式时,加1计数器是对内部机器周期计数(1个机器周期

12、等于12个振荡周期,即计数频率为晶振频率的1/12)。比如,12m的晶振每秒可产生1m的机器周期1,50ms就是50000个机器周期,定时器0工作方式1工作,计数长度为=65536个外部脉冲,65536-50000周期=初值15536,从15536开始计数,总共累加50000次计数器产生一次溢出,所以定时器的高八位和低八位th0和tl0的值为:th0 = (65536-time)/256;tl0 = (65536-time)%256;其中time=50000;其中tl0是低八位当达到256的时候,向高八位进1,然后低八位重新计数,所以高八位对差值求整,低八位对差值求余。由于采用的是定时器0所以

13、tmod的高四位为0000;选通控制只要用软件使tr0就启动了定时器,所以门控位gate为0;表示设置为定时方式。所以工作方式tmod=0000 0001h=0x01h。复位电路:4显示电路显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。通常在显示上采用的方法一般包括两种:一种是静态显示,另一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显示方法

14、。本系统的倒计时时间的最大范围是9999秒,要求精确到秒,显示格式是9999/999/99/9。从格式可知数码管显示电路要用到4位数码管。考虑到数码管的段和位比较多,本系统选了两个4位一体的共阳数码管和一个一位的共阳数码管。数码管有段选和位选控制,在此电路中有8个位选,8个段选,分别用单片机的p0口和p1进行8个位的控制。5.1 led 数码显示器的结构 led 数码显示器是一种有 led 发光二极管组合显示字符的显示器件。它使用了 8 个 led 发光二极管,其中 7 个用于显示字符,剩下的一个用于显示小数点,故通常称之为 7 段发光二极管数码器。在数码管中,若将二极管的阳极连在一起,称为共

15、阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。如图3.7所示。图3.7 (a)为a到g在数码管的编排,(b)分别为共阴极、共阳极电路当发光二极管导通时,它就会发光。每个二极管就是一个笔画,若干个二极管发光时,就构成了一个显示字符。若将单片机的i/o口与数码管的ag及h相连,高电平的位对应的发光二极管亮,即i/o输出不同的代码,就可以控制数码管显示不同的字符。例如:当i/o输出得代码为0011 1111时,数码管显示的字符为0。这样形成的显示字符的代码称为显示代码或者段选码。本次设计的实验板用的共阴led显示器,根据电路连接图16进制数字的显示代码如表3.1所示2。表3.1 16进制数

16、字的显示代码16进制hgfedcba显示代码0001111113fh10000011006h2010110115bh3010011114fh40110011066h5011011016dh6011111017dh70000011107h8011111117fh9011011116fha0111011177hb011111007chc0011100139hd010111105ehe0111100179hf0111000171h.1000000080h5.3 led 数码管显示方式led显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示

17、的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用cpu时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。本次设计采用的是动态显示方式。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 六时钟电路模块时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准有条不紊地

18、一拍一拍地工作的。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统得稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种是外部时钟方式。单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。本系统使用的是内部时钟方式。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在xtal2引脚产生幅度为3v左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。七软件设计 7.1 程

19、序设计#includesbit key1=p32;sbit key2=p33;sbit key3=p34;sbit key4=p35;unsigned char keyv,tempkeyv; sbit p34=p13;sbit p35=p12;sbit p36=p11;sbit p37=p10;sbit jdq=p20;sbit beep=p21;unsigned int js;unsigned int ds;unsigned char jsflag;static unsigned int i;unsigned char code leddis=0xc0,0xf9,0xa4,0xb0,0x99

20、,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;unsigned char code table =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(unsigned int ii)unsigned int jj;for(;ii0;ii-)for(jj=0;jj0;iii-)for(jjj=0;jjj60;jjj+);void main()ea = 1;/允许cpu中断et0 = 1; /定时器0中断打开tmod = 0x1;/设定时器0为

21、模式1,16位模式th0=0xb1;tl0=0xdf;/设定时值为tr0 = 1;ds=0;keyv = 0;tempkeyv = 0;jsflag=0;while(1);void keyanddis_time0(void) interrupt 1 using 2th0=0xb1;tl0=0xdf;/设定时值为if (!key1)keyv = 1;if (!key2)keyv = 2;if (keyv!= 0) /有键按下delay(10); /延时防抖 按下10ms再测if (!key1)tempkeyv = 1;if (!key2)tempkeyv = 2;if (keyv = tempk

22、eyv) if (keyv = 1)jsflag=0;if(ds=0)ds=600; if(key1=1)ds=9999;if(key2=1)ds=999;if(key3=1)ds=99;if(key4=1)ds=9;js=js+1;jdq=0; if(js=45)beep=0;if(js=50)js=0;ds=ds-1;beep=1;if(keyv=2)jsflag=1;if(jsflag=1)jdq=1;if(ds=0)jdq=1;jsflag=1;keyv=0;p0=leddisds/1000;p34=0;delay500(5);p34=1;p0=leddisds/100%10;p35=

23、0;delay500(5);p35=1;p0=leddisds/10%10;p36=0;delay500(5);p36=1;p0=leddisds%10;p37=0;delay500(5);p37=1;7.2 原理图7.3 pcb图7.4 元件清单名称参数和型号数量单片机at89c521块pnp三极管s85504个电阻1k9个4709个10k(8位排阻)1个10k1个数码管1个共阳4位数码管1个瓷片电容30pf2个晶振12m1个杜邦线单若干电解电容10uf1个排针大1排微动开关5个蜂鸣器1个单片机插座40脚1个八结束语用单片机及有关电子元件设计的倒计时器类型很多,也有较多的实用电路参考。但具体电路结构要根据应用范围来进行有针对性的设计。应做到电路实用,结构简单,成本低廉,方便使用,定型稳的标准。应具有较强的可操作性。 本设计方案是对单片机倒计时器的一个起草,若有不成熟的地方

温馨提示

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

评论

0/150

提交评论