您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机AVR DS18B20 程序 正文
AVR DS18B20 程序

AVR DS18B20 程序

点击数:7266 次   录入时间:03-04 11:37:22   整理:http://www.55dianzi.com   AVR单片机

sei(); // 恢复系统中断 
wait_us(62); // 必须大于60us 

return(dat); 


/*------------------------------------------------------- 
* 我的电路中只有一个器件DS18B20,所以不需要多个器件的ID 
* 识别,跳过之后,启动温度转换,但在启动后,用户应等待几百个 
* 毫秒,才能读到这次的转换值,这是DS18B20的数据手册规定的。 
* 因为温度转换是需要时间的嘛!(^_^) 
*/ 
void convert_T(void) 

if(ds18b20_reset()==SUCC) { // 如果复位成功 
ds18b20_write(0xcc); // 跳过多器件识别 
ds18b20_write(0x44); // 启动温度转换 



/*------------------------------------------------------- 
* 读取转换后的温度值 
* 我假定DS18B20一定是正确的,所以没有返回有关状态。当你故意 
* 把DS18B20从电路中拔下而能让程序告诉你出错时,你可以自己修 
* 改这段代码! 
*/ 
INT16U read_T(void) 

INT16U value=0; 

if(ds18b20_reset()==SUCC) { // 如果复位成功 
ds18b20_write(0xcc); // 跳过多器件识别 
ds18b20_write(0xbe); // 读暂存器 
value = (INT16U)ds18b20_read(); // 低字节 
value += (INT16U)(ds18b20_read())<<8; // 高字节 

return(value); 



#endif 
/* 文件ds18b20.c结束 */ 

上一页  [1] [2] 


本文关键字:程序  AVR单片机单片机-工控设备 - AVR单片机

上一篇:AVR 18B20程序