ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
{ } }
void tempchange(void) //DS18B20¿ªÊ¼»ñȡζȲ¢×ª»» {
dsreset(); delay(1);
tempwritebyte(0xcc); tempwritebyte(0x44); }
uint get_temp() //»ñÈ¡ÎÂ¶È {
uchar a,b; dsreset();
testb=dat&0x01; dat=dat>>1; if(testb)//д1 { } else { }
ds=0; //д0 i=8;while(i>0)i--; ds=1; i++;i++; ds=0; i++;i++; ds=1;
i=8;while(i>0)i--;
ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
delay(1);
tempwritebyte(0xcc); tempwritebyte(0xbe);
a=tempread(); //¶Á¸ß8λ b=tempread(); //¶ÁµÍ8λ temp=b;
temp<<=8; //Á½¸ö×Ö½Ú×éºÏ³É1¸ö×Ö½Ú temp=temp|a; f_temp=temp*0.0625; temp=f_temp*10+0.5;
f_temp=f_temp+0.05; //ζÈÔڼĴæÆ÷ÖÐΪ12룬·Ö±æÂÊΪ0.0625^ return temp; }
void display(uchar addr,uchar dat) {
write_com(0x80+0x40+addr); write_data(0x30+dat); delay(5); }
void dis_temp(uint t) {
uchar i; i=t/100; display(10,i); i=t0/10; display(11,i); i=t0; display(13,i); }
void init()//³õʼ»¯³ÌÐò
ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
{
uchar num; flag=1; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<15;num++)
{ }
write_data(table[num]); delay(5);
write_com(0x80+0x40); for(num=0;num<8;num++)
{ }
write_data(table1[num]); delay(5);
write_com(0x80+0x40+10); for(num=0;num<6;num++) { } }
//µØÖ·¡¢Êý¾Ý·¢ËÍ×Ó³ÌÐò
void write_1302( uchar addr,uchar dat ) {
write_data(table2[num]); delay(10);
ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
uchar i,temp;
CE=0; //CE Òý½ÅΪµÍ£¬ Êý¾Ý´«ËÍÖÐÖ¹ SCLK=0; //ÇåÁãʱÖÓ×ÜÏß
CE = 1; //CE Òý½ÅΪ¸ß£¬Âß¼¿ØÖÆÓÐЧ //·¢Ë͵ØÖ·
for ( i=8; i>0; i-- ) //Ñ»·8´ÎÒÆÎ» {
SCLK = 0; temp = addr;
DIO = (bit)(temp&0x01); // addr >>= 1; // SCLK = 1; }
//·¢ËÍÊý¾Ý
for ( i=8; i>0; i-- ) {
SCLK = 0; temp = dat;
DIO = (bit)(temp&0x01); dat >>= 1; SCLK = 1; }
CE = 0; }
//Êý¾Ý¶ÁÈ¡×Ó³ÌÐò
uchar Read1302 ( uchar addr ) {
unsigned char i,temp,dat1,dat2; CE=0; SCLK=0;
ÿ´Î´«ÊäµÍ×Ö½Ú ÓÒÒÆÒ»Î»