定时器的设计论文

上传人:仙*** 文档编号:36040083 上传时间:2021-10-29 格式:DOC 页数:26 大小:3.58MB
返回 下载 相关 举报
定时器的设计论文_第1页
第1页 / 共26页
定时器的设计论文_第2页
第2页 / 共26页
定时器的设计论文_第3页
第3页 / 共26页
点击查看更多>>
资源描述
数字定时器的设计 姓名:李龙飞、王磊、卢韦华 专业:电子与通信工程 指导老师:徐大成 日期:2013.9.25 摘要本次论文是数字定时器的设计。随着时代的进步,电子行业的发展,定时器的应用也越来越广泛。比如,本文设计了一种基于单片机控制的数字定时器,是用LED数码管显示的,以AT89C2051为核心,在LED数码管上显示两段时间。用两个中断按键来设置需要定时是时间,计数开始时,继电器开始工作,定时时间结束,继电器停止工作。该数字定时器方便用户操作,可以自由设置需要的定时时间,来达到控制其他器件的目的。传统的定时器都是使用发条驱动式、电机传动式或电钟式等机械定时器。电子定时器相对机械定时器来说,体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。本篇论文讨论了简单的单片机的定时器的设计,对于倒计时的二位LED数码管来说,为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。关键字:数字定时器 AT89C2051 LED数码管 中断按键 继电器 Abstract This paper is the design of the digital timer. With the progress of era, the development of electronic industry, the application of the timer is becoming more and more widely. For example, this paper designs a digital timer based on single chip microcomputer control, is made of LED digital tube display, AT89C2051 as the core, in the LED digital tube display two period of time. Use two timer interrupt button to set the need time, at the start of the count, relay began to work, as timer time end, relay stop working. The digital timer, easy to use need timing can be set free time, to achieve the goal of control other devices. The traditional timer are using spring motor type, motor drive type or clock type mechanical timer, etc. Relative mechanical timer, electronic timer, small volume, light weight, low cost, high precision, long life, and safe and reliable, convenient adjustment, suitable for frequent use. This paper discussed the design, simple microcontroller timer for the countdown two LED digital tube, in order to simplify the circuit and reduce cost, use is given priority to with software interface method, namely do not use specialized hardware decoder, and using software program to decode.Key words: AT89C2051 LED digital tube digital timer interrupt button relay 1.概述1.1课程设计的目的和意义 在我们平时的生活中,有许多地方可以看到定时的影子,如手表定时、电脑电视定时、工厂车间零件制作定时等等。定时不仅让我们的生活变得时间化和规律化,也从一定程度上提高了生产力,提高了人们的生活水平。基于单片机的定时,轻巧便洁,便于携带和操作。在当今物质文化飞速发展的今天更是必不可少的,所以研究基于单片机的数字定时器具有现实性的意义。 本设计主要设计了一个基于AT89C2051单片机的数字定时器。在LED数码管上显示要定时的时间,并通过多个控制键用来实现对时间初值的调节。应用keil软件实现单片机定时器的程序设计,用Proteus中的ISIS软件实现仿真。该方法仿真效果真实、准确,节省了硬件资源。1.2设计的任务和要求(1)定时时间的设置范围为1-99分,开机上电后的隐含值为10分,采用LED数码管显示,定时时间可任意设置。(2)定时器控制一个交流220V、1A的用电设备,上电时不允许用电设备瞬间通电。(3)定时时间设定后,启动计时,用电设备通电,同时显示器逐分倒计时。其间,分个位数码管的小数点每秒闪亮一次;计时到0分时,切断用电设备电源。(4)计时误差:100分误差10s。 2.系统总体方案和硬件设计2.1数字定时器设计方案论证基于单片机的数字定时器的设计。该设计组要由单片机及其电源电路、时钟电路、复位电路、按键电路、继电器驱动电路和LED显示电路等外围电路组成。系统的模块原理图如下图2-1-1所示: 图2-1-1基于单片机的模块原理图由图可知,此电路系统设计简单,单片机的外围电路设计简单,并且通过软件定时的方式能使电路定时较为精确,可靠性高。单片机的芯片型号选择合理,也能使成本大大减小。2.2系统总体设计数字定时器的总体电路如图2-2-1,由于此设计要求实现功能不多,所需要的I/O口较少,所以控制器采用单片机AT89C2051。AT89C2051具有低电压供电、功耗低和体积小等特点。 图2-2-1系统的总体电路图 系统的仿真图如下: 图2-2-2系统的仿真图2.3系统模块 系统由单片机AT89C2051及其电源电路、时钟电路、复位电路、按键电路、继电器驱动电路和LED显示电路等外围电路组成。2.3.1电源电路 稳压电路可由串联式直流稳压电路、开关稳压电路和三端稳压电路来实现。其中三端稳压器是一种标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。因此采用三端稳压电路来得到单片机所需要的单一+5V电源。 三端稳压电源电路可由LM7805所构成的集成稳压电路来实现。输出电压和最大输出电流由三端稳压器7805决定,如图2-3-1,电源电路将+12V的电压转换成了+5V的电压,最大输出为1A。 图2-3-1电源电路 在上图中,电解电容C4起到电源退藕,低频滤波的作用,用以消除电源中的低频交流干扰。而电容C5用于抵消输入线较长时的电感效应,以防止电路中产生自激振荡,其容量较小,一般小于1uF。电容C6用于消除输出电压中的高频噪声。7805的管脚图和内部电路原理图如下图2-3-2所示: 图2-3-2 7805的管脚图和内部电路原理图2.3.2时钟电路单片机的时钟设计电路有两种方式,一种是内部时钟方式,一种是外部时钟方式。外部时钟方式是使用外部振荡器产生的脉冲信号,常用于多片单片机同时工作,以便于多片单片机之间的同步。而本次设计中只含有一个单片机系统,因此选用内部时钟方式。单片机的内部时钟方式由引脚XTAL1和XTAL2外接石英晶体和微调电容组成的振荡电路所构成,石英晶体起选频作用。如图2-3-3所示: 图2-3-3系统的时钟电路 MCS-51单片机内部由一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为51单片机的引脚XTAL1,输出为XTAL2。如图所示,这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。其中,电容通常取值为30pF左右,振荡器的频率选12MHz的石英晶体。2.3.3复位电路单片机在启动时都需要复位,复位使CPU和内部其他部件处于一个确定的初始状态,从这个状态开始工作。单片机的复位引脚RST,高电平有效。在时钟电路工作以后,当外部电路使得RST端出现两个机器周期以上的高电平,系统内部复位。复位方式有两种:上电复位和按钮复位。复位电路工作原理如图2-3-4所示,VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电压为0,使得单片机进入工作状态。工作期间,按下K,C放电,松开K,C又充电,在10K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。 2-3-4单片机的复位电路2.3.4按键电路由于本次设计要求实现对定时器进行预置定时时间的功能,所以在硬件电路中对单片机的两个I/O口外接两个按键,并通过软件来实现。当外部控制按键K1和K2时,数码管上的预置数相应发生改变。如图2-3-5所示: 图2-3-5按键电路图2.3.5继电器及其驱动电路 为了使继电器能按要求正常工作,驱动电路如图2-3-6所示: 图2-3-6继电器及其驱动电路 在图中,当P3.4为高电平时,经过2K的电阻后,Q1的基极为高电平,Q1饱和导通,此时Q1的集电极为低电平,Q2截止,继电器J不工作;当P3.4为低电平时,Q1截止,+12V的电源电压经过5.1K的电阻后,使得Q2基极的电压大于开启电压,则此时Q2导通,继电器J 开始工作。当Q2截止时,继电器释放磁片,二极管IN4001为了防止继电器此时产生的电流过大而击穿三极管Q2。 3.软件设计3.1系统总体方案设计 本次课程设计采用的是proteus软件仿真,用Keil软件进行编译。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。软件部分由主程序,按键判断子程序,LED数码管显示子程序,倒计时子程序等组成。3.2程序设计3.2.1主程序 主程序的主要功能是调用按键判断子程序,负责预置时间的显示,读出并显示出正在计时的时间,判断T0和T1是否定时到一定时间,并相应对ss_flag1和ss_flag2赋值。其程序流程图如图3-1所示: 图3-1主程序流程图3.2.2按键判断子程序按键判断子程序的功能是用来设置预置时间,当功能键按下一次后,再通过加键便可设置个位数;当功能键按下两次后,再通过加键便可设置十位数。其程序流程图如图3-2所示: 图3-2按键判断子程序3.2.3LED数码管显示子程序 数码管显示子程序如图3-3所示: 图3-3LED数码管显示子程序3.2.4倒计时子程序倒计时子程序用于对用于对预置的时间进行倒计时,进入该程序后,每过1min的时间,数码管上的数值减1。当数码管上的预置数减为0时,继电器开始工作。其程序流程图如图3-4所示: 图3-4倒计时子程序 4实验仿真进入proteus后,连接好电路,并将程序下载进去。手动复位后,系统初始仿真图如图4-1所示: 图4-1复位后仿真电路图 当按下KS键一次时,数码管个位显示开始闪烁,此时再按下KAD键可以对定时时间的个位数进行设置,每按一次KAD键,个位数加一;当再次按下KS键时,数码管十位显示开始闪烁,此时再按下KAD键可以对定时时间的十位数进行设置,每按一次KAD键,十位数加一;当第三次按下KS键后,退出定时时间预置,数码管显示需要定时的时间。如图4-2所示: 图4-2定时时间调试仿真当定时时间减为0后,输出控制继电器位变为低电平,继电器通电,开始工作,如图4-3所示: 图4-3定时后继电器工作仿真图 5电路焊接与调试5.1、电路板元件清单名称编号个数AT89C2051U111805U21二位阴极八位数码管U3112M晶振X11继电器RL11发光二极管L11八位排阻RP11按键开关K、KS、KAD3晶体管S9013Q1、Q22电阻10K R1、R4、R532K R215.1K R31电容30P C1、C2210U C3、C620.1U C4、C525.2、电路焊接检测元器件是否可用,并记录元件的实际值。按设计好的单元图连接好每个单元器件。如图经keil软件仿真后,调试好程序后,产生HEX文件。在protues中按设计好的电路画好电路图,并将HEX文件下载到80C2051中,上电复位后可得结果如图所示:将定时器设置为1min,如图所示: 5、误差分析经测定,我们这组每一分钟与实际一分钟相差0.3s,我们从以下这些方面进行误差分析。1 定时程序中的定时误差,初始化程序中多余指令的执行误差;2人机界面的访问误差(定时时间可能要再执行一些指令才能执行下面的指令);3 CPU的时钟误差,晶振误差 6、结论总结这次所做的定时器的设计,我们只是从设计上刚刚满足老师所提出的要求,要求是定时器范围1-99分,开机上电后的隐含值为10分,采用LED数码管显示,定时时间可以任意设置。定时时间设定后,启动及时,用电设备通电,数码管开始逐分倒计时。在其中,个位小数点每秒闪亮一个来回;计时到0分时,切断用电设备。我们的软件设计是运用top-down的方法,将每个地方模块化、函数化进行设计,最后将软硬件结合,形成所要求的定时器。 课程设计体会通过对这次对数字定时器的设计,让我了解了设计电路的程序,也让我了解了关于数字定时器的原理与设计理念。从这次的课程设计中,让我更加明白了对待设计要本着认真、严谨的态度,把每个细节、原理都弄通透,并且要多分析各种应用电路图并进行比较,这样才能提高电子设计能力。在这次的设计过程中也遇到了许多的障碍和问题,比如调试程序的时候出现许多的错误,但是通过查阅资料和认真的发现错误之后,得到了改正,最后得到了预期的结果。 通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。今后为了提高自己的电子设计能力,要多进行实际动手操作,要充分利用图书、期刊、网络等各种渠道了解新器件、新技术等。参考文献1 康华光,陈大钦,张林.电子技术基础 模拟部分(第五版)M.高等教育出版社.2006.103-1082余发山.单片机原理及应用技术M.中国矿业大学出版社,2003.31-323 51单片机学习网 4 康华光,陈大钦,张林.电子技术基础 数字部分(第五版)M.高等教育出版社.2006.103-1085沈亚钧.基于单片机的数字频率计设计J.山西电子技术,2012,05:14-17.6曾美云.基于单片机数字时钟系统的设计J.科技信息,2011,18:530-532.7朱振华.单片机控制智能定时器J.中小企业管理与科技,2009,12:279-280.8张友德.单片微型机原理、应用与实践M.复旦大学出版社.2006.9陈明荧.8051单片机课程设计M.清华大学出版社.2004.10谢维成,杨加国.单片机原理与应用及C51程序设计(第二版)M.清华大学出版社.2009:127-132. 附件 源程序代码#include#define uint unsigned int#define uchar unsigned charuchar sec,num,tt,min_sw,min_gw,ss,ss_flag1,ss_flag2;sbit ks=P32; /功能键sbit kad=P33; /加键sbit op=P34;/输出控制继电器sbit gw=P30;/数码管十位sbit sw=P31;/数码管个位sbit dd=P17;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; /*延时函数*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=100;y0;y-);/*定时器0中断服务程序*/void time0() interrupt 1 TH0=(65536-5000)/256; TL0=(65536-5000)%256;tt+;/*定时器1中断服务程序*/void time1() interrupt 3 TH1=(65536-50000)/256; TL1=(65536-50000)%256; ss+;/*倒计时子函数*/void countdown() sec+; if(sec=60) sec=0; if(min_gw=0) if(min_sw=0) TR0=0; TR1=0;op=0; else min_sw-; min_gw=9; else min_gw-; /*LED数码管显示子程序*/void display() if(num=0) if(ss_flag2=1) sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); sw=1; gw=1; P1=tablemin_gw; dd=1; gw=0; delay(5); if(ss_flag2=0) sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); sw=1; gw=1; P1=tablemin_gw; gw=0; delay(5); if(num=1) if(ss_flag1=1) sw=1; gw=1; delay(5); sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); if(ss_flag1=0) sw=1; gw=1; P1=tablemin_gw; gw=0; delay(5); sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); if(num=2) if(ss_flag1=1) sw=1; gw=1; delay(5); sw=1; gw=1; P1=tablemin_gw; gw=0; delay(5); if(ss_flag1=0) sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); sw=1; gw=1; P1=tablemin_gw; gw=0; delay(5); if(num=3) if(ss_flag2=1) sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); sw=1; gw=1; P1=tablemin_gw; dd=1; gw=0; delay(5); if(ss_flag2=0) sw=1; gw=1; P1=tablemin_sw; sw=0; delay(5); sw=1; gw=1; P1=tablemin_gw; gw=0; delay(5); /*按键判断子程序*/void keypress()if(ks=0)delay(10);if(ks=0) num+;if(num=3)num=0;TR1=1;if(num=1)TR1=0; if(num=2)TR1=0;if(num=0)TR1=1;while(!ks);delay(10);while(!ks);if(kad=0)delay(10);if(kad=0)if(num=1)min_gw+;if(min_gw=10)min_gw=0;if(num=2)min_sw+;if(min_sw=10)min_sw=0; while(!kad);delay(10);while(!kad);/*初始化*/void init() op=1; sw=1; gw=1; num=0; min_sw=1; min_gw=0; tt=0; ss=0; TMOD=0x11; TH0=(65536-5000)/256; TL0=(65536-5000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET0=1;/开定时器中断 ET1=1; IT0=0;/外部中断低电平有效 IT1=0; TR0=1;/启动定时器 TR1=1; ks=1; kad=1;/*主函数*/void main()init();while(1)if(tt%2=1)keypress();display();if(tt=100)ss_flag1=1;if(tt=200) ss_flag1=0;tt=0;if(ss=10)ss_flag2=1;if(ss=20)ss=0;ss_flag2=0;if(num=0) countdown(); 补充:1系统方案设计 2方案论证 3硬件系统设计(器件选择依据,仿真结果) 4软件设计概要,基本思路,主程序流程图,关键算法,输入输出源代码 5测试数据,误差数值,性能评价,出现误差原因,减小误差措施; 6文献:期刊,论文,报告,网络资源等。;26
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!