全球旧事资料 分类
所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。考虑到DS1820测量温度的整数部分以025℃、075℃为进位界限的关系,实际温度Ts可用下式计算:
Ts(Tz025℃)(CDCs)/CD
24温度传感器接口电路
112020年4月19日
f文档仅供参考,不当之处,请联系改正。
图341温度传感器接口电路3系统的软件设计
31主程序主函数voidmai
ucharadotmpcha
gefora10a0adisplaytmp在数码管上显示温度while132温度测量
321初始化DS18B20初始化DS18B20voiddsresetvoidse
dreseta
di
itializatio
122020年4月19日
f文档仅供参考,不当之处,请联系改正。
comma
d初始化DS18B20ui
tiDS0i103whilei0iDS1i4whilei0i322DS18B20读字节读取一位数据bittmpreadbitvoidreadabit读一位ui
tibitdatDS0iifordelay小延时一下DS1i
132020年4月19日
f文档仅供参考,不当之处,请联系改正。
idatDSi8whilei0iretur
datuchartmpreadvoidreadabytedate读一个字节ucharijdatdat0
fori1i8ijtmpreadbitdatj7dat1读出的数据最低位在最前面,这样刚好一个字节在DAT里
retur
dat323DS18B20写字节写入字节数据voidtmpwritebyteuchardatwriteabytetods18b20
142020年4月19日
f文档仅供参考,不当之处,请联系改正。
写一个字节到DS18B20里面ui
tiucharjbittestbforj1j8jtestbdat0x01datdat1iftestbwrite1写1部分DS0iiDS1i8whilei0ielseDS0write0写0部分i8whilei0
152020年4月19日
f文档仅供参考,不当之处,请联系改正。
iDS1ii324启动温度测量启动温度测量voidtmpcha
gevoidDS18B20begi
cha
ge发送温度转换命令dsreset初始化DS18B20delay1延时tmpwritebyte0xccaddressalldriverso
bus跳过序列号命令tmpwritebyte0x44i
itiatesasi
gletemperatureco
versio
发送温度转换命令ui
ttmpgetthetemperature获得温度floattt
162020年4月19日
f文档仅供参考,不当之处,请联系改正。
ucharabdsresetdelay1tmpwritebyte0xcctmpwritebyte0xbeatmpread
btmpreadtempbtemp8twobytecomposeai
tvariable两字节合成一个整型变量temptempatttemp00625得到真实十进制温度值,因为DS18B20能够精确到00625度,因此读回数据的最低位代表的是00625度。
temptt1005放r
好听全球资料 返回顶部