µç×ÓÍòÄêÀúµÄÉè¼Æ±ÏÒµÂÛÎÄ ÏÂÔØ±¾ÎÄ

ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼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;

ÿ´Î´«ÊäµÍ×Ö½Ú ÓÒÒÆÒ»Î»