久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6305|回復: 3
收起左側

ds18b20的整數和小數

[復制鏈接]
ID:65751 發表于 2014-9-5 23:21 | 顯示全部樓層 |閱讀模式
  ReadyReadTemp(); //讀溫度準備,初始化等
  TL=ReadOneChar();//先讀的是溫度值低位
  TH=ReadOneChar();//接著讀的是溫度值高位
  TN=TH*16+TL/16;  //實際溫度值=(TH*256+TL)/16,即:TH*16+TL/16,這樣得出的是溫度的整數部分,小數部分被丟棄了        
  TD=(TL%16)*10/16;//計算溫度的小數部分,將余數乘以10再除以16取整,這樣得到的是溫度小數部分的第一位數字(保留1位小數)
   程序如上,是某人寫的。TN整數部分和TD小數部分是怎樣算出的,其原理是什么呀,看得一頭霧水。望大蝦指點迷津,不勝感謝!
回復

使用道具 舉報

ID:58502 發表于 2014-9-5 23:53 | 顯示全部樓層
ds18b20的工作與那里就是讀數/16就等于實際溫度、讀數分為高位和低位,也就是TH和TL。實際溫度值=(TH*256+TL)/16,去掉括號就是TH*16+TL/16。而小數點后一位TD=(TL%16)*10/16實際也是實際溫度值=(TH*256+TL)%16/16也就是利用余數來當小數點因為TH*256肯定會被整除所以省略了。最終是TL%16/16,因為算出來的值是零點幾,所以要乘以10放大來顯示

評分

參與人數 1威望 +45 黑幣 +45 收起 理由
admin + 45 + 45 回帖助人的積分獎勵

查看全部評分

回復

使用道具 舉報

ID:65751 發表于 2014-9-6 13:31 | 顯示全部樓層
思路還是有點亂呀。能清晰說一下嗎。下面附上類型說明:
unsigned char TL;     //儲存暫存器的溫度低位
unsigned char TH;    //儲存暫存器的溫度高位
unsigned int TN;      //儲存溫度的整數部分
unsigned int TD;      //儲存溫度的小數部分           
回復

使用道具 舉報

ID:65608 發表于 2014-9-6 14:54 | 顯示全部樓層
liaolinhui 發表于 2014-9-5 23:53
ds18b20的工作與那里就是讀數/16就等于實際溫度、讀數分為高位和低位,也就是TH和TL。實際溫度值=(TH*256+T ...

這個解釋已經很詳細了啊,如果還是看不懂的話 我建議先補習一下,基礎知識吧,不要吧時間浪費的看不懂的地方,因為沒有了解這部分的原理的話 是無論如何也無法看懂的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91深夜福利视频 | 九九热免费在线观看 | 特黄特色大片免费视频观看 | 欧美色欧美亚洲另类七区 | 日本精品一区二区三区视频 | 欧洲一区二区视频 | 亚洲精品欧美一区二区三区 | 成人av电影网 | 精品在线| 91欧美 | 亚洲精品视频久久 | 一区二区在线免费播放 | 久久精品亚洲国产 | 日韩91在线| 在线不卡视频 | 成人精品鲁一区一区二区 | 国产人成精品一区二区三 | 亚洲精品一区二区三区在线观看 | 伊人在线| 日韩中文字幕 | 国产精品免费av | 日韩欧美国产精品一区 | 日韩av成人| 色婷婷综合网 | 一区二区三区四区在线视频 | 欧美成人综合 | 免费网站国产 | 国产乱码精品一区二区三区中文 | 亚洲欧美激情精品一区二区 | 欧美亚洲激情 | 在线一区二区观看 | 中文字幕黄色大片 | 黄色一级网 | 国产精品精品3d动漫 | 中文字幕一区在线观看视频 | 中文字幕精品一区二区三区精品 | 91精品国产91久久久久久密臀 | 亚洲一区二区免费 | 成人久久18免费网站麻豆 | 国产乱码精品一区二区三区五月婷 | 日本福利视频免费观看 |