#include<reg51.h>

[复制链接]
查看11 | 回复1 | 2010-6-20 12:23:44 | 显示全部楼层 |阅读模式
#include
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^0;
sbit dian=P1^7;
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
uchar code dittab[]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,

0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
uchar code san[]={0xfe,0xfd,0xfb,0xf7};
uchar data display[]={0x00,0x00,0x00,0x00,0x00};
uchar data temp_data[]={0x00,0x00}
void delay(uint t)
{while(t--);
}
int_18b20(void)
{
DQ=1;
delay(8);
DQ=0;
delay(80);
DQ=1;
delay(14);
delay(20);
}
read()
{uchar i=0,dat=0;
for(i=8;i>0;i--)

{DQ=0;
dat>>=1;
DQ=1;
if(DQ)

dat|=0x80;

delay(4);

}
return(dat);
}
write(uchar dat)
{uchar i=0;
for(i=8;i>0;i--)

{DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat>>=1;
}
delay(4);
}
void int_()
{ int_18b20();
write(0xcc);
write(0x44);
}
read_temp()
{
uchar a,b;
int_18b20();
write(0xcc);
write(0xbe);
temp_data[0]=read();
temp_data[1]=read();
int_();
}
work_temp()
{uchar bai,shi,ge,n;
if(temp_data[1]>127)

{temp_data[1]=(256-temp_data[1]);
temp_data[0]=(256-temp_data[0]);
n=1;
}
display[4]=temp_data[0]&0x0f;
display[0]=dittab[display[4]];
display[4]=((temp_data[0]&0xf0)>>4|(temp_data[1]&0x0f)0;x--) for(y=110;y>0;y--);}}//这是延时2ms的程序,你自己可以通过改数值来改变它的延时长短。第15句应该是void int_18b20(void)下面的错误基本上都是上边的错误一起的,还有一句:第25句应该是void read()
回复

使用道具 举报

千问 | 2010-6-20 12:23:44 | 显示全部楼层
uchar data temp_data[]={0x00,0x00};在他后面加分号。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行