/***********************************************************************
********************************imeslot }
EA=1;
return(value);
/********************************************************
向1-WIRE总线上写一个字节
*********************************************************/ static void write_byte(char val)
{
byte i;
EA=0;
for (i=8; i>0; i--) // writes byte, one bit at a time
{
DQ = 0; // pull DQ low to start timeslot
DQ=0;
DQ = val&0x01; //6US
delay(5);// hold value for remainder of timeslot //74us
DQ = 1;
val=val>>1;
}
EA=1;
delay(5);
}
/*******************************************************
读取温度
*******************************************************/
word Read_Temperature(void) {
union{
byte c[2];
word x;
}temp;
ow_reset();
write_byte(0xCC); // Skip ROM
write_byte(0xBE); // Read Scratch Pad
[1]=read_byte();
[0]=read_byte();
ow_reset();
write_byte(0xCC); //Skip ROM
write_byte(0x44); // Start Conversion return ; } /***************************************************************
求解温度
***************************************************************/ extern byte Real_Tem(void)
{
word wen;
wen=Read_Temperature();
return((wen>>4)&0x00ff);
}
/***********************************************************************
***********************************************************************/ #include <>
#include"”
//数据区
#define time_default 41
byte dingshi_time=time_default;// 存放定时时间''''''
bit flag_dingshi=0; //0 表示没有定时
word dingshi_jishu3=1000;//1000*60=1 分钟
//
bit flag_dingshi_delay=0;//1 表示有
byte dingshi_delay=100;
//
#define hwx_delay_const 3 // 人体感应延时时间
byte hwx_delay=hwx_delay_const;//用于保存红外线触发延长时间 word hwx_jishu1=0;
//
byte wendu=0;//用于存放温度值'''''' // #define low_wen 18 #define mid_wen 20 #define hig_wen 24
#define vhi_wen 28 //
byte time_stor=100; //存储主观时间〃触发显示
byte wendu_stor=low_wen;//存储主观温度〃触发显示
// enum station0{zidong,dingshi,shoudong,weak}state;
〃函数说
智能控制风扇源程序 来自淘豆网www.taodocs.com转载请标明出处.