图3-5 DS18B20连接图
3.3报警温度调节电路
本系统一共设置了3个按键,系统运作时按key1键切换到下限温度设置模式,同时数码管显示下限温度,按key2,key3可以对相应的下限温度进行加减设置。再按key1键切换到上限温度设置模式,同时显示上限温度,同样按key2,key3可以进行设置。再按key1切换到正常显示温度模式,同时将上下限温度值储存到AT24C02中。按键电路如图3-6所示,直接将I/O口通过按键接地即可,程序运行时检测到低电平即为按键按下。
16
图3-6 温度调整按键电路
3.4报警温度存储电路
系统需要通过按键对报警温度上下限进行灵活设置,而设置后若系统断电重启单片机复位后温度上下限值将会回到最初的值而不是设置值,所以需要利用FLASH把上下限值储存起来,这里用到AT24C02。
AT24C02是美国Atmel公司的低功耗CMOS型EEPROM,内含256*8位存储空间,具有工作电压宽(2.5V~5.5V),擦写次数多(大于10000次),写入速度快(小于10ms),抗干扰能力强,数据不易丢失,体积小等特点。并且它是采用I2C总线式进行数据读写的串行操作,只占用很少的资源和I/O线。AT24C02有一个16字节页写缓冲器,该器件通过I2C总线接口进行操作,还有一个专门的写保护功能。
AT24C02的引脚如图3-7,各引脚功能如下:
17
图3-7 AT24C02引脚图
SCL:串行时钟输入管脚,用于产生器件所有数据发送或接收的时钟。
SDA:双向串行数据/地址管脚,用于器件所有数据的发送或接收。 A0、A1、A2:器件地址输入端。这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。使用AT24C02最大可级联8个器件。
WP:写保护。如果WP管脚连接到VCC,所有的内容都被写保护,只能进行读操作。当WP管脚连接到GND或悬空,允许器件进行正常的读/写操作。
GND:电源地(GND)。 VCC:电源电压(5V)。
AT24C02通过IIC总线与单片机进行通信,电路连接如图3-8
18
图3-8 AT24C02电路
3.5报警及控制电路
由于只对温度太高和太低报警,报警功能并不复杂,这里没有采用语音报警功能,而用蜂鸣器代替,这样系统更简洁,软件方面也比较好控制,成本也更低。蜂鸣器电路如图3-9,采用PNP三极管驱动蜂鸣器。
19

