標題:
為什么用proteus仿真DS18B20總是無法初始化
[打印本頁]
作者:
omikeai
時間:
2018-6-22 14:02
標題:
為什么用proteus仿真DS18B20總是無法初始化
sbit RS = P2^0;
sbit RW = P2^1;
sbit E = P2^2;
sbit DQ = P2^4;
void main()
{
lcd_1602_init(); //初始化
while(ds18b20_init()) lcd_1602_dispaly(1,1,"Init error");
lcd_1602_dispaly(1,1,"Init OK");
while(1)
}
bit ds18b20_init()
{
bit tmp;
DQ = 1;
_nop_();
_nop_();
_nop_();
_nop_();
DQ = 0;
Delay500us();
DQ = 1;
Delay68us();
tmp = DQ;
Delay500us();
return tmp;
}
永遠初始化失敗,直接在初始化函數(shù)返回0,1602上顯示初始化成功了
看到網(wǎng)上都是這么初始化的,為什么我的不行
仿真圖.png
(28.9 KB, 下載次數(shù): 93)
下載附件
2018-6-22 13:58 上傳
仿真圖
作者:
zsyzdx
時間:
2018-6-22 15:53
把別人的程序拿過來試試。。。。。。。。。。!
作者:
zhb2004xp
時間:
2018-6-22 16:34
DQ=0; //ÀµÍDQÏòµ¥×ÜÏß·¢³öѯÎÊ£¬Ê±¼ä540>t>480uS
delay_us(250);
DQ=1; //ÊÍ·ÅDQ£¨DQÖÃ1£©
while(DQ==1); //µÈ´ýDS18B20Ó¦´ð½«DQÀµÍ
delay_us(120); //ÔÙ´ÎÑÓʱ>240uS
DQ=1;
作者:
zhb2004xp
時間:
2018-6-22 17:03
還有寫啟動DS18B20啟動轉換命令0x44后需要等待1秒后再讀取數(shù)據(jù)
作者:
omikeai
時間:
2018-6-23 15:33
已經(jīng)解決了,同樣的程序上了板子就沒有問題
作者:
cuiyawei1988
時間:
2018-6-23 17:04
仿真軟件有時沒有實物那么好用
作者:
wifingtta
時間:
2020-3-24 10:25
要確認你的程序在實物中以12M晶振運行時是正確的,然后把仿真單片機運行頻率調(diào)為6M就OK了,仿真時間與實物不同,時序要求嚴格的話就不行,1602時序要求不嚴格,所以沒啥關系
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1