欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
溫度傳感器DS18B20溫度測量程序
[打印本頁]
作者:
daniu
時間:
2014-12-27 00:28
標題:
溫度傳感器DS18B20溫度測量程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit lcdwr=P3^6;
sbit dula=P2^6;
sbit wela=P2^7;
sbit DQ=P2^2;
uchar code table0[]="DS18B20";
uchar code table1[]="0123456789";
uchar num,shi,ge,dd=0;
uchar dat=0;
void delay(uchar z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay1(uchar i)
{
while(i--);
}
void write_com(uchar com)
{
lcdrs=1;
lcden=0;
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcdrs=0;
lcden=0;
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init_1602()
{
lcdwr=0;
wela=0;
dula=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
}
void init_DS18B20()
{
uchar x=0;
DQ=1;
delay1(8);
DQ=0;
delay1(80);
DQ=1;
delay1(14);
x=DQ;
delay1(20);
}
read_DS18B20(void)
{
uchar i=0;
uchar dat=0;
for(i=0;i<8;i++)
{
DQ=0;
dat=dat>>1;
DQ=1;
delay1(5);
if(DQ==1)
{
dat=dat|0x80;
}
delay1(4);
}
return (dat);
}
write_DS18B20(uchar dat)
{
uchar i=0;
for(i=0;i<8;i++)
{
DQ=0;
DQ=dat&0x01;
delay1(5);
DQ=1;
dat=dat>>1;
}
delay1(4);//每讀一個數之間都得有間隔
}
chuli_dat(void)
{
uchar aa=0;
uchar bb=0;
uchar cc=0;
init_DS18B20();
write_DS18B20(0xCC);
write_DS18B20(0x44);
init_DS18B20();
write_DS18B20(0xCC);
write_DS18B20(0xBE);//發送讀指令
aa=read_DS18B20();//讀高8位
bb=read_DS18B20();//讀低8位
cc=(aa>>4)|(bb<<4);
if(cc>128)
{
cc=~cc+1;
}
return(cc);
}
void main()
{
init_1602();
write_com(0x80);
for(num=0;num<7;num++)
{
write_data(table0[num]);
delay(10);
}
while(1)
{
dd=chuli_dat();
//write_com(0x80+0x08);
shi=dd/10;
ge=dd%10;
write_com(0x80+0x0b);
write_data(table1[shi]);
write_com(0x80+0x0c);
write_data(table1[ge]);
write_com(0x80+0x0d);
write_data(0xdf);
write_com(0x80+0x0e);
write_data('C');
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1