找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5857|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

protues仿真DS18b20溫度顯示失敗,一直顯示0,請各位幫忙看看(程序與仿真見附件)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:319568 發(fā)表于 2019-12-24 20:21 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
//Ds18b20初始化,
bit Ds18b20Init()
{
  bit i;
  DSPORT=1;
  _nop_();  
  DSPORT=0;//拉低總線
  Delaylms(500); //拉低500秒,拉低480秒~960秒即可
  DSPORT=1;//釋放總線
  Delaylms(68);//延時68秒。等待DS18b20響應(yīng)
  i=DSPORT;
  Delaylms(150);
  DSPORT=1;
  _nop_();
  return (i);
}
//寫函數(shù)
void Ds18b20WriteByte(uchar dat)
{
        uchar i,j;
        for(i=0;j<8;j++)
        {
                DSPORT=0;
                Delaylms(1); //延時1us
                DSPORT=dat&0x01;
                Delaylms(77);//延時77us
                DSPORT=1;
                _nop_();
                dat>>=1;
        }
}
//讀函數(shù)
uchar Ds18b20ReadByte()
{
        uint i,j;
        uchar bi,byte;
        for(i=8;j>0;j--)
        {
                DSPORT=0;
                i++;
                DSPORT=1;
                i++;
                i++;
                bi=DSPORT;
                Delaylms(77);
                DSPORT=1;
                _nop_();
                byte=(byte>>1)|(bi<<7);       
        }
        return byte;
}

//溫度轉(zhuǎn)換指令
void Ds18b20Changetemp()
{
        Ds18b20Init();
        Delaylms(1);
        Ds18b20WriteByte(0xcc);
        Ds18b20WriteByte(0x44);                       
}
//溫度讀取指令
void Ds18b20ReadTempcom()
{
        Ds18b20Init();
        Delaylms(1);
        Ds18b20WriteByte(0xcc);
        Ds18b20WriteByte(0xbe);//讀取RAM
}
//讀取溫度數(shù)據(jù)
int Ds18b20ReadTemp()
{
        int temp=0;
        uchar tmh,tml;
        Ds18b20Changetemp();
        Ds18b20ReadTempcom();
        tml= Ds18b20ReadByte();
        tmh= Ds18b20ReadByte();
        temp=tmh;
        temp<<=8;
        temp|=tml;
        return temp;               
}


捕獲.PNG (65.14 KB, 下載次數(shù): 68)

捕獲.PNG

程序和仿真.zip

143.48 KB, 下載次數(shù): 35

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

使用道具 舉報

沙發(fā)
ID:213173 發(fā)表于 2019-12-24 22:58 | 只看該作者

給你改好了
DS18b20+仿真.zip (107.65 KB, 下載次數(shù): 233)

回復(fù)

使用道具 舉報

板凳
ID:420055 發(fā)表于 2019-12-25 09:30 | 只看該作者
你這個晶振多大的
回復(fù)

使用道具 舉報

地板
ID:319568 發(fā)表于 2019-12-26 17:00 | 只看該作者

11.0925的,我的延時好像寫錯了,上次發(fā)的程序延時是錯的,但我改了之后還是不顯示,我去看看一樓給我改好的
回復(fù)

使用道具 舉報

5#
ID:319568 發(fā)表于 2019-12-26 18:39 | 只看該作者

謝謝你,我去看看
回復(fù)

使用道具 舉報

6#
ID:1075970 發(fā)表于 2023-5-27 01:09 | 只看該作者

改時延了?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表