51单片机温度采集与显示设计(3)

2019-01-27 11:37

while(1)

Sum1=e*10; P2=0xff;

for(k=0;k<100;k++) { if(P2==0xf7)

{delay(10); if(P2==0xf7) h+=1; {

tempchange(); e=get_temp();

h=display(Sum1,h,j);

if(P2==0xfb)

{delay(10); if(P2==0xfb) }

h-=1;

h=display(Sum1,h,j); }

if(P2==0xfd)

{delay(10); if(P2==0xfd) j+=1;

h=display(Sum1,h,j); }

if(P2==0xfe) } } }

display(Sum1,h,j); {delay(10); if(P2==0xfe) j-=1;

h=display(Sum1,h,j);

}

DS18B20部分程序:

sbit ds=P3^5; //温度传感器信号线

unsigned int temp; float f_temp;

unsigned int warn_l1=260; unsigned int warn_l2=250; unsigned int warn_h1=300; unsigned int warn_h2=320;

void delay(unsigned int z)//延时函数 { }

void dsreset(void) //18B20复位,初始化函数 {

unsigned int x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--);

unsigned int i; ds=0; i=103; while(i>0)i--; ds=1; i=4; while(i>0)i--; }

bit tempreadbit(void) //读1位函数 {

unsigned int i; bit dat;

ds=0;i++; //i++ 起延时作用 ds=1;i++;i++; dat=ds;

i=8;while(i>0)i--; return (dat); }

unsigned char tempread(void) //读1个字节 {

unsigned char i,j,dat; dat=0;

for(i=1;i<=8;i++) {

j=tempreadbit();

dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里 }

return(dat); }

void tempwritebyte(unsigned char dat) //向18B20写一个字节数据 {

unsigned int i; unsigned char j; bit testb; for(j=1;j<=8;j++) {

testb=dat&0x01; dat=dat>>1; if(testb) //写 1


51单片机温度采集与显示设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:云梦县佳兴生猪养殖专业合作社章程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: