足球比分直播

定时器84134.doc

返回
定时器84134.doc_第1页
第1页 / 共4页
定时器84134.doc_第2页
第2页 / 共4页
定时器84134.doc_第3页
第3页 / 共4页
定时器84134.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述:
用单片机制作的定时开关控制器定时开关控制器在各种场合都有着极为广泛的用途。本文利用凯思迪公司的 K-51A 单片机实验板设计的定时开关控制器具有简单易制、价格低廉、控制点数多、控制时间可精确到秒等特点,供有兴趣的朋友参考。 1.主板电路部分 本电路主要是利用单片机 AT89C2051-24PI作为主控制元件,通过外围电路控制用电设备的电源,以达到定时开、关机的目的。AT89C2051 具有体积小、功能强大、运行速度快、价格低廉等优点,非常适合制作集成度较高的控制电路。图 1 为主电路原理图,图 2 为按其制作的主板双面大小只有 95mm70mm 的器件位置图。主板电路包括 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 输出,经U374HC138译码后通过 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 位计数器模式,并赋初值 TH00DCH,TL000H,关闭外部中断和串行口中断,时间计数器 TS、TM、TH 清 0,所有预置时间存储区全部赋值 FFH,至此所有初始化工作完成。主程序工作过程首先循环进行六个数码管扫描显示DISPLY 段,然后比较所有预置时间COMP 段是否与当前时间相等,如相等则转向相应处理程序。在比较完成或处理完成后判断有无按键PP2 段,没有则返回继续显示、比较、判断;有按键则转向相应处理程序。按键转移采用偏移量加表格跳转转移法KEY 段,简单、明了。预置时间比较则采用逐一比较法,即对每一个预置值进行比较,如相等则做相应处理。具体比较时COMP1 段先比较 TH值,如不相等则直接转出并置“时间到”标志 CCB 为 0,如 TH、TM、TS 全部对应相等,则置该标志为 1。 本程序在显示及按键处理设置过程中巧妙使用 R1 寄存器作为公用地址寄存工具,对实时时间和预置时间的显示和修改调用同一程序完成,使源代码长度大大缩短,提高了程序的可读性和运行效率。在本刊的网站www.eleworld.com上给出了源程序,供读者参考。 4.制作与调试 1主板的制作与调试主板的制作稍微复杂一点。首先是制作印刷板,利用 Protel99 按照本文所示器件位置图放置好元器件,然后手动布线双面,线宽为 0.8mm 左右,太宽做出的板子太大,太窄无法进行自制。绘好印制板图后转成 BMP 格式利用电脑刻字机镂空要用进口的即时贴纸,不然容易断开,贴在双面敷铜板上,就可以用 FeCl3 腐蚀了。具体的制作方法这里不再赘述,但最好在印制板布线时做个阻焊层,同时在即时贴上刻出来,当板子制好清洗干净后敷在上面,用浅绿色油漆或清漆喷上薄薄的一层,好看又防腐蚀。 2元器件的选择 如果按照本文所附器件位置图布线的话,数码管需选用图示型号才能安装5361BH,一拖三数码管,选用不同型号数码管时可能需修改器件位置参数,然后再布线即可;晶振为 11.0592MHz ;S1~S5 选用黑色小型轻触开关,S6 则用红色同类型开关;变压器 B 选用15V、10W 左右即可,V1 硅堆应与 B 配合选用;控制继电器根据需要选用适合的型号,如5、12、24V 等,如果选用 5V 的,相应的 B、V1 可选小一点的,7812 则不要。如选用 24V 的,那么 B、V1、7812、7805 都需同时根据实际情况来选用;交流 220V 输出插座没有特殊要求,其耐压和通流符合受控器件要求即可。其它元器件选用通用的就行。 3焊接元器件元器件购回后应先进行预处理引脚打磨、上焊锡,然后逐一焊接。在焊接MCU当然 2051 要烧好程序后才能焊接和其它集成电路时应使用有良好接地的烙铁断电焊接也可,以免被击穿。由于双面印刷板存在一个穿孔问题,器件引脚穿过后,两面都要点上焊锡;如只是过孔,可用细铜线穿过并在两面焊接后剪掉即可。 在印刷板制作良好,连线没有不应有的开路或短路,且焊接没有虚焊的情况下,不用调试即可正常工作本程序已制作成品并调试通过,不需再行调试。如果您觉得自己制作的印刷板不够漂亮或太麻烦可联络凯思迪邮购焊接好的整板也有,本刊网站有与凯思迪公司网站的链接。 4电源与控制板的制作 可以将电源与控制板做在同一个板子上,也可分开制作,视所使用的情况而定,但 JP1 与 JZ1 之间的连线不宜太长。印刷板的制作同前所述,要注意的是在布线时对 220V 市电进入和输出包括中线的线宽设计要宽一点根据工作电流大小来定为好,还要注意市电与直流电源的隔离,以免在使用中造成触电事故。 5.操作使用 本系统在加电后数码管显示“00.00.00”,输出继电器均不动作,此时可直接按 S1、S2、S3键分别对时、分、秒进行调整,使当前时间与北京时间相符,时间设置过程中将停止计时,在设置好后按 S4 退出,时钟即进入正常计时。如果要设置输出控制的预置时间则先按 S5,数码管显示“95.95.95”,此时可再按 S1、S2、S3 键分别对第一路输出状态 ON 的时、分、秒进行设置,设好后再按一次 S5 键,数码管也显示“95.95.95”,然后按 S1、S2、S3 键则分别对第一路输出状态 OFF 的时、分、秒进行设置,依此类推,按第七次时退出设定。任一路任一状态被执行后其预置值即被清除,24 小时后并不有效,如果需要每天循环执行则对程序进行简单的修改即可预置值不清除就可。 6.改进与扩展 本文所述的 AT89C2051 在控制输出时只使用了 P3.0~P3.2 三个口,所以只能控制三路六个状态,如果把不用的 P1.0~P1.2 三个口用起来,则可控制六路十二个状态,外围电路相应增加三路继电器,程序软件只需稍事修改即可。当然如果需要控制更多路输出状态,那么在使用锁存器、译码器、触发器等后最多可以扩展到控制 2664 路 128 个状态。在对控制输出的路数要求不多,而显示部分需要比较多的情况下,如还要显示年月日、农历、星期等,只要对其进行扩展就可实现P1.4~P1.7 不动,选通端用两个 138,输出口用 P3.2~P3.5 就有2416 个数码显示。这时仍然利用上述方法最多可扩展到控制 2532 路 64 个状态。当然年月日、农历、星期的计算如大月小月、闰年、闰月等分别汇编相应的子程序插入即可,这方面的资料很多报刊杂志都有介绍,这里不再赘述。 摘自 电子世界2005 年 10 期 作者魏军丞
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播