亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

[求助] DS18b20+LCD1602的顯示問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:48440 發表于 2013-3-5 21:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

各位大俠,請問下,我用ds18b20采集溫度到單片機,利用LCD1602來顯示,可是為什么每次運行時,第一次顯示的都是85度,然后再恢復正常,可能是什么原因導致的?以下是主函數部分,我覺得可能出錯這這部分,

void main(void)
 {   
   uchar TL;     //儲存暫存器的溫度低位
      uchar TH;    //儲存暫存器的溫度高位
      uchar TN;      //儲存溫度的整數部分
   uchar TD;       //儲存溫度的小數部分
      uint j;
   Relay=0;
   LcdInitiate();         //將液晶初始化
    delayms(5);       

  if(Init_DS18B20()==1)
     display_error();
  display_explain();
     display_symbol();    //顯示溫度說明
        display_dot();       //顯示溫度的小數點
        display_cent();      //顯示溫度的單位
   while(1)                //不斷檢測并顯示溫度
  { 
    flag=0;
    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位小數)
  display_temp1(TN);    //顯示溫度的整數部分
     display_temp2(TD);    //顯示溫度的小數部分
  delayms(50);

請大俠幫忙指點指點!!!謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2013-3-6 09:02 | 只看該作者
18b20上電時啟動的稍慢,是不是這個原因?你加一點延時試試?
[此貼子已經被作者于2013-3-6 9:03:34編輯過]
回復

使用道具 舉報

板凳
ID:48440 發表于 2013-3-6 15:35 | 只看該作者

好的,我試試,謝謝了。

回復

使用道具 舉報

地板
ID:96006 發表于 2015-12-3 07:13 | 只看該作者

成功了嘛
回復

使用道具 舉報

5#
ID:121694 發表于 2016-5-18 14:31 | 只看該作者
應該是芯片本身默認吧,我的也是
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表