#include<>
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^6; //ds18b20与单片机连接口
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
unsigned char code str1[]={"temperature: "};
unsigned char code str2[]={" "};
uchar data disdata[5];
uint tvalue; //温度值
uchar tflag; //温度正负标志
/*************************lcd1602程序**************************/
void delay1ms(unsigned int ms) //延时1毫秒
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<100;j++);
}
void (unsigned ) //写指令//
{
delay1ms(1);
RS=0;
RW=0;
EN=0;
;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void wr_dat(unsigned char dat) //写数据//
{
delay1ms(1);;
RS=1;
RW=0;
EN=0;
P1=dat;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void lcd_init() //初始化设置//
{
delay1ms(15);
(0x38);delay1ms(5);
(0x08);delay1ms(5);
(0x01);delay1ms(5);
(0x06);delay1ms(5);
(0x0c);delay1ms(5);
}
void display(unsigned char *p) //显示//
{
while(*p!='\0')
{
wr_dat(*p);
p++;
delay1ms(1);
}
}
init_play() //初始化显示
{
lcd_init();
(0x80);
display(str1);
(0xc0);
//display(str2);
}
/******************************ds1820程序***************************************/
void delay_18B20(unsigned int i)//延时1微秒
{
while(i--);
}
/*****ds1820复位******/
void ds1820rst()
{
unsigned char x=0;
DQ = 1; //DQ复位
delay_18B20(4); //延时
DQ = 0; //DQ拉低
delay_18B20(100); //精确延时
温度传感器DS18B20程序(C语言) 来自淘豆网www.taodocs.com转载请标明出处.