倒计时提醒器设计

上传人:工**** 文档编号:561528299 上传时间:2022-12-21 格式:DOCX 页数:11 大小:217.98KB
返回 下载 相关 举报
倒计时提醒器设计_第1页
第1页 / 共11页
倒计时提醒器设计_第2页
第2页 / 共11页
倒计时提醒器设计_第3页
第3页 / 共11页
倒计时提醒器设计_第4页
第4页 / 共11页
倒计时提醒器设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《倒计时提醒器设计》由会员分享,可在线阅读,更多相关《倒计时提醒器设计(11页珍藏版)》请在金锄头文库上搜索。

1、1 引言单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理 能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O 口和中断系 统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多 路转换器、 A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计 算机系统,在工业控制领域的广泛应用。从上世纪 80 年代,由当时的 4 位、 8 位单片机,发展到现在的32位300M的高速单片机。89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。

2、该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片 中, ATMEL 的 89C51 是一种高效微控制器, 89C2051 是它的一种精简版本。 89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。单片机也被称 作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源 于“Single Chip Microcomputer简称SCM。随着SCM在技术上、体系结构上不 断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。国际上 逐渐采用“MCU”

3、(Micro Controller Unit)来代替,形成了单片机界公认的、最 终统一的名词。为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一 对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。我们所做 的是单片机板子,它在工作原理和结构上基本类似于单片机,是单片机的压缩型, 便于我们需诶和研究。2 方案设计与论证近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入, 同时带动传统控制检测日新月益更新。现在,在许多领域中,定时器得到了广泛 的应用,比如在体育比赛中的计时器;安全措施中的定时报警器;游戏中的倒计 时;维持秩序的交通信号灯;红路灯,交通控制器,闹钟

4、等等。可见倒计时器在 社会中的重要性。当然,设计倒计时器的方法很多,以下是设计方案。设计方案如下:基于 AT89C51 单片机的数码管显示模块显示的倒计时器。主 要是以单片机来控制,用按键来设定倒计时初始时刻的值,数码管作为显示模块 来显示剩余的时间。此电路对于倒计时器中的 LED 数码管示器来说,采用以软件 为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。3 硬件单元电路设计与参数计算LED 数码管倒计时器以 AT89C51 单片机为核心,起着控制作用。系统包括九 位数码管显示电路,按键电路,复位电路,时钟电路以及蜂鸣器电路。倒计时的 总体框图如下图 1 所示:图 1 倒计

5、时的总体框图4 软件设计与流程图本系统中,是利用软件和硬件相互结合,以实现电路功能。软件在系统中起 着举足轻重的作用,利用程序对硬件达到控制作用。因此下面说明软件的实现。4.1 倒计时器主程序流程图程序的的开始时初始化数码管的段选和位选,数码管不显示。程序中用到了 两个定时器,接下来先设定定时器 0 和定时器 1 的工作方式,并且给两个定时器 装初值,定时器0的定时时间是1ms,用作扫描数码管显示,定时器1的定时时 间是10ms,用作定时器时间的递减。然后给定时器设定初值,开启定时器0。最 后进入死循环函数,在循环函数中,对按键进行扫描,如果有键按下,执行按键 函数,并检查是否需要报警。如果没

6、有按键按下,则直接检查是否需要报警。流程图如下图2 所示:图 2 倒计时器主程序流程图4.2 定时器 0的中断程序流程图定时器0的定时时间是1ms,用作扫描数码管显示,在定时器0开启时,定时器 0 开始定时,此时主程序正常运行,当定时器 0 的定时时间到时,主程序不 在执行,开始进入中断程序,在中断程序中,对9 位数码管进行动态扫描。中断 程序执行完后返回主程序。如图 3 所示。图3 定时器0的中断程序流程图5总电路5.1 倒计时器总原理图倒计时原理图由一块AT89SC51单片机器控制作用,单片机的P0到P3分别接的按键电路,即3个微动开关。P3 口与显示电路的数码管的段选相连,起到控制数码管

7、的段选的的作用。2飞口和P2J 口分别对应数码管的2个位选, 起到对 2 个数码管的扫描作用,其中的 2 个三极管起着开关作用,对应数码管的 选通。P0 口接蜂鸣器报警电路。如图5所示。HU1A1DD2)al-2in ni. -JXJ t* U1 ujfBUZ1JETFlb.dP2.HAI5PIJRanFTdziRj.iinjo eh nnr Ed FTTF3JJWP-Ra.nFTTFI .*4 .* FT a.IB EJ1.E E.n.pr图 4 倒计时器总原理图5.2 整体电路仿真图以及仿真结果分析系统仿真用的是 Proteus 软件,可通过仿真显示出所设计系统的功能,对于 程序的调试等有

