ds18b20触摸没反应_写个DS18B20初始化程序,死活没反应

博主在进行毕业设计时遇到DS18B20温度传感器初始化问题,无论使用C语言还是汇编代码,都无法使单片机检测到DS18B20的存在。尝试了不同硬件配置,包括直接连接IO口和带有上拉电阻的数据线,以及不同的初始化时序,但始终没有收到DS18B20的存在脉冲。博主怀疑可能是硬件引脚错误或设备故障,但设备是新购买的。
摘要由CSDN通过智能技术生成

写个DS18B20初始化程序,死活没反应

[复制链接]

周末开始做毕业设计。

首先是要用单片机读取DS18B20的数据。

看了一两天时序,基本看懂了,首先想写一个初始化程序,让单片机发现DS18B20的存在。结果发现压根没反应。

说说我做的情况。

DS18B20的硬件情况:

额,引脚是 有字的一面朝着自己,然后从左往右是 地,数据,电;

我试过直接连IO,也试过从电拉一个5.1K的上拉电阻给数据口。但是都不行。

(总不能说,PDF上给的是4.7K,我用5.1K就不行吧?)

程序,那个时序图就是一般资料里面的。

480到960us的复位脉冲。然后中间停止15到60us.

这个过程,我试过,先拉高再等待,或者先等待再拉高,貌似没啥区别。

然后,DS18B20在60到240us内发出一个低电平的存在脉冲。

而单片机要做的就是把那条线先拉高,再读取该低电平。

我试过自己写的C语言不行,那时我怀疑是时间没控制好,后来改了一个汇编的,还是不行。

再后来,我用了PDF中的一个例程,还是不行。

例程是这样的:

RESET:

MOV    A,    #4 ;设置循环次数

CLR    P1.0 ;发出复位脉冲

MOV    B,    #250 ;计数250 次

DJNZ   B,    $ ;保持低电平500us

SETB   P1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值