https://static.assets-stash.eet-china.com/album/old-resources/2008/12/16/3fd29f6a-9532-4251-8444-5ab4e84d6797.rarDS18B20测量正负温度,即-55℃~+125℃,使用单总线对DS18B20操作,总线上可以挂接若干个DS18B20实现多点测温,硬件连接简单,时序却很严格,若用数码管显示,数码管驱动必须要带锁存功能,否则不能动态显示。于是使用DS18B20和CH452L实现温度的测量和显示,这里只用到了一个DS18B20,还可扩展为多个DS18B20测温,一个DS18B20的测温完整测温资料在附件中,MCU使用ATMEGA8,时钟频率是8MHZ,编译环境是ICC6.31A,实现的功能如下:
(1) 使用DS18B20测温并显示在数码管上;
(2) 通过串口发送一个字节的数据来设定测温的阈值,实测温度超过阈值触发报警(这里是向串口发送报警标志的字符串)。
说明:(1)报警功能也可以在程序中修改为声光报警。
(2)我用的是8位数码管,2*8按键,硬件全部在万用板上实现,数码管的连线很多,很容易接触不良,时好时坏(这是接触不良,而不是硬件原理的缺陷哦),最低位的数码管有一段显示不正常,所以程序中用高四位数码管显示温度。
用户1398279 2008-12-16 10:51