#include#include#defineucharunsignedchar#defineuintunsignedintsbitds=p2^2;//温度传感器信号线sbitdula=p2^6;数字管段选线//sbitwela=p2^7;//数码管位置选线sbitbeep=p2^3;//蜂鸣器uinttempfloatf_tempuintwarn_l1=260uintwarn_l2=250uintwarn_h1=300uintwarn_h2=320sbitled0=p1^0;sbitled1=p1^1;sbitled2=p1^2;sbitled3=p1^3;unsignedcharcodetable={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//编码voiddelay//不带小数点//延迟函数{uintx,y;forfor}voiddsreset//18B20复位,初始化函数{uintids=0;i=103whileI-;ds=1;I=4;whileI-;}bittempreadbit//读取1位函数{uintibitdatds=0;i ;//i 起延迟作用ds=1;i ;i ;dat=dsI=8;whileI-;返回;}uchartempread//读取1字节{uchari,j,datdat=0;for{j=tempreadbitdat=|;//读取数据的最低位在前面,所以DAT}return中只有一个字节;}voidtempwritebyte//向18B20写入一个字节的数据{uinti乌恰尔杰;bittestbfor{testb=dat
文章TAG:原理 Ds18b20 ds18b20 传感器 温度 ds18b20温度传感器工作原理