定时开关控制器(打印).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定时开关控制器(打印)

定时开关控制器在各种场合都有着极为广泛的用途。本文利用凯思迪公司的K-51A单片机实验板设计的定时开关控制器具有简单易制、价格低廉、控制点数多、控制时间可精确到秒等特点,供有兴趣的朋友参考。 1.主板电路部分 本电路主要是利用单片机AT89C2051 -24PI 作为主控制元件,通过外围电路控制用电设备的电源,以达到定时开、关机的目的。AT89C2051具有体积小、功能强大、运行速度快、价格低廉等优点,非常适合制作集成度较高的控制电路。图1为主电路原理图,图2为按其制作的主板 双面 大小只有95mm×70mm的器件位置图。主板电路包括MCU AT89C2051、键盘与显示、输入与输出口、复位和电源滤波等电路组成。 1 键盘与显示 显示电路由U2、U3、Q1~Q7和L1A、L2A组成。U2为BCD-7段译码器 74LS47 ,通过单片机U1的P1.4~P1.7口将要显示字符的BCD码输出到U2的四个输入端,经U2译码后输出相应的笔段驱动LED数码管 共阳 。LED数码管显示采用动态扫描方式,即在某一时刻,只有一个数码管被点亮。数码管的位选信号由单片机U1的P3.3~P3.5输出,经U3 74HC138 译码后通过Q1~Q6放大,驱动相应的数码管。R17~R24为限流电阻。 由于U2只能输出7段笔段码,而数码管除了七段笔段外,还要控制点亮小数点,因此,小数点必须有另外的驱动电路来完成,在这里,通过Q7来驱动小数点。当需要点亮小数点时,在U1的P1.3输出高电平即可。 键盘电路跟显示电路一样,采用扫描方式,利用动态显示时的数码管驱动位置信号来判断相应按键的状态。U1的P3.3~P3.5口输出的BCD码经U3译码后,相应Y口呈低电平,而U1的P3.7口平时为高电平 由于R8上拉 ,当某一键按下时, P3.7被下拉为低电平,这时MCU利用程序查询P3.7是否为低电平,如果P3.7为低电平,就读回U1 P3.3~P3.5口的值 从缓冲区读取 ,则可判断是哪个按键按下,然后调用相应的处理程序进行处理。 2 控制输出、复位与电源滤波电路 MCU对控制的输出是通过P3.0~P3.2口完成的。程序开始时这三个口的输出状态是低电平,MCU通过程序查询三路输出的ON或OFF状态预置时间是否已到,如果已到时间,则改变相应的输出状态,就完成了对外部电路的控制。复位电路如图1左上角所示,C3和R25完成上电复位,S6为手动复位,按键输入干扰和抖动的预防是由软件完成的。+5V电源由JP2输入,经C4~C9滤波后给U1和其它器件供电。 2.电源与控制电路 电源及控制电路如图3。其中,市电经总开关K后由B降压、V1整流、C11~C14滤波、U4、U5稳压后给主板和控制电路板提供稳定的工作电源;主板送过来的三路控制信号通过Q12~Q14分别控制继电器J1、J2、J3,对外部电路实施直接控制。继电器这里没有给出具体型号,您可根据耐压及通流大小选用相应的继电器,如在大电流和强电磁场干扰的环境里工作,最好利用中间继电器来间接控制。 3.程序软件工作过程 1 秒脉冲发生器 秒脉冲发生器是由定时器T0和内存空间TT0配合完成的。T0工作于16位计数器模式,当T0向上计数由全1变为全0时产生中断,本程序中T0的初值为0DC00H,大约0.01s中断一次。这里使用的晶振频率为11.0592MHz,由此可计算出日误差约为0.78s。 图4为程序流程图。系统产生中断后,首先保存ACC和PSW的值,然后为T0重装初值,判断中断次数是否小于100,是则转出中断服务,反之则为秒计数器加1,秒计数器如果大于59,则为分计数器加1,同时秒计数器清0。同样分计数器如大于59则为时计数器加1,同时分计数器清0,时计数器如大于23则清0并转出中断服务。T0中断100次的时间刚好为1秒钟。 2 主程序 上电复位过程:首先P0~P2口全部置1,P3口高5位置1,低3位置0。设置定时器T0工作于16位计数器模式,并赋初值TH0 0DCH,TL0 00H,关闭外部中断和串行口中断,时间计数器TS、TM、TH清0,所有预置时间存储区全部赋值FFH,至此所有初始化工作完成。 主程序工作过程:首先循环进行六个数码管扫描显示 DISPLY段 ,然后比较所有预置时间 COMP段 是否与当前时间相等,如相等则转向相应处理程序。在比较完成 或处理完成 后判断有无按键 PP2段 ,没有则返回继续显示、比较、判断;有按键则转向相应处理程序。按键转移采用偏移量加表格跳转转移法 KEY段 ,简单、明了。预置时间比较则采用逐一比较法,即对每一个预置值进行比较,如相等则做相应处理。具体比较时 COMP1段 先比较TH值,如不相等则直接转出并置“时间到”标志CCB为0,如TH、TM、TS全

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档