基于单片机9999秒倒计时器设计.doc
《基于单片机9999秒倒计时器设计.doc》由会员分享,可在线阅读,更多相关《基于单片机9999秒倒计时器设计.doc(34页珍藏版)》请在三一办公上搜索。
1、海 南 师 范 大 学本 科 生 毕 业 论 文题目:基于stc单片机9999秒倒计时器的设计姓 名: 学 号: 专 业: 自动化 年 级: 2009级 系 别: 完成日期: 2012年5月 指导教师: 目 录1.引言12.系统方案论证及设计22.1系统方案论证22.2系统方案设计23.系统硬件电路设计43.1单片机最小系统电路设计43.2单片机内部定时器53.3单片机与数码管的连接电路设计63.3.1 LED 数码显示器的结构63.3.2 LED 数码管显示方式83.4按键调整电路设计84.系统软件设计94.1主程序流程图94.2子程序流程图124.2.1键盘扫描程序设计124.2.2 倒计
2、时模块子程序设计135.实物调试165.1 软件仿真165.2 调试175.2.1系统调试工具Keil uVision3175.2.2调试的主要方法186.总结及致谢20参考文献(references):21附录 程序21基于stc单片机9999秒倒计时器的设计作者: 指导教师: (海南师范大学电子系,海口,571158)摘 要: 本论文针对倒计时系统的设计的需求,介绍了stc单片机的部分基本原理,如stc单片机的接口功能、中断、定时器等等。倒计时系统需要用到锁存器、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。对于倒计时器中的LED数码显示器来说,采用以软
3、件为主的接口方法,即采用Keil uVision3软件程序进行译码。关键词:stc单片机;倒计时器;设计Based stc SCM 9999 seconds countdown DesignAuthor: Professor: (Department of Electronics, Hainan normal university,Haikou, 571158)Abstract: This thesis focuses on the needs of the countdown system design introduced stc SCM some of the basic princip
4、les, such as stc SCM interface functions, interrupts, timers, etc. Need to use latches countdown system, LED digital display and other major module, through the interaction between the different modules, complete hardware configuration of the initial countdown. For the countdown in LED digital displ
5、ay, the use of software-based interface method, which uses a software program to decode Keil uVision3.Keywords: stc SCM; Countdown; Design1.引言研究并制造一个倒计时器,利用倒计时可以显示记录时间。可用于很多方面,工业机器的工作时间显示,家用电器的使用时间,体育中跑步成绩等。在研究倒计时器时需要研究怎样产生脉冲及其脉冲周期。一般的倒计时器的脉冲周期都在一秒。计数器的置数,及计数位数。本课题主要解决的问题是怎么使计数器实现任意置数。利用各个芯片的特性实现我们所
6、需要的功能。倒计时器作为一种电子产品在实际运用方面十分广泛,在交通等各个类型需要计时比赛中都有很广泛的运用。2.系统方案论证及设计2.1系统方案论证倒计时器以AT89C52单片机为核心,起着控制作用。系统包括四位数码管显示电路、按键电路、复位电路、时钟电路。倒计时的总体设计思路分为五个模块:按键电路模块、复位电路、晶振电路模块、AT89C52、数码管显示电路模块。秒脉冲发生器控制电路译码显示计数器外部开关555定时器用来产生周期为1秒的脉冲信号,供计数器进行倒计数,以便将计数器输出的数据传送给译码器,译码器再译码驱动七段数码管显示输出,控制电路实现倒计时器的暂停/继续工作,清零复位,置数/工作
7、;如图1-1所示。它包括秒脉冲发生器、计数器、译码显示电路、和控制电路等四个模块组成。其中计数器和控制电路是系统的主要模块。图1-12.2系统方案设计555为一8脚封装的器件,其各引脚的名称和作用如下:1脚GND,接地脚2脚TL,低电平触发端3脚Q,电路的输出端4脚/RD,复位端,低电平有效5脚V_C,电压控制端6脚TH,阈值输入端7脚DIS,放电端8脚VCC,电源电压端,其电压范围为:318V图1-2由上图可看出,当Vo等于低电平时T1处于导通状态,如果将TL端经过一个电阻接到电源正端,而且电阻的阻值足够大,那么TL也一定是低电平。反之,当Q等于高电平时T1截止,TL也是高电平。因此,Q和T
8、L的高低电平是想相同的。元件清单如下:表1 元件清单列表元件型号元件数量总计9cm*15cm万用板1片四位一体共阴数码管1只蜂鸣器1只4.7K电阻1只s8550 三极管1只单片机1片40脚IC座1只101排阻1只12M晶振1只22P电容2只10uF电容1只10K电阻1只按键6只自锁开关1只USB电源线1条导线若干3.系统硬件电路设计3.1单片机最小系统电路设计80C52 芯片内部集成了CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些部件连接在一起。80C52单片机内部包含以下一些功能部件:一个8位CPU;一个片内振荡器和时钟电路;4KB ROM(80C51有4KB
9、掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM); 128B内RAM; 可寻址64KB的外ROM和外RAM控制电路; 两个16位定时/计数器; 21个特许功能寄存器; 4个8位并行I/O口,共32条可编程I/O端线;振荡器及时序 OSC8051CPU程序存储器4KB ROM数据存储器256B2个16位定时器/计数器64K总线扩展控制器可编程I/O可编程全双工串行口 一个可编程全双工串行口;5个中断源,可设置成2个优先级。图3-13.2单片机内部定时器时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准有条不紊地一拍一拍地工作的。因此,时钟频率直接影响单片机的速度
10、,时钟电路的质量也直接影响单片机系统得稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种是外部时钟方式。单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。图 3-2本系统使用的是内部时钟方式。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。3.3单片机与数码管的连接电路设计通常在显示上采用的方法一般包括
11、两种:一种是静态显示,另一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显示方法。本系统的倒计时时间的最大范围是9999秒,要求精确到秒,显示格式是9999/999/99/9。从格式可知数码管显示电路要用到4位数码管。考虑到数码管的段和位比较多,本系统选了两个4位一体的共阳数码管和一个一位的共阳数码管。数码管有段选和位选控制,在此电路中有8个位选,8个段选,分别用单片机的P0口和P1进行8个位的控制。3
12、.3.1 LED 数码显示器的结构 LED数码显示器是一种有LED发光二极管组合显示字符的显示器件。它使用了 8 个 LED 发光二极管,其中 7 个用于显示字符,剩下的一个用于显示小数点,故通常称之为 7 段发光二极管数码器。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。如图3-3所示。图3-3 (a)为a到g在数码管的编排,(b)分别为共阴极、共阳极电路当发光二极管导通时,它就会发光。每个二极管就是一个笔画,若干个二极管发光时,就构成了一个显示字符。若将单片机的I/O口与数码管的ag及h相连,高电平的位对应的发光二极管亮,即I/O输出不
13、同的代码,就可以控制数码管显示不同的字符。例如:当I/O输出得代码为0011 1111时,数码管显示的字符为0。这样形成的显示字符的代码称为显示代码或者段选码。本次设计的实验板用的共阴LED显示器,根据电路连接图16进制数字的显示代码如表3.1所示2。表3.1 16进制数字的显示代码16进制hgfedcba显示代码0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007
14、CHC0011100139HD010111105EHE0111100179HF0111000171H.1000000080H图 3-43.3.2 LED 数码管显示方式LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。本次设计采用的是动态显示方式。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显
15、示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 3.4按键调整电路设计复位是单片机的初始化操作,只需给AT89C52的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位.复位时,PC初始化为0000H,使单片机从OUT单元开始执行程序。除了进入系统的正常初始化之外,由于程序运行出错或操作错误而使系统处于死锁状态。为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。图 3-5在系统中,有时会出现显示
16、不正常。为了调试方便,需要设计一个复位电路。AT89C52单片机复位电路共有上电复位、按键电平复位和按键脉冲复位。本系统的复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可使用其它的相对复杂,但功能更完善的电路。本系统采用的电路工作原理是:上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。当时钟频率选用12MHz时,C取10uF,R取10K,上电自动复位电路由上电瞬间C与R构成充电电路,RESET端的电位与电源Vcc相同,随着充电电流的减少,RESET的电位逐渐下降。RC时间常数越
17、大,上电时RESET端保持高电平的时间越长,这组参数足以保证复位操作。若复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运行。按键S5的功能是按键复位,按下S5键时RST为高电平,只要保持10ms以上的高电平,就可以使单片机复位。按键复位用在系统运行时的复位,使系统重新运行。4.系统软件设计4.1主程序流程图倒计时器的设计时可采用模块化程序设计的方法,模块化程序设计时应注意以下事项:首先,每个模块应具有独立的功能,能产生一个明确的结果;其次,模块之间的控制参数应尽量简单,数据参数应该尽量少。控制参数是指模块进入和退出的条件和方式,数据参数是指模块间的信息交换方式、交换量的多少
18、及交换的频繁程度。最后,模块长度适中。模块语句长度通常在 20100 条适合。如果模块太长时,分析和调试比较困难,失去了模块化程序的功能性;如果模块太短则信息交换太频繁,也不合适。由以上原则,本次设计的倒计时软件系统如下图4-1所示:图 4-1 倒计时软件设计框图由上述硬件电路分析可知,本次设计采用的是定时器 0、工作方式 1,MAXTIME 为 9999秒的倒计时计数器。其中最重要的就是主程序的设计,因为无论多少个子程序模块,如果主程序没有能够合理正确的调用子程序的话,那么子程序就如同虚设。主程序的设计分为:主程序的初始化内容。所谓初始化,就是对用到的单片机内部部件或者扩展芯片进行工作状态设
19、定,本设计调用了一个初始化的子程序 init()。引入键盘扫描程序,对按键 key 进行判断,判断哪个按键被按下,本系统设计调用的键盘扫描程序是 keyscan()。然后对返回值进行判断:若 key=0x18,则表示按下的键是 KC(设置初值键)。然后关定时器 0,等待初值并与最大值相比进行判断,引入初值设置子程序 set-func()。若 key=0x88,则表示按下的键是 KF,开始计数。调用显示子程序 display()对以上操作和后面的倒计时进行显示。display()对倒计时在数码管上显示出来,引入中断子程序,根据中断子程序和主程序的语句开始进行倒计时。最后,根据主程序语句判断倒计时
20、是否自减到 0,并进行相应的操作。主程序流程图如图4-2所示。图 4-2 主程序流程图4.2子程序流程图4.2.1键盘扫描程序设计矩阵键盘的扫描程序 keyscan()设计:if(P0&0x0f)!=0x0f) /判断是否有有键按下delay(1);if(P0&0x0f)!=0x0f) /再次判断列中是否是干扰信号,不是则向下执行sccode = 0xfe; /逐行扫描初值(即先扫描第 1 行)while(sccode&0x10)!=0) /行扫描完成时(即 4行已经全部扫描完成)sccode为 1110 1111 停止 while首先,根据列判断是否有键按下,没有返回则为 0。若有值返回,则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 9999 计时器 设计
链接地址:https://www.31ppt.com/p-4148416.html