永发信息网

DS18B20读取温度为0 初始化和读取程序部分如下:

答案:2  悬赏:10  手机版
解决时间 2021-04-16 00:10
//************************************
//初始化ds18b20
//************************************
bit resetpulse(void)
{
DQ=0;
delay(40);//延时500us
DQ=1;
delay(4);//延时60us
return(DQ);//读取P3.7的状态
}
void ds18b20_init(void)
{
while(1)
{
if(!resetpulse()) //收到ds18b20的应答信号
{
DQ=1;
delay(40);//延时240us
break;
}
else
resetpulse();//否则再发复位信号
}
}
//************************************
//读ds18b20一位
//************************************
uchar read_bit(void)
{
DQ=0;
_nop_();
_nop_();
DQ=1;
delay(2);
return(DQ);
}
//************************************
//读ds18b20一个字节
//************************************
uchar read_byte(void)
{
uchar i,m,receive_data;
m=1;
receive_data=0;
for(i=0;i<8;i++)
{
if(read_bit())
{
receive_data=receive_data+(m< }
delay(7);
}
return(receive_data);
}
//************************************
//向ds18b20写一位
//************************************
void write_bit(uchar bitval)
{
DQ=0;
if(bitval==1)
DQ=1;
delay(5);
DQ=1;
}
//************************************
//向DS18B20写一个字节命令
//************************************
void write_byte(uchar val)
{
uchar i,temp;
for(i=0;i<8;i++)
{
temp=val>>i;//将val右移i位赋值给temp
temp=temp&0x01;//取temp最低位
write_bit(temp);
delay(5);
}
}
//*************************************
//64位的ROM序列号匹配
//*************************************
bit match_rom(uchar *rom)
{
uchar i;
ds18b20_init();
write_byte(0x55);
for(i=8;i>0;i--)
{
write_byte(*(rom+i-1));
}
return 1;
}

补充:
//************************************
//延时程序
//************************************
void delay(unsigned int N)
{
unsigned int i;
for(i=0;i}
最佳答案
读取部分有问题
全部回答
估计你的显示程序有错,你这里没给出,简单测试一下,把最后的 return(temp); 换为 return(25); 看看是不是还是0,是0的画就是你显示的错了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《封神演义》中通天教主是个什么样的人
DNF湖南2,35粉巨是什么,要多少钱?
苏宁观山湖物流中心地址有知道的么?有点事想
中考体育生体育总分多少
光学中高次光是什么意思?怎么消除?
有关新型自动浮漂
剑圣的什么武器最好?
为什么我家里电脑总是卡死机. 但是里面的程序
济南机场有几个登机口,郑州新郑国际机场详细
安徽蚌埠现在有甲流病例么
请问金堂竹篙镇到成都下午最晚的一趟车是什么
近视激光手术应注意那些问题?
合川的联通卡用短信怎么查剩余流量?
余生请多指教的前一句,另类词余生请你多指教
圣骑士的转职任务
推荐资讯
众诚工程造价咨询公司在哪里啊,我有事要去这
怎么用包装纸包装礼物,传统的中药的纸包装是
本人高中毕业,工作两年了,然后考雅思能申请国
虐杀原型的剧情
是否真的有外星人
什么车最省油
大连广播从9点到12点的各频道节目表
诛仙有几个地宫 或洞 分别叫什么 在哪 多少级
市场南北街/文化南北街(路口)在哪里啊,我有
姐姐今年20岁,当姐姐是妹妹的年龄时 妹妹才四
海天隧道酒店地址在哪,我要去那里办事
寻求最新鬼片
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?