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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2239|回復: 9
打印 上一主題 下一主題
收起左側

關于一段ds18b20單片機程序的理解

[復制鏈接]
跳轉到指定樓層
樓主
ID:100982 發表于 2022-10-10 11:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. if (res) //讀取成功時,刷新當前溫度顯示
  2. {
  3. intT = temp >> 4; //分離出溫度值整數部分
  4. decT = temp & 0xF; //分離出溫度值小數部分
  5. len = IntToString(str, intT); //整數部分轉換為字符串
  6. str[len++] = '.'; //添加小數點
  7. decT = (decT*10) / 16; //二進制的小數部分轉換為 1 位十進制位
  8. str[len++] = decT + '0'; //十進制小數位再轉換為 ASCII 字符
  9. while (len < 6) //用空格補齊到 6 個字符長度
  10. {
  11. str[len++] = ' ';
  12. }
  13. str[len] = '\0'; //添加字符串結束符
  14. LcdShowStr(0, 0, str); //顯示到液晶屏上
  15. }
復制代碼
decT = (decT*10) / 16; //二進制的小數部分轉換為 1 位十進制位
這段程序的話為啥要把dect *10,這里干嗎要乘以10啊?不是很理解
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:624769 發表于 2022-10-10 13:28 來自觸屏版 | 只看該作者
除以1.6,規避浮點運算就是先乘以10再除以16。
回復

使用道具 舉報

板凳
ID:100982 發表于 2022-10-10 13:30 | 只看該作者
188610329 發表于 2022-10-10 13:28
除以1.6,規避浮點運算就是先乘以10再除以16。

為什么是除以1.6
回復

使用道具 舉報

地板
ID:624769 發表于 2022-10-10 13:45 來自觸屏版 | 只看該作者
wifen 發表于 2022-10-10 13:30
為什么是除以1.6

用0-f,即0-15表示小數部分,除以1.6可以得到十分位,除以0.16可以得到十分位和百分位,你隨便代入幾個數字就能理解了。
回復

使用道具 舉報

5#
ID:100982 發表于 2022-10-10 14:10 | 只看該作者
188610329 發表于 2022-10-10 13:45
用0-f,即0-15表示小數部分,除以1.6可以得到十分位,除以0.16可以得到十分位和百分位,你隨便代入幾個數 ...

decT = temp & 0xF; //分離出溫度值小數部分
這個地方分離出來的不是4個16進制數嗎?decT = (decT*10) / 16這樣的話不是只得到一位?
回復

使用道具 舉報

6#
ID:1034262 發表于 2022-10-10 14:21 | 只看該作者
看我的:
t = (adc * 5) >> 3;        // adc * (0.0625 * 10) = adc * 0.625 = dat * 5 / 8,  1位小數
回復

使用道具 舉報

7#
ID:624769 發表于 2022-10-10 15:13 來自觸屏版 | 只看該作者
wifen 發表于 2022-10-10 14:10
decT = temp & 0xF; //分離出溫度值小數部分
這個地方分離出來的不是4個16進制數嗎?decT = (decT*10) / ...

你搞錯了,
decT = temp & 0xF; //分離出溫度值小數部分
這個地方分離出來的不是4個16進制數嗎?

這個地方是分離出4個2進制,即一個16進制,他的取值范圍只有0-15,他每增加減少1,代表溫度上升下降0.0625度, 即十六分之一度,你要用十進制表示,也就了不起是,計算到百分位而已了,10分位基本也夠了。
回復

使用道具 舉報

8#
ID:100982 發表于 2022-10-10 16:18 | 只看該作者
188610329 發表于 2022-10-10 15:13
你搞錯了,
decT = temp & 0xF; //分離出溫度值小數部分
這個地方分離出來的不是4個16進制數嗎?

明白了,十分感謝
回復

使用道具 舉報

9#
ID:390416 發表于 2022-10-11 12:16 | 只看該作者
51單片機+DS1302+DS18B20+74HC595的LED16x32點陣溫度萬年歷源代碼分享 http://www.zg4o1577.cn/bbs/dpj-200968-1.html
回復

使用道具 舉報

10#
ID:100982 發表于 2022-10-11 15:09 | 只看該作者
人人學會單片機 發表于 2022-10-11 12:16
51單片機+DS1302+DS18B20+74HC595的LED16x32點陣溫度萬年歷源代碼分享 http://www.zg4o1577.cn/bbs/dpj-20096 ...

感謝,哈哈,晚點去下載來膜拜
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久久久久久久一区二区 | 久久lu | 国产91在线播放精品91 | 天天看天天爽 | 久久精品无码一区二区三区 | 亚洲精品电影 | 日韩中文字幕一区二区 | 欧美日韩成人在线 | av黄色片在线观看 | 久久久久久免费精品一区二区三区 | 国产精品1区 | 国产精品日韩一区二区 | 日韩成人 | 午夜成人免费电影 | 视频1区2区 | 刘亦菲国产毛片bd | 日韩电影免费在线观看中文字幕 | 日韩成人在线视频 | 国产三级电影网站 | 91亚洲国产| 在线国产中文字幕 | 国内精品久久精品 | 免费一级淫片aaa片毛片a级 | 一级毛片免费看 | 欧洲尺码日本国产精品 | 最新国产精品精品视频 | 国产精品久久国产精品久久 | 日韩精品久久 | 欧美一区二区三区久久精品视 | 国产免费观看一区 | 一区观看 | 久久er99热精品一区二区 | 精品综合 | 国产一区二区中文字幕 | 欧美久久久久久久 | 在线免费国产视频 | 国产精品免费一区二区 | 在线免费黄色小视频 | 一区二区三区视频在线观看 | 精品国产一区二区三区久久影院 | 不卡一区二区三区四区 |