光刻ROM的64bit序列号是出厂前被光刻好的,它可以看作是DS18B20的地址序列号。光刻ROM的作用是使每一个DS18B20都各不相同,这样可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,用16bit符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。高、低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器命令可对TH、TL或配置寄存器写入。DS18B20采用外接电源方式,其VDD端用5V电源供电。单片机控制DS18B20完成温度转换必须经过初始化、ROM操作指令和存储器操作指令三个步骤。必须先启动DS18B20开始转换,再读出温度转换值。1.3水位监测模块系统设定三个水位监测标度:最低值、适中值、最高值,如图4所示。本模块采用价格低廉且使用方便的三极管放大电路,通过单片机分析电平的变化,实现水位监测功能,使水位保持在适中值附近。当水位低于最低值或超过最高值时,蜂鸣器发声报警,单片机控制送水系统的开启或关闭。
1.4温度显示模块温度显示模块采用6bit7段共阴极数码管显示电路。前两位数码管显示设定温度,设定范围为20~90℃,显示最小区分度为1℃。后4bit数码管显示容器内水的当前温度,范围为0~99℃,显示最小区分度为0.1℃,测量误差在±0.5℃内,此误差已经完全满足家用热水器的要求。1.5键盘输入模块键盘输入模块采用数字键盘,并附加升温键、降温键和电源键三个功能按键。系统开启后,通过数字键盘,使用者可设置温度,亦可通过升温、降温键对设定温度进行微调。2系统软件的设计系统软件设计时,必须明确热水器对控制器所提出的控制要求。因此系统软件设计的关键是控制继电器的开断,即加热与送水的启停。根据以上要求,系统软件设计采用模块化结构,包括系统主程序、DS18B20程序、LED显示程序和键盘扫描程序。主程序先进行初始化检测键盘输入,调用DS18B20程序。系统的加热与送水的启停分别由两个继电器与单片机P1.2和P1.3端口连接;水位监测程序监测到P1.1传来的信号后,通过P1.2的电平变化控制继电器,从而控制水位保持在合适位置。主程序将DS18B20检测的温度值与设置值比较后,决定P1.3电平,进而决定是否加热。系统主程序流程图如图5所示。