正常工作。“看门狗”技术可由硬件实现,可由软件实现,也可由两者结合实现。本系统采用微处理器监控器MAX690A完成硬件“看门狗”电路。
MAX690A是美国MAXIM公司的产品,具有以下功能:
(1)在微处理器上电、掉电及低压供电时,产生一个复位输出信号。(2)具有备用电池切换电路,备用电池可供给其他低功耗逻辑电路。(3)具有看门狗电路,该电路的触发脉冲时间间隔超过1.6s时,将产生一个复位输出。(4)可用于低电压检测。
MAX690A的主要电气参数为: 2工作电压 Vcc(1.2~5.5V); 2静态电流200μA ;
2备用电池方式静态电流50μA; 2复位脉冲宽度 TRS为200ms; 2看门狗定时时间为1.6s; 2复位门限电平4.65V。
MAX690A与89C51单片机的接口电路如图3-8所示:
U1123456781312+5V1514P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRRXDTXDALE/PPSEN10113029P00P01P02P03P04P05P06P073938373635343332212223242526272889C51MAX690AR11KR21K123R31K4VoutVccGNDPFIU33.6VVbattRESETWDIPEO6761A274F04U2A1325+5VR41K174F04A274F3231191891716P20P21P22P23P24P25P26P27+C110uFBT2S1备用电源 图3-8 MAX690A与89C51的接口电路
本电路有复位电路和看门狗电路功能,R1、R2选取说明如下:
(3-1)
当R1=1kΩ,R2=2.6 kΩ,使+5V电压跌落到4.5V,PFI的输出电压低于1.25V时,PFO输出高电平作为单片机的中断信号。单片机正常工作时,P1.0口定期(小于1.6 s)改变WDI输入端的电平,使看门狗电路不发出复位电路。当出现“死机”,单片机将不能定期改变WDI电平,看门狗电路便会在1.6 s后产生一个复位信号,使单片机复位,待经过200ms复位脉冲宽后,单片机复位结束,程序从0000H开始重新执行,保证了系统的正常运转。
3.5 单片机时钟电路的设计
时钟电路用于产生89C51单片机工作时所必需的时钟信号。89C51单片机本身就是一个复杂的同步时序电路,为保证同步方式的实现,89C51单片机应在唯一的时钟信号控制下,严格地按时序执行工作。
因此时钟电路是计算机的心脏,它控制着计算机的工作节奏。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。
本系统采用内部时钟方式。
89C51单片机内部有一个用于构成振荡器的高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分别是89C51的19脚和18脚。在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。89C51内部时钟方式的振荡电路如图3-9所示。晶体的振荡频率范围通常在1.2MHz到24MHz 之间。晶体的频率越高,则系统的频率越高单片机的运行速度越快。本系统选择振荡频率为24MHz的石英晶体。
图3-9AT89C51内部时钟方式电路
3.6 系统原理综述
系统硬件原理如原理图(附)所示。通过原理图,我们可以分析出系统的原理,于是系统主要原理如下:
温度的测量通过温度传感器输出正比于不同温度的电压值来实现,在和8255A接口相连的pc中,通过二极管分别显示四个不同的水位情况。
通过两个按键s2和s3来实现加热和加水的功能,当s2按下时,就触发外部中断0,进入中断子程序,执行加热功能。当s3按下时,就出发了外部中断1进入中断子程序,执行手动加水功能。
单片机通过P0口用一个8255A扩展芯片实现8位LED显示,Po口和373相连锁存地址信号,P2.0~P2.3和水位检测传感器接口电路连接,P2.6和P2.7分别接有加水继电器和加热继电器。作为8255A的PC口接有6个二极管,分别用来显示水位1、2、3、4状态,还有加水状态和加热状态的提示信号。再通过接口电路8255A反映到显示屏上。
单片机其余IO口线安排: 2VCC:接+5V电源。 2GND:接地。
2RST:接MAX690A的RESET。
2P3.0(ALE):与8255H的ALE脚相连提供时钟信号。 2XTAL1、XTAL2:通过晶振实现单片机内部时钟。 2PSEN:允许程序存储器输出控制端。 2EA:内外程序存储器选择控制端。 2P1.7:接MAX960的WDI端。 2RD:接8255H的RD端。 2WR:接8255H的WR端。
4太阳能热水器中央控制器的软件设计
在完成太阳能热水器中央控制器的硬件设计后,要达到系统设计需求,用单片机实现自动控制,就需要进行软件设计。同时运用软件设计可以相对地简化硬件结构,有效地降低设计成本并提高系统的性能。根据系统设计要求,软件设计应具备以下功能:
2对水的温度数据的读入; 2对数码管显示子程序的实现; 2通过键盘输入实现数据采集; 2将数据存入EPROM中实现掉电保护; 2将采集到的数据通过LED显示。
4.1 系统总体软件设计
本系统主要是完成由89C51为核心控制器来实现对太阳能热水器水位和水温的检测,并在适当的时候报警,并把温度数据体现在8位数码管上。
主程序首先完成对串口,定时器,中断源的初始化设置,初始运行参数,开中断,然后循环读取键盘状态,检测系统是否漏电。一旦检测到系统漏电,立即进行声音和显示报警,并切断所有执行机构电源;若系统不漏电,则根据存储的键盘状态和检测的水温,水位等状态信号进行相应的处理并等待中断服务程序的执行。其主要的软件原理图如图1和2。
系统正常控制时,首先显示水温和水位,若检测到水流开关打开用水时,自动断开上水阀和电加热体电源,即实现水电联动,用水停电。当检测到水位过低时,控制单片机在8255A的PC3口的二极管提示加水,然后手动加水。达到最高水位时同样提醒停止加水。在水位超过第二档时,将检测到的实际水温和设置水温进行比较,若实际水温低于设置水温时,则
加热体通电进行辅助电加热;若水温高于设置水温时,切断加热体电源;若检测到水位低档,不管温度设置高低,总是停止加热,防止加热体干烧,在加热功能中将最高水温控制在适当的温度,超温时停止加热并报警。
图一系统主程序流程图
4.2 数据采集软件设计
4.2.1中断服务子程序 4.2.2水位检测子程序
4.3 显示和键盘软件设计
当要进行显示和软件设计时,单片机首先要通过P2.7端向8155H的CE端输出一个高电平,选中8155H。
相关推荐: