#include
#include"18b20.c"
sbit DQ =P1^0; //定义通信端口
unsigned char tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0, 1, 2 3 4 5 6 7 8 9
void delay(unsigned int i);//延时函数
Init_DS18B20(void); //初始化函数
ReadOneChar(void); //读一个字节
WriteOneChar(unsigned char dat); //写一个字节
ReadTemperature(void); //读取温度
void display(unsigned char i); //温度显示函数
unsigned char c=0,x=0;
//****主程序温度显示函数**********
void display(unsigned char i){
P0=tab[i/10];
P2=0x04;
delay(100);
P0=tab[i%10];
P2=0x02;
delay(100);
P0=tab[x];
P2=0x01;
delay(100);
}
void main(void){
unsigned char temp;
while(1){ //主循环
temp=ReadTemperature();
display(temp);
}
}
网页链接
有源码和protues仿真