8、很大的帮助。系统仿真时首先在使用 KeilC 译码器,把所写的程序进行编译,同时在仿 真器里设置生成 HEX 文件,编译无错误进行 Proteus 仿真。等所有的原件都连接 完成后可以把 Keil C 编译生成的无错误文件加载到 AT89C51 中,方法是,右键 点中器件然后再用左键点击,出来一个对话框在 program file 后选择要添加的 文件,文件要求必须是 HEX 文件。然后可以点击运行观察现象,看与自己设置的 是否符合,如果不相符再查找错误进行修改,一般的错误都是程序中的,所以要 认真的读取程序的每一个部分。系统的仿真图如下图 6 所示。HLL!丄TOTU1nJINJl:fl.n

9、P2H.IJ3ra.uuPU.DF3/4AI2R Ji . 9P2_B. R.HAI&ranRxira.ii tmuraj WHTpoaFTTra.rnpoariEJ丽ra.nPFLfl J 3二 I 9u-j,E. 1- 9r-1-c-1.-CT*ZX图 5 倒计时器仿真图启动 Proteus 软件的 play 按钮,出现如上图 5 所示,以上三个开关分别设 定倒计时的加分钟个位数,十位数,开启定时器。当分,秒的值全为0 时,发出 报警声。从仿真图可知,本系统的程序已达到要求。在此电路系统的仿真中,应该注意的问题有数码管的 Minimum Trigger Time 项设定的值要合适,此电路中

10、设定为0.5us。还有就是在程序中数码管的扫描时 间要合适。以保证数码管显示稳定,不闪烁。5.3 软件调试用到了 Keil C 软件,集成调试环境,集成了编辑器、译码器、调试器,支 持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结 构显示,一目了然,支持ASM (汇编)、C语言多模块源程序混合调试,在直接修 改、编译、调试源程序,错误指令定位。功能很强大,用于对程序的调试和编辑。 本系统的程序的编写就是在Keil C软件中完成的,在程序中用到了两个定时器, 为了使倒计时的时间准确,必须计算对定时器的初值,当程序完成之后,生成 HEX 文件。再利用 Proteus 软件进行

11、仿真。经过仿真,程序符合题目的要求。#include #include intrins.h#define uchar unsigned char#define uint unsigned intsbi t si二Pl;sbit s2二P2;sbit s3二P3;sbit FLAG二P0;unsigned int j,k,n,c,b,m,flag;/定义变量unsigned int table=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f ;/数码管显示void delay(uchar i) /延时时间为 8i+i0for(;i0;i-);

12、void baojing() /报警函数for(n=20;n0;n-)FLAG=0;delay(i00);FLAG=i;delay(i00);void main ()/主程序FLAG=0;flag=0;TMOD=OxO1;/定时器0工作在模式1TH0=55536/256;TL0=55536%256;/给定时器0赋初值EA=1;ET0=1;c=0;n=0;m=0;while(1)if(s1=0)n+;if(n=10) n=0;while(!s1) ;if(s2=0)m+;if(m=10) m=0;while(!s2) ;if(s3=0) TR0=1;while(!s3) ;P3=tablen;P

13、2_0=0;delay(255);P2=0XFF; /个位P3=tablem;P2_1=0;delay(255);P2=0XFF; /十位 if(flag=1) baojing();if(m=0&n=0) TR0=0;void timer_0() interrupt 1 /定时器 0 在模式 1 下的中断函数 TH0=55536/256;TL0=55536%256;c+;if(c=100)c=0;b+;if(b=60)b=0;m-;if(m=0)m=9;n-;if(m=0&n=0)m=0;n=0;flag=1;7 结论与心得在设计制作倒计时提醒器的过程中,我深切体会到,实践是理论运用的最好检验

14、。 本次设计是对我三年所学知识的一次综合性检测和考验,无论是动手能力还是理 论知识运用能力都得到了提高,同时加深了我对网络资源认识,大大提高了查阅 资料的能力和效率,使我有充足的时间投入到电路制作当中。本系统的制作主要 应用到了模拟电子技术、数字电子技术、单片机控制技术、电子工艺等多方面的 知识。在硬件调试过程中,我也学会不少的东西,掌握一些调试方法。在设计仿 真图和编些程序中,对 Proteus 和 Keil 等软件掌握的更加牢固,而且所设计的 基于单片机的倒计时提醒器,精确度高,达到了应用要求。参考文献1 余永权.AT89系列单片机应用技术北京:北京航空航天大学出版社,20022 沈红卫. 单片机应用系统设计实例与分析. 北京:北京航空航天大学出版社,20033 吴金戎.8051单片机实践与应用北京:清华大学出版社,20024 胡汉才单片机原理及系统设计北京:清华大学出版社,20025 何希才新型集成电路应用实例M.北京:电子工业出版社,20026 马中梅单片机的汇编语言程序设计北京:北京航空航天大学出版社,20047 公茂法单片机接口实例集北京:西安电子科技大学出版社,20048 51系列单片机设计实例:北京航空航天大学出版社,2003.39 单片机

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号