#include<reg52.h>
code unsigned char seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x40}; //显示段码
sbit TMDAT =P3^1; //DS18B20 的数据输入/输出脚DQ,根据情况设定
sbit P2_7=P2^7;
sbit P2_6=P2^6;
sbit P2_5=P2^5;
sbit jia=P2^4;
sbit jian=P2^3;
sbit di=P2^2;
sbit zh=P2^1;
sbit ga=P2^0;
j=0;
unsigned int sdata;//测量到的温度的整数部分
//unsigned char xiaoshu1;//小数第一位
//unsigned char xiaoshu2;//小数第二位
//unsigned char xiaoshu;//两位小数
bit fg=1; //温度正负标志
//*显示延时程序*///
void Delay(unsigned int tc)
{while( tc != 0 )
{unsigned int i;
for(i=0; i<80; i++);
tc--;}
}
延时部分///
void yanshi (unsigned int count)
{
unsigned char i;
while(count--)
{for(i=0;i<115;i++);}
}
void del() /*延时1秒*/
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=100;j>0;j--)
for(k=248;k>0;k--);
}
/发送复位///
void fashong (void)
{
unsigned char i;
TMDAT = 0; for(i=0;i<103;i++);
TMDAT = 1; for(i=0;i<4;i++);
}
bit tmrbit (void) //读一位//
{
unsigned int i;
bit dat;
TMDAT = 0;
i++;
TMDAT = 1;
i++; i++; //微量延时 //
dat = TMDAT;
for(i=0;i<8;i++);
return (dat);
}
unsigned char tmrbyte (void) //读一个字节
{
unsigned char i,j,dat;
dat = 0;
for (i=1;i<=8;i++)
{ j = tmrbit(); dat = (j << 7) | (dat >> 1); }