#include #include sbit DQ=P3^2;sbit P2_0=P2^0;sbit P2_1=P2^1;void Numbershow();void delay(unsigned char time){unsigned char n;n=0;while(nreturn; }void main(){while(1){Numbershow();delay(10);}}unsigned char Init_DS18B20(void){unsigned char x=0;DQ=1;delay(8);DQ=0;delay(85);DQ=1;delay(14);x=DQ;delay(20);return x;}unsigned char ReadOneChar( void){unsigned char i=0;unsigned char dat=0;for(i=0;i<8;i++){DQ=1;delay(1);DQ=0;dat>>=1;DQ=1;delay(2);if(DQ) dat|=0x80;delay(4);}return (dat);}void WriteOneChar(unsigned char dat){unsigned char i=0;for(i=0;i<8;i++){DQ=0;delay(2);DQ=dat&0x01;delay(5);DQ=1;dat>>=1;}delay(4);}unsigned char ReadTemperature(void){unsigned char tempL=0;unsigned char tempH=0;unsigned char temperature;Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0x44);delay(125);Init_DS18B20();WriteOneChar(0x44);WriteOneChar(0xee);tempL=ReadOneChar();tempH=ReadOneChar(); temperature=((tempH*256)+tempL)>>4;delay(200);return(temperature);}void Numbershow(unsigned char num){unsigned char ten,one;unsigned char LED[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};ten=num/10;one=num%10;P2_0=0;P1=LED[one];delay(10);P2_1=0;P1=LED[ten];delay(10);}