台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。
DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。在系统启动之时,可以通过4×4键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。
每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单。如图3-3
图3-3 DS18B20与单片机接口电路
第 6 页
3.1.4 键盘和显示接口电路的设计
下图为89C52单片机P1口构成的中断方式4*4键盘电路。P1.0-P1.3为行线,P1.4-P1.7为列线,行线与4输入与门74HC21的一组输入端相连,输出端与外部中断INT1相连。16个键号Ki(I=0-15)次序如图中标注。
图3-4 89C52 P1口构成的4*4中断方式键盘
行列式键盘处理程序较为复杂,当有键按下时74HC21输出端出现低电平请求中断;在中断服务程序中要再次确认是否真有键按下,真有键按下时,再查出是哪个键按下,把该键的键号送入堆栈保护,等待键释放后再将键号弹出A中。该键盘输入处理程序的出口状态是键号在A中。设计中断程序时,先在主程序中将中断系统初始化,并开中断。在试验演示中通常开中断都设置循环等待。
键盘和显示电路是人机交互的重要手段。控制键是用户干预系统运行的唯一接口,也是用户比较关心的问题。为了实现控制器对时间与温度的设定及显示功能,串行显示电路采用串入并出芯片74LS164驱动4位数码管实现时间与温度的静态显示。
该电路只使用89C52的3个端口,配接4片串入并出移位寄存器74LS164 与1片三端可
第 7 页
调稳压器LM317T。其中74LS164 的引脚Q0~Q7为8位并行输出端;引脚A、B 为串行输入端;引脚CL K为时钟脉冲输入端,在CLK 脉冲的上升沿作用下实现移位,在CLK = 0 、清除端MR =1时,74LS164保持原来数据状态;MR =0 时,74LS164输出清零,其显示电路如图3-5。
其工作过程如下:89C52的串行口设定在方式0移位寄存器状态下,串行数据由P3.0发送,移位时钟由P3.1 送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。4片74LS164 串级扩展为4个8 位并行输出口,分别连接到4个LED显示器的段选端作静态显示。需要指出的是,由于74LS164 无并行输出控制端,因而在串行输 入过程中,其输出端的状态会不断变化,造成不应显示的字段仍有较暗的亮度,影响了 显示的效果。以往的做法是在74LS164 的输出端加接4片锁存器或三态门,使移位寄存器串行输入数据时其输出端的变化不反映到LED上,待串行输入结束后再打开锁存器或三态门,将稳定的显示数据送给LED。
本设计电路的独特之处在于仅采用了1片三端可调稳压器LM317T,317T 的3、2 脚分别是电压输入、输出端,317T 的1脚是电压调整端,脚2输出电压随脚1电压而变化。脚1与接地电阻之间并一个NPN 三极管,它的基极受P1.7 口线控制,串行输入时P1.7 口线为高电平,三极管饱和导通使317T 的脚1约为0.3 V,脚2输出电压随之下降到1.5 V,不足以使共阳极LED发光,故此时串行输入的影响不会反映到LED上;串行输入结束后,使P1.7口线为低电平,三极管截止,脚2输出电压因脚1电压增高便上升到2.0V使LED正常发光。因此,1片三端可调稳压器LM317T起到了4片锁存器的作用使LED 显示不会闪烁。本电路的另一优点是通过可调电位器P1可在线调整脚2的输出电压,使LED的显示亮度均匀可调,而且省掉了大量的LED限流电阻。 3.1.5 光电隔离与辅助加热电路
图3-5为太阳能热水器光电隔离与辅助加热电路设计。当室外光强不足(阴天、下雨)时,对水箱的水提前加热是很必要的,这一电路恰好能完成这一功能。工作原理:当单片机89C52P2.1口输出高电平时,三极管T1导通,致使发光二极管发光,同时光敏三极管T2导通,继电器闭合,电阻丝R1~R4发热,这样就完成了加热任务,此电路虽然简单,但在太阳能热水器中是必不可少的。
第 8 页
图3-6 辅助加热电路图
3.2特殊元器件的介绍
3.2.1 AT89C52芯片
图3-7 AT89C52芯片引脚图
第 9 页
AT89C52 主要性能:
1、 与MCS-51 单片机产品兼容
2、 8K 字节在系统可编程Flash 存储器 3、 1000 次擦写周期 4、 全静态操作:0Hz~33Hz 5、 三级加密程序存储器 6、 32 个可编程I/O 口线 7、 三个16 位定时器/计数器 8、 八个中断源
9、 全双工UART 串行通道 10、低功耗空闲和掉电模式 l1、掉电后中断可唤醒 l2、看门狗定时器 13、双数据指针 l4、掉电标识符 方框图:
图3-8 AT89C52内部框图
第 10 页