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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于sht11溫濕度檢測的零下溫度顯示問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:208180 發表于 2017-11-17 15:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
想問下大神們,在sht11溫濕度檢測顯示到lcd1602的時候,
當溫度是零下溫度的時候,源碼需要怎么樣寫才可以在lcd上正確的顯示出負數溫度呢?

現在在論壇上參考到的代碼如下:

                       TEMP_data[0]=temp/1000+'0';                     //溫度百位
                       if (TEMP_data[0]==0x30)
                         TEMP_data[0]=0x20;
                       TEMP_data[1]=temp%1000/100+'0';                //溫度十位      
                       if (TEMP_data[1]==0x30 && TEMP_data[0]!=0x30)
                       TEMP_data[1]=0x20;
                       TEMP_data[2]=temp%100/10+'0';                   //溫度個位
                       TEMP_data[3]=0x2e;                              //小數點
                       TEMP_data[4]=temp%10+'0';                       //溫度小數點后第一位            
                       TEMP_data[5]=0xdf;                              //顯示溫度符號℃
                       TEMP_data[6]='\0';
                       
                        Print(TEMP_data);
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:79358 發表于 2017-11-17 16:25 | 只看該作者
判斷出來的溫度值是否小于零,是的話就要在前面加個符號,具體ASCII嗎查表,數值顯示和你讀到正溫度的顯示是一樣的
回復

使用道具 舉報

板凳
ID:208180 發表于 2017-11-17 17:15 | 只看該作者
嘉輝先生 發表于 2017-11-17 16:25
判斷出來的溫度值是否小于零,是的話就要在前面加個符號,具體ASCII嗎查表,數值顯示和你讀到正溫度的顯示 ...

感謝回復!

那源碼是應該判斷TEMP_data是否小于零呢,還是temp?
回復

使用道具 舉報

地板
ID:208180 發表于 2017-11-17 23:58 | 只看該作者
加了一行代碼之后,負數顯示倒是正常了,但是正數溫度又不對了。。。。急求回復啊。。

                      if(temp & 0xf0)
                                            {
                                                temp = ~temp + 1;
                                               
                                                TEMP_data[0]=0x2d;
                         TEMP_data[1]=temp%1000/100+'0';                //溫度十位      
                         if (TEMP_data[1]==0x30)
                                             TEMP_data[1]=0x20;
                         TEMP_data[2]=temp%100/10+'0';                   //溫度個位
                         TEMP_data[3]=0x2e;                              //小數點
                         TEMP_data[4]=temp%10+'0';                       //溫度小數點后第一位            
                         TEMP_data[5]=0xdf;                              //顯示溫度符號℃
                         TEMP_data[6]='\0';
                                                }
                                         
                                            else
                                                {
                               
                                                 TEMP_data[0]=0x20;
                         TEMP_data[1]=temp%1000/100+'0';                //溫度十位      
                         if (TEMP_data[1]==0x30)
                                             TEMP_data[1]=0x20;
                         TEMP_data[2]=temp%100/10+'0';                   //溫度個位
                         TEMP_data[3]=0x2e;                              //小數點
                         TEMP_data[4]=temp%10+'0';                       //溫度小數點后第一位            
                         TEMP_data[5]=0xdf;                              //顯示溫度符號℃
                         TEMP_data[6]='\0';
   
                                                }
                                                 
                               

                      Print(TEMP_data);                                //輸出溫度   
回復

使用道具 舉報

5#
ID:208180 發表于 2017-11-18 00:02 | 只看該作者
求大神指點到底需要如何修改代碼。。
回復

使用道具 舉報

6#
ID:143047 發表于 2017-11-18 22:49 | 只看該作者
請問sht11是如何區分正負溫度的呢?我用的是sht20在文檔沒有找到,想請教一下你,應該sht11和sht20相似的吧。
回復

使用道具 舉報

7#
ID:143047 發表于 2017-11-18 22:50 | 只看該作者
請教一下,請問sht11是如何判斷這個溫度是正溫度還是負溫度呢?
回復

使用道具 舉報

8#
ID:79358 發表于 2017-11-30 13:16 | 只看該作者
etxuxu 發表于 2017-11-17 17:15
感謝回復!

那源碼是應該判斷TEMP_data是否小于零呢,還是temp?

temp 應該是你讀到的溫度   TEMP_data在你程序里面是個數組,目的為了是區temp的各個位,方便在1602上顯示的。
回復

使用道具 舉報

9#
ID:319538 發表于 2018-5-1 11:42 來自手機 | 只看該作者
你這個問題解決了嗎?我用protues仿真時sht10的溫濕度總有1-2度的偏差25度之后溫度就會低于我在sht10上顯示的值,這是為什么呢?
回復

使用道具 舉報

10#
ID:504613 發表于 2019-5-5 09:16 | 只看該作者
我也遇到這個問題,你的解決了嗎/
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美aⅴ | 欧洲视频一区 | 中文字幕在线看第二 | 一区二区三区网站 | 国产在线一区观看 | 视频在线h | 亚洲人在线 | 欧美h视频 | 黄色在线免费观看 | 国产精品一二区 | 少妇一级淫片aaaaaaaaa | 青青草原精品99久久精品66 | 亚洲视频在线观看 | 中文字幕电影在线观看 | 国产黄色在线 | 久久精品青青大伊人av | 毛片免费观看 | 四虎永久免费黄色影片 | 亚洲www啪成人一区二区麻豆 | 一级无毛片 | 精品久久久久久久 | 久久久久久国产精品 | 国产精品久久九九 | 国产精品久久久久久久久久不蜜臀 | 综合久久亚洲 | 国产电影一区二区在线观看 | www.狠狠操 | 婷婷综合网 | 国产精品亚洲精品 | 999久久久久久久久6666 | 欧美在线一区视频 | 天天综合久久 | 免费观看成人鲁鲁鲁鲁鲁视频 | 成人在线精品视频 | 99在线资源 | 天天在线操 | 一区二区三区回区在观看免费视频 | 午夜看看| 狠狠综合久久av一区二区老牛 | 狠狠综合久久av一区二区老牛 | 色综合视频在线 |