基于单片机的电子定时器的设计_第1页
基于单片机的电子定时器的设计_第2页
基于单片机的电子定时器的设计_第3页
基于单片机的电子定时器的设计_第4页
基于单片机的电子定时器的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的电子定时器的设计目录1引言 11.1定时器的设计背景及目的 21.2定时器的应用 22设计的总体方案 32.1设计的基本要求与目的 32.2设计思路 42.3定时器的工作原理 42.4定时器的功能说明 53系统的硬件设计 53.1主要元器件介绍 53.2按键电路 63.3显示电路 63.4晶振电路 63.5复位电路 73.6声音提示电路 73.7串口下载电路 83.8红外测温电路 83.9STC89C51单片机与排阻的连接电路 94系统的软件设计 104.1程序设计思路 104.2程序流程框图 105系统的制作与调试 145.1系统的制作 145.2系统的调试 175.3系统的功能 186结论 18参考文献 18致谢 19摘要:本文以单片机为基础设计了一款电子定时器。首先分析了单片机内部当中的定时器的原理,再利用STC89C51作为核心的外围撑持的器件,LCD显示屏的显示模块以及驱动模块、蜂鸣器模块、按键模块与传感器等多个模块组合设计而成,使用C语言编写程序,在KEIL中调试操作和编写改错等等。利用PROTEUS模拟仿真,最后实现了基于单片机的定时器的定时功能。关键词:单片机;定时器;传感器1引言电子定时器在现代电子学中占有重要的地位,是一种通过技术来自动控制电器在规定时间内启动、停止或变换工作状态的设备,是钟表等时间计量器所代替不了的[1]。对于科研人员来说对时间的把控很严格,准确的计时开始和结束对研究成果影响很大,可谓差之毫厘失之千里,此时一款电子定时器就可以完美解决这个问题。其还广泛应用于工业自动化,主要包含固定时间定时器、时间可变定时器、倒计时定时器等,计时时间结束时会发出声音、光提示或者显示相应画面,甚至驱动负载的动作。我们生活用品中最常用的应用就是闹钟,当然还有空调、台灯等定时开关。1.1定时器的设计背景及目的电子技术和计算机技术发展迅速,因为单片机又小又轻、价格低、功耗低但控制功能强运算速度率高,广泛应用于各种领域,,随着时代的发展定时器的应用日益广泛,延时自动开关、定时、报警功能也经常被工业上的电子定时器所使用。性能优异的单片机正式问世于1976年,即英特尔公司开发的MCS-48系列8位单片机,用于自动控制安全系统和其他可编程逻辑控制[2]。本设计旨在制作出一款基于单片机控制的电子定时器,软硬件相结合,编写易于维护、可扩展的程序代码,其中包括中断模块、晶振模块等设计,同时采用简单且流畅的C语言编写实现。本设计从最基本的功能出发,在基础功能上新增的传感器让普通的定时器多了几分趣味性,在计时结束的同时也不会觉得烦闷,既安全又经济,相信很多人会喜欢。1.2定时器的应用人们最早使用的定时工具是沙漏和水漏,以及同期使用的日晷等,而后随着钟表这一新鲜事物的产生,人们逐渐追求时间的精确性。由于电子技术的广泛用途,能够提高人们的工作效率,丰富人们业余生活,实现对时间清晰认知,人们开始研究电子定时技术。在信息技术日益广泛的今天,新产出的电子产品想生存发展于竞争之中,必须采取各种有效方法来提高功能结构和简化使用方法来提高其核心竞争力。电子定时器工作主要基于振荡器、计数器、比较器和控制电路等。常用的STC89C51单片机定时器的初始化编程包括确定工作方式和初值并决定是否开放中断。基于单片机的电子定时器具有体积小、实用性高等优点,近几年,使用率有所增加。单片机不断产生新的变化,并随着半导体技术的发展和系统设计水平的提高而不断进步。最终人们可能会发现,单片机与微机系统之间的界限可能越来越模糊,甚至出现界限不清的现象[3]。电子技术的广泛用途,能够提高人们的工作效率,丰富人们业余生活,扩大人对信息的获取途径。目前市场上应用最多的电子定时器类型555电子定时器,也有以单片机为基础的通过内部集成电路,利用内部自带的计时器T0来实现定时功能的电子计时器,通过共阴数码管或共阳数码管或LCD屏幕来显示时间[4]。19世纪80年代,一位名叫索加的外科医生研究制造出一种用于控制煤气街灯的开关,并在定时装置上获得了专利。它采用机械时钟驱动开关,通过发条对阀门进行控制。但电钟计时在上个世纪的早期就已经初露端倪。明显减少了发条的使用。大约在上世纪中期,出现了利用原子吸收或释放能量时发出的电磁波来计时的原子钟,这是目前最精确的计时工具[5]。而后十几年汉斯·卡门辛德,设计了第一个555定时器IC,同年夏天,一个使用恒定电流源和9个引脚的设计被审查,评审通过后,为了减少引脚的数量,原先设计中的恒定电流源被直阻替代,一下子使封装的引脚数量由14减少为8。上世纪末,一种简易的、可控制点焊机点焊时间的电子定时器问世,提高了点焊质量,操作起来也非常简便,而且还可以用来控制相片曝光时间和在相片方面的应用[6]。截止目前为止,国外的电子定时器行业领头羊是美国和日本,两国都是具有很强的技术实力和丰富经验的科技强国。在欧洲和其他一些亚洲国家也有一些知名的电子定时器厂商,其产品在市场上有很强的竞争力,电子定时器制造商在技术和性能方面也不断进行创新和完善,旨在生产更加吸引人的产品。近年来,随着我国国力的不断提升,电子定时器的需求量与日俱增,国内电子定时器厂商层出不穷,技术也更新迭代,市场竞争更是日渐激烈,电子定时器功能更为全面,运作更加稳定,性能更加优异。目前,中国在电子定时器制造领域取得了许多进展和重要的研发成果,国产品牌也深受国内外消费者的喜爱。2设计的总体方案2.1设计的基本要求与目的基于单片机的电子定时器不仅在设计上比较简单,主要基于代码的编写,后续也可以根据用户需求编写代码,将其烧入单片机更新设计要求;电路还比较清晰可见,体积小且功能完善。定时器的供电电路尤为重要,电源内阻应在实际电流较大时尽可能减小,才使电流流通。焊接时,应尽量使线路横平竖直,以便对故障进行观察和检查,为了保证电源线的宽度足够,电路通常会选择星型供电方式。此外,电子设备容易受外界影响,因此在接地设计中,应尽量增大与地相连的面积,以有效减少外界干扰[7]。电子定时器是一种能够根据预设时间进行计时的自动化电子设备,定时间隔一秒钟,最大定时时长23小时59分59秒。一些早期常用的时间控制单元是由模拟电路设计和制作的,定时精度不是很理想。选择单片机作为定时器控制单元,是因其简单可靠、成本低廉[8]。通过按键控制定时的开始、结束还有时间长短,复位按键可对整个电路进行清零,计时结束后蜂鸣器开始工作,发出警报报警提醒人们,与此同时传感器的工作也开始了,在没有感知到人体温度时无法关闭蜂鸣器。倘若定时过程中对时间的设计有误,可直接通过复位按钮重新定时或逐位修改时间。2.2设计思路在过去,传统产品主要依靠模拟技术支持,功能简单且常见,但现在这类产品已经不再普遍。相比之下,现代化数字技术产品得到了广泛应用,因为它们具有强大的功能。近几年单片机产品的普及促进了新产品的广泛应用,使控制系统得到了极大的简化,起到了系统整合的关键性作用。单片机产品除了具有强大的功能外,还具有很好地满足器件需求的轻便性、便携性和体积小等优点,再配上适配的芯片接口,能够实现各种微电子化产品的开发[9]。选择STC89C51单片机,LCD1602,复位电路,晶振电路,电源,串口,下载接口和蜂鸣器,电容电阻等作为定时器的主要器件。复位电路阻容值的根据电容电压不能突变的特性选择了10uF和10K。STC89C51单片机内部整合了2KB的闲置储存,省却了外扩式程式记忆体的困扰,从而简化电路,使工作供电电压变得更宽。STC89C51单片机的选择无论从成本、功耗还是线路板面积来看都是一个不错的选择,而12MHz则是单片机常用的时钟电路晶振选择[10],本设计选择硬件按键复位。并联谐振电路的电容值即C1、C2的选值会影响振荡器的稳定性,选择22pF最为合适。大部分的电容值的选择都是根据规格书的要求,应用了一个电解电容主要是防止单片机下载的瞬间,下载芯片被复位;而下载电路的限流电阻值根据手册选择的300Ω。单片机控制电路计时,其中I/O口驱动显示设定时间流动的LCD显示屏,1个I/O口连接微动按钮开关,用于设定定时时间,另1个I/O口连接输出声音信号的蜂鸣器[11]。2.3定时器的工作原理定时器的工作原理主要基于时钟信号,结合内部计数器和可能的振荡器、分频器来实现计时功能,本设计通过编程语言或系统提供的库函数或系统调用实现。以定时器芯片上的计数器为基准,一边倒计时,计数器一边递减计数。定时器通过使用时钟信号触发计数器的递减,一旦计数器的值达到0,计时结束,随着计数器的不断递减,定时器就会被触发。2.4定时器的功能说明电子定时器电路由计数器、译码显示电路报警电路组成。计数器完成所定时间的计时功能:接通电源后,定时器清零,由用户自行设置定时时长,按下相应的启动按钮进行计数,计数器每隔一秒的时间进行递减,并在显示电路中显示出来,如需将定时器清零,按下相应的复位按钮重新设置时间即可。当定时器计时到0时,显示电路显示0,报警回路在定时器计时到0时开始报警,控制电路对计数器的起动和复位有直接的控制作用。本设计主要具备如下功能:第一,它有人为控制开关的闹钟功能;第二,连接有LCD显示屏,能充分显示时间的时、分、秒,三值之间有间隔;第三,可以在设置闹钟响起时通过传感器的测温方式关闭闹钟。本设计可以通过LCD显示屏倒计时,使计时过程和结果清晰可见,数字显示效果清晰可见,不受环境影响,能够在各种光线条件下一目了然;增加了闹钟的功能,计时结束的同时显示屏归零,蜂鸣器开始工作,电路板连接的一个传感器,感受到人体体温(一般是35℃以上)同时结束定时,蜂鸣器停止工作,闹钟关闭,使普通的闹钟增加一些趣味性。3系统的硬件设计3.1主要元器件介绍本设计主要用到了STC89C51单片机,LCD显示屏,红外传感器,按键,蜂鸣器,三极管,电容电阻等,下面将进行简单介绍。STC89C51单片机配置上采用独立的程序存储器,逻辑上采用相同的地址空间,访问时使用不同的指令和寻址方式,内部集成了两个16位计时器/计数器,在计时操作时能够非常方便的进行,为本设计奠定了扎实的基础[12]。对于采用USB连通的便携式电路来说,考虑到其低功耗的要求,常常需要采用液晶显示屏。它本身并不发光,而是通过电场效应和扭曲-向列效应原理制成,在本设计中起到显示倒计时和测温模块测出的温度的功能。GY-906是一种基于光学原理的通过红外传感器和相关算法实现非接触测温,使用红外测温技术中的红外热释电传感器感测物体发出的红外辐射能量,并将其转换为温度值的红外测温模块,但结果与实际温度值有一定误差,准确性不够,主要为本设计提供了关闭蜂鸣器的功能,否则无法实现电路的停止。蜂鸣器是将电信号转换为声音信号的一种装置,用于制造设备在此设计中发出的警报,低电平触发。该设计采用了内部不带振荡源的无源蜂鸣器,控制器提供振荡脉冲才能发出声音,而想要发出不同频率的声音需要调整振荡脉冲的频率。3.2按键电路通常采用扫描方式进行键盘模块操作,一般分为两种编程控制方式,常采用矩阵式键盘设计。首先将各端口线设置为输入模式,利用中断确定各端口线均有按钮以获取信息。如果按下对应的口线,显示高电平,反之为低电平[13]。在调整时间之前,可以使用加减按键对时间点进行调节,而后将调整之后的时间显示出来[14]。按键电路原理图如图1所示。STC89C51单片机中有两种最常使用的按键:独立按键和矩阵按键。本设计采用一个按键控制一个引脚的独立按键。图1按键电路原理图3.3显示电路图2为LCD1602原理图。单片机系统控制LCD1602,接口简单可靠,编程易实现,显示品质高,液晶显示器在重量上要比传统显示器更占优势。图2LCD1602原理图3.4晶振电路石英晶体振荡器简称晶振,其作用是用集成电路或三极管组合频率非常稳定的振荡器,提供基本的时钟信号给系统。图3为晶振电路原理图,采用12MHz晶振,同时连接电容为滤波器,使信号输出更稳定。图3晶振电路原理图3.5复位电路图4为本设计复位电路原理图,采用按键让用户手动把电路恢复到初态的设计,在电平复位时通过RST端的电阻接通电源。电容放电时按下STC89C51单片机的SW相当于使电容短路,其两端电压均为VCC,若超过规定复位时间则为单片机复位。当按键不再与电路相连,RST两端电压为0,单片机在工作。电容电阻的选择值均来自产品手册。图4复位电路原理图3.6声音提示电路声音提示使用蜂鸣器,电路原理图如图5所示,能够根据脉冲信号及其频率发出各种声音,从而在计时结束时根据系统要求发出不同的声音提示,来满足通知用户的要求。PNP三极管通常用来从控制电路里传递电流到蜂鸣器。在电路中,PNP三极管被连接在蜂鸣器的一端,接收电流,输出蜂鸣声音。图5蜂鸣器电路原理图3.7串口下载电路串口下载电路原理图如图6所示,其功能是将来自电脑的信号转换成TTL信号,是电路中必不可少的存在。CH340N是功耗低且稳定性高的USB总线的转接芯片,可以将USB接口转换为UART串口接口,使电脑利用USB接口和单片机等设备进行通信。图6串口下载电路原理图3.8红外测温电路GY906是一款红外热像仪传感器模块,可测量目标物体的温度,红外测温电路原理图如图7所示,引脚1和2分别连接P2.1和P2.0,引脚3和4分别接地和电源,本模块采用I2C数字接口协议通信。图7红外测温电路原理图3.9STC89C51单片机与排阻的连接电路图8是排阻与STC89C51单片机的连接电路。国产STC89C51单片机一直以优异的性能在行业内处于领先地位,其内部集成的两台16位可编程定时器T0和T1是该系列单片机中软硬结合非常重要的定时组件,在各种需要定时和计时的场合都能非常灵活的使用[15]。9排排阻为防止电压过大导致LCD1602显示屏屏幕过亮损坏亮点。图8STC89C51单片机与排阻的连接电路4系统的软件设计4.1程序设计思路首先确定按键、蜂鸣器的标志以及一些表示用途的变量,对延时函数进行大概值。因为时间是用32位的整体全部存储的,所以先编写函数将时间分成时分秒,按键服务函数在判断函数中判断按键,当设置键按下,分别判断定时器是否启动,未启动就可以设置时间,设置哪个标志位作为闪烁和设定值。若按下增加键且判断定时器没有启动,就判断闪烁位置是时分秒,分别做加减更新显示,并将其合成到总的32位时间值里,减小按键同理。启动按键判断状态,没有启动置为1,启动置为0,并把闪烁标志清零。而后更新显示,分别设置闪烁位置,闪烁即数字与空格交替展示形成所需效果,时分秒交替闪烁原理相同。第二行显示判断状态,等于1显示启动,反之显示停止。初始化定时器即配置定时器工作模式、晶振计数值,ET0外部中断,TR0启动,EA开总中断。主函数前面是LCD1602初始化,测温模块初始化以及初始化一个用于倒计时的定时器,while循环反复不停从上到下执行,其中包含按键检测,之后进行判断,update标志为1才会进行更新的显示,之后判断倒计时是否结束,结束后一直循环获取温度值,进行相应的更新显示。定时器的中断函数的配置是每隔50ms进入一次函数,所以TH0和TL0重装初值是50000us。每50ms计数加1,当计数大于20即1s就更新一次,判断定时器是否启动了,若启动且时间大于零,进行减计数至零为止,倒计时结束,蜂鸣器工作,系统状态置为2,更新标志置为1,表示1秒钟更新一次显示,更新标志应用于主函数。4.2程序流程框图主程序定义流程图如图9所示,主程序是控制电路的一系列调控,通电后首先由程序定义主程序相关端口,然后调用子程序控制电路,再由各模块定义相关程序接收、转换及输出信号,然后由LCD1602定义相关程序通过屏幕显示数据。图9主程序定义流程图对于主程序定义头文件如下:#include"main.h"#include"GY906.h"#include"KEYScan.h"#include"LCD1602.h"其中GY906.h、KEYScan.h和LCD1602.h为编写的头文件,GY906.h定义红外测温传感器感知温度,KEYScan.h进行按键扫描,LCD1602.h定义LCD显示屏的显示功能及内容。下面讲解一下主要程序的头文件,以及相关的引脚定义。1.LCD1602相关程序设计流程图如图10所示,首先定义LCD1602相关端口和变量,然后对显示屏进行初始化操作,再由单片机向LCD1602发送指令和数据,最后发送使能信号,在屏幕中显示内容。显示主要分两种情况,一种是设置时分秒时,在对应的时分秒的位置做闪烁,另外一种是显示已启动或停止,由此对LCD1602进行初始化程序编写。图10LCD1602程序设计流程图2.按键扫描函数的程序设计流程图如图11所示,首先定义相关端口和选择对应的引脚,判断哪个键按下并返回函数值。总共有四个键:设置键、启停键、增加键、减小键。如果按下设置键,并且是定时器没有启动的情况下,会在对应的位闪烁,让用户设置时间;如果是启动键,没有启动就置位启动,反正置位不启动。增加和减小主要功能是一样的,判定它在哪个位,根据哪一位来增加或减少时分秒的值。按键检测首先有两个值,一个作为保存上一个值,一个是保前当前值,如果是有按键被按下,就会记录先被读取的状态值,且与上一个值相比,如果是同一个值,就不算被按下,反之至标志位,当做按下。图11按键扫描函数的程序设计流程图3.红外测温传感器函数的程序设计流程图如图12所示,首先定义相关端口和时钟线以及数据线和选择对应的引脚,进行函数声明,编写发送字节、位,接受字节、位的代码。I2C总线传输协议对数据位的有效性规定为:在SCL为高电平时,数据线上的数据必须保持稳定,并且只有在SCL信号为低电平时,才允许SDA状态发生变化,对I2C总线的起始信号信号有严格的要求,以保证数据的可靠性。图12红外测温传感器函数的程序设计流程图5系统的制作与调试5.1系统的制作电子定时器的电路原理图如图13所示,其绘制主要是利用AltiumDesigner软件对选择的硬件进行合理的布局,选择并确定好引脚与对应的端口相连接,未接的引脚要加屏蔽信号,否则没接的接口会有警告。图13总电路原理图根据实际要求及硬件的选择画封装,在编译无误之后更新PCB文件,同样要进行合理的布局,以免走线交叉或封装摆不开等情况,PCB的顶层和底层图如图14和图15所示。本设计选择使用可以承载更多电子元件,材质更加稳定,使电路设计更紧凑的双面板,与此同时提高设备的工作效率,保证电路的稳定工作。图14PCB顶层设计图图15PCB底层设计图实物底层图和组合图如图16和图17所示,本设计将LCD显示屏放在蜂鸣器、排阻等元器件之上,使得实物体积小、质量低、更便携。图16实物底层图图17实物组合图5.2系统的调试刚通电时,启动开关,电路显示结果如图18所示:图18通电未操作实物图假设设定时间3s钟实物显示结果如图19所示:图19定时3s实物图计时结束后,蜂鸣器工作,在传感器没有感测到人体温度时,蜂鸣器无法停止工作,直至感受到人体温度,测温及计时结束实物图如图20所示,以手触碰为例,但实验结果温度偏高。图20测温及计时结束实物图倘若不小心设置错时间想重新设置可按下复位按钮,或调节按键进行加减时间的设置,设置时间结果如图21和图22所示:图21设置时间的实物图图22增加时间的实物图5.3系统的功能本设计较为完善的实现了最初的设想,实现了倒计时的功能,让用户自行通过按键设计定时时长,最大可达23小时59分59秒,计时结束之后电路发出警报声提醒用户,与传统方式不一样的是通过传感器使电路停止工作,让用户多了一份思考的时间,不能简单停止电路,增加趣味性以达到督促的目的。6总结从基本方案的制定、硬件电路的选择、原理图的绘制、元器件封装的绘制、PCB的布局到再到电路的焊接、源代码的编写,最后是程序调试——这期间遇到了很多困难,但经过坚持不懈的努力,再加上导师的层层点拨,终于将困难全部攻破。这段时间深深体会到了自己经验的不足。同时也因为这次设计,使自己得到了一定的锻炼,体会到了理论联系实际的重大意义。由于这个设计的时间有限,所以一些理想化的设想并没有得到彻底的实现

温馨提示

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

评论

0/150

提交评论