基于51单片机的24小时定时控制系统_第1页
基于51单片机的24小时定时控制系统_第2页
基于51单片机的24小时定时控制系统_第3页
基于51单片机的24小时定时控制系统_第4页
基于51单片机的24小时定时控制系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

基于51单片机的24小时定时控制系统摘要定时开关控制器在工业方面的自动控制,办公场所的电器控制等有着极为广泛的用途;本文利用89C51单片机的定时器计数器时钟电路设计一套24小时范围内的定时控制系统;可方便的实现对家庭电器和工业方面的自动控制;该定时开关控制器具有简单易制、价格低廉、控制时间可精确到秒等优点,还可以实时显示时间,具有较高的应用价值。关键字单片机时钟定时控制开关TIMINGCONTROLSYSTEMOF24HDESIGNINGBASEDON51MCUABSTRACTAUTOMATICCONTROLTIMINGCONTROLLERHASAVERYWIDERANGEOFUSESINTHEINDUSTRYANDOFFICEAPPLICANTCONTROLINTHISPAPER,WEDESIGNEDTHETIMINGCONTROLSYSTEMINCLUDINGASETOF24HOURSWITHINTHESCOPEOFUSINGTHETIMERCOUNTERCLOCKCIRCUITBASEDONMCS51ITCANREALIZETHEAUTOMATICCONTROLOFHOUSEHOLDAPPLIANCESANDINDUSTRIALASPECTSVERYCONVENIENTLYTHETIMINGSWITCHCONTROLLERHASTHEVERYSIMPLEANDEASYPREPARATION,ANDITISALSOVERYCHEAP,ITCANCONTROLTHETIMEVERYACCURATELYTOSECONDSALSOSHOWTHETIMEONTIMETHISAPPLICATIONISOFGREATVALUEKEYWORDSMCUCLOCKTIMINGCONTROLSWITCH0引言电子定时器在家用电器中经常用于延时自动关机、定时。延时自动关机可用于收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。定时可用于照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。例如空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机。方便节能。定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施,甚至军事等。单片机的定时器是单片机里最“活跃”的部件之一,很多程序、应用系统都离不开定时器。由于定时器的应用与单片机的其他硬件相关,存在着一定的复杂性。而定时器也是单片机应用中解决某类复杂问题的最为有效的方法,应用非常广泛。本文设计了基于单片机系统的一个简单的定时开关控制系统。可以灵活的承载多方面有定时控制需求的设备的控制。1整体方案设计整个系统由51单片机,时钟电路,复位电路,独立按键,显示电路,报警器以及继电器等部分组成1(结构图如图一)。定时开关控制系统设计主要以STC89C51单片机为核心2,通过DS1302进行精准的时间控制3,独立按键控制设置实时时间以及定时开、关时间,由8个8段LED数码管显示实时的系统时间,并实现交互的设置开关定时时间。报警器用蜂鸣器当到定时时间时蜂鸣器发出十秒左右报警声以提示用户。继电器、受控电器插座及受控电器组成一个执行机构,当定时时间到时,单片机向继电器输出一个高电平使继电器工作,继电器常开触点闭合接通受控电器插座,使受控电器通电加以工作,从而完成定时开关电器的功能。4图一定时开关系统构成图2硬件系统设计硬件系统设计采用所学习单片机开发板的设计电路做些简要的修改,并添加继电器电路,电路原理图见图二。独立按键与单片机K1,K2,K3,K4分别与51单片机的P30,P31,P32,P33口相接。K3采用中断方式按下切换实时时间的设置状态和运行状态;K4切换选择显示实时时间,定时开时间点,定时关时间点,在定时时间点图二定时开关系统硬件结构图可进行设置改变定时时间;K1在设置状态下起作用,进行选择设置时分秒;K2在设置状态下起作用对设置项的值进行加一。显示时间的八个LED八段数码管通过一个74138译码器进行选择,数码管输入口通过74573与单片机P0口相连;138译码器的输入口为P22,P23,P24。本系统采用了两个LED灯区分设置选项,两灯都不亮数码管显示为实时时间,两灯亮一灯为开关关闭定时时间,两灯全亮为开关开启定时时间,占用P20,P21两个接口。蜂鸣器报警装置接单片机P15口,通过P15口的高低电平不断变化产生交流信号使蜂鸣器发声。继电器与单片机的P10口相接,输出1时继电器使电源接通控制电器正常工作,输出0时继电器使电源断开控制电器停止工作。3软件系统设计定时开关控制软件实现较为简单,主程序主要是在单片机的控制下,对键盘的输入信息进行存储分析,驱动LED数码管显示出相关信息,并通过对比分析定时时间与时钟,控制继电器的通、断,从而达到控制电器通断电。在这个过程中,单片机首先进行初始化,显示值初始化、继电器断开、以及单片机振荡频率的校准等。单片机每执行一次循环对定时时间和时钟进行一次比较。5为了实现时钟走时与所在地时间一致和满足要求,设定了时钟设置和定时设置的功能。时钟设置和定时设置都在主函数里的WHILE循环中实现,对于设置的按键采用扫面检测的方法,而进入设置状态是用中断方法进入设置状态。程序设计的流程图如图三。开始初始化切换设置位对应时分秒数值加1判断属于在哪种状态实时时钟判断是否为设置状态NYK1是否按下NYK2是否按下NY显示对应的时分秒比较实时时钟和定时时间是否相等N定时时间设置切换设置位对应时分秒数值加1K1是否按下NYK2是否按下NYY改变相应控制继电器状态值并使蜂鸣器报警循环定时计数器中断中改变时间的值;K3外部中断0切换设置实时时间,K4外部中断1切换设置定时时间图三定时开关系统设计流程图程序初始化后,设置定时器T0工作在方式1用于计时,同时设置开关定时时间,执行显示程序。当定时时间设置好后,系统不断的查询定时时间到否,定时开关开时间到时P101,继电器闭合,受控电器工作,同时是控制蜂鸣器报警变量设置时间值,使蜂鸣器控制P15电平高低不断交替变化产生交流信号使蜂鸣器报警。在程序执行过程中中断0控制着定时器的启动和暂停,当暂停时可修改实时时钟的时间,程序查询检查K1和K2按键是否按下,K1选择设定位“时、分、秒”,K2设置当前选择的设定位数值加一。K4切换显示模式实时时钟,定时关时间,定时开时间。在模式切换时对应LED1,LED0显示灯改变,实时时钟两灯都灭,定时关时间显示一个灯,定时开时间显示两个灯。在定时开关状态下即可由K1,K2键设置定时的时间值,K1,K2的功能与实时时钟设置相同。具体软件实现代码如下INCLUDESBITK1P30SBITK2P31SBITK3P32SBITK4P33UNSIGNEDCHARTIME0/用来计时间的值DEFINEDIGP0SBITLSAP22SBITLSBP23SBITLSCP24SBITLED0P20SBITLED1P21SBITBEEPP15SBITSWITCHP10UNSIGNEDCHARCODEDIG_CODE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F/0123456789UNSIGNEDCHARNUM0UNSIGNEDINTDISP80X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X3FUNSIGNEDCHARHOUR0,MINIT0,SECOND0UNSIGNEDCHARTHOUR20,0,TMINIT20,0,TSECOND20,0UNSIGNEDCHARCOUNT0/设定选择设置项UNSIGNEDCHARSETPLACE/设置位选择UNSIGNEDINTCT0/设定值闪烁控制VOIDDELAY1MSUNSIGNEDINTCVOIDTIMERCONFIGURATIONVOIDINT0CONFIGURATIONVOIDINT1CONFIGURATIONUNSIGNEDCHARRESET1/函数名MAIN函数功能主函数输入无输出无/VOIDMAINVOIDUNSIGNEDCHARI0UNSIGNEDCHARMUNSIGNEDBCT0/报警时长设定SWITCH0TIMERCONFIGURATIONINT0CONFIGURATIONINT1CONFIGURATIONWHILE1IFCOUNT0IFTR00CTIFCT2000CT0IFK10/检测按键K2是否按下DELAY1MS10/消除抖动IFK10SETPLACEIFSETPLACE3SETPLACE0WHILEI60SECOND0ELSEIFSETPLACE1MINITIFMINIT60MINIT0ELSEHOURIFHOUR24HOUR0WHILEI1000DISP70DISP60ELSEDISP7DIG_CODESECOND10DISP6DIG_CODESECOND/10DISP50X40IFSETPLACE1DISP30ELSEDISP4DIG_CODEMINIT10DISP3DIG_CODEMINIT/10DISP20X40IFSETPLACE2DISP00ELSEDISP1DIG_CODEHOUR10DISP0DIG_CODEHOUR/10ELSE/设定定时时间/设置定时点MCOUNT1CTIFCT2000CT0IFK10/检测按键K2是否按下DELAY1MS10/消除抖动IFK10SETPLACEIFSETPLACE3SETPLACE0WHILEI60TSECONDM0ELSEIFSETPLACE1TMINITMTMINITM1IFTMINITM60TMINITM0ELSETHOURMTHOURM1IFTHOURM24THOURM0WHILEI1000DISP70DISP60ELSEDISP7DIG_CODETSECONDM10DISP6DIG_CODETSECONDM/10DISP50X40IFSETPLACE1DISP30ELSEDISP4DIG_CODETMINITM10DISP3DIG_CODETMINITM/10DISP20X40IFSETPLACE2DISP00ELSEDISP1DIG_CODETHOURM10DISP0DIG_CODETHOURM/10/检测是否到设定的时间IFTR01IFHOURTHOUR1IFMINITTMINIT1IFSECONDTSECOND1SWITCH1BCT4000/值为4000报警时长十秒钟左右IFHOURTHOUR0IFMINITTMINIT0IFSECONDTSECOND0SWITCH0BCT2000IFBCT0BCTBEEP1DELAY1MS1BEEP0DELAY1MS1/显示时钟/DIG0/消隐SWITCHNUM/位选,选择点亮的数码管,CASE7LSA0LSB0LSC0BREAKCASE6LSA1LSB0LSC0BREAKCASE5LSA0LSB1LSC0BREAKCASE4LSA1LSB1LSC0BREAKCASE3LSA0LSB0LSC1BREAKCASE2LSA1LSB0LSC1BREAKCASE1LSA0LSB1LSC1BREAKCASE0LSA1LSB1LSC1BREAKDIGDISPNUM/段选,选择显示的数字。NUMIFNUM7NUM0/函数名DELAY1MS函数功能延时1MS输入C输出无/VOIDDELAY1MSUNSIGNEDINTC/误差0USUNSIGNEDCHARA,BFORC0CFORB199B0BFORA1A0A/函数名TIMERCONFIGURATION函数功能配置定时器值输入无输出无/VOIDTIMERCONFIGURATIONTMOD0X01/选择工作方式1TH00X3C/设置初始值TL00X0B0EA1/打开总中断ET01/打开定时器0中断TR00/启动定时器0/函数名TIMER0函数功能定时器0中断函数输入无输出无/VOIDTIMER0INTERRUPT1TH00X3C/设置初始值TL00XB0TIMEIFTIME20SECONDIFSECOND60SECOND0MINITIFMINIT60MINIT0HOURIFHOUR24HOUR0/函数名INT0CONFIGURATION函数功能配置外部中断0输入无输出无/VOIDINT0CONFIGURATION/设置INT0IT01/跳变沿出发方式(下降沿)EX01/打开INT0的中断允许。EA1/打开总中断/函数名INT0INTERRUPT0函数功能外部中断0的中断函数输入无输出无/VOIDINT0INTERRUPT0DELAY1MS10IFK30TR0TR0TIME0CT0/函数名INT1CONFIGURATION函数功能配置外部中断1输入无输出无/VOIDINT1CONFIGURATION/设置INT0IT11/跳变沿出发方式(下降沿)EX11/打

温馨提示

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

评论

0/150

提交评论