DS18B20中文资料附加程序(3)

2019-03-05 22:16

EA=1; while(1) { while(cnt) { cnt=0; reset(); if(live==0) //18B20存在 { writebyte(0xcc); writebyte(0x44); //转化温度 reset(); writebyte(0xcc); writebyte(0xbe); //读取温度 readdata[0]=readbyte(); //读取低位温度 readdata[1]=readbyte(); //读取高位温度 sflag=1; //温度标记位,1 if((readdata[1]&0xf8)!=0x00) //如果是负温,将补码转为原码 { sflag=0; readdata[1]=~readdata[1]; //负数的补码等于真值按位取反后末位加1 readdata[0]=~readdata[0]+1; if(readdata[0]>255) //如果低八11111111(255),向高八位进1 readdata[1]++; } test=((readdata[1]*256)+readdata[0])/16;//把高位与低位的值转成 LED[1]= test/100; //百位 LED[2]= test0/10; //十位 LED[3]= test; //个位 LED[4]= (readdata[0]&0x0f)*6/10; //十分位的值,精确度为度 LED[5]= (readdata[0]&0x0f)*6; //百分位的值,精确度为度 } else //18B20不存在 for(i=0;i<8;i++) LED[i]=10; LED[6]=11; LED[7]=11; if(sflag==0) {LED[0]=10;}

0为负 转为原码后大于10进制) 0.06250.0625为正,位的值 else LED[0]=11; display(&LED[0]); //动态显示数码 } } }

//****************************************************************************// void timer0() interrupt 1 { TH0=(65536-10000)/256; TL0=(65536-10000)%6; cnt++; }


DS18B20中文资料附加程序(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版小学语文三年级下册看拼音写词语(共八个单元)

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

马上注册会员

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