欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于單片機加ds18b20溫度模塊lcd顯示異常問題

[復制鏈接]
跳轉到指定樓層
樓主
/***********溫度顯示函數******************************/
void ds1820rst()     /*ds1820復位*/
{  
         unsigned char x=0;
         DQ = 1;          //DQ復位
         delay_uint(4);  //延時
         DQ = 0;          //DQ拉低
         delay_uint(80); //精確延時大于480us   540us
         DQ = 1;          //拉高總線   15-60us
         delay_uint(20);
     x=DQ;          //讀總線狀態   為0復位成功,1復位不成功
     delay_1ms(30);
     DQ=1;      //釋放總線         
}  

unsigned char ds1820rd()  /*讀數據*/
  {
          unsigned char i=0;
          unsigned char dat = 0;
          for (i=8;i>0;i--)
          {   
                  DQ = 0; //給脈沖信號
                  dat>>=1;
                  DQ = 1; //給脈沖信號
                  if(DQ)
                  dat|=0x80;     //dat和0x80做“或”運算(最高位1,其他位保持不變)
                  delay_uint(10);
          }
          return(dat);
  }

void ds1820wr(unsigned char wdata) /*寫數據*/
{
        unsigned char i=0;
    for (i=8; i>0; i--)
    {
          DQ = 0;
      DQ = wdata&0x01;      
      delay_uint(10);
      DQ = 1;
      wdata>>=1;
    }
}
       
read_temp()/*讀取溫度值并轉換*/
{
  unsigned char a,b;
  ds1820rst();   
  ds1820wr(0xcc);//*跳過讀序列號*/
  ds1820wr(0x44);//*啟動溫度轉換*/
  ds1820rst();   
  ds1820wr(0xcc);//*跳過讀序列號*/
  ds1820wr(0xbe);//*讀取溫度*/
  a=ds1820rd();
  b=ds1820rd();
  t=b;
  t<<=8;
  t=t|a;
        TM=t*0.625;
        t=TM*1+0.5;
        return(t);       
  }
void ds1820disp()//溫度值顯示
        {
    disdata[0]=t%1000/100+0x30;//十位數
    disdata[1]=t%100/10+0x30;//個位數
    disdata[3]=t%10+0x30;//小數位
               
        write_sfm2(1,12,disdata[0]);//顯示十位
    write_sfm2(1,13,disdata[1]);//顯示個位
    write_sfm2(1,14,0x2e);//顯示小數點
    write_sfm2(1,15,disdata[3]);//顯示小數位  
        }



從網上找的溫度模塊,加入到自己的代碼中,但是在lcd顯示屏上顯示4545,完全不會受ds18b20控制,不知道哪里出了問題


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:409251 發表于 2022-7-6 09:16 | 只看該作者
反復試驗發現proteus8.9版同時仿真LCD1602+DS18B20時各種出錯。用8.0版正常。用LED+DS18B20也正常。
回復

使用道具 舉報

板凳
ID:409251 發表于 2022-7-27 08:31 | 只看該作者
同感,用低版本可以
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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