打印

关于温度传感器ds1820的初化问题

[复制链接]
1633|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zqyang|  楼主 | 2007-6-7 17:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟初学单片机,最近做一个温度传感器  这是DS18B20的初始化程序
不知道为什么初始化程序 无法检测出温度传感器的存在,也就是程序结束时FLAG始终为0
DQ 为数据线DS的数据线,FLAG=1为DS存在,FLAG=0为DS不存在
;-------------------DS18B20 初始化程序 
INIT_1820:
SETB DQ
NOP
CLR DQ
MOV R0,#80H
TSR1:
DJNZ R0,TSR1 ; 延时
SETB DQ
MOV R0,#25H ;96US-25H
TSR2:
DJNZ R0,TSR2
JNB DQ,TSR3
LJMP TSR4 ; 延时
TSR3:
SETB FLAG1 ; DS存在,置标志位
LJMP TSR5
TSR4:
CLR FLAG1 ; DS不存在,清标志位
LJMP TSR7
TSR5:
MOV R0,#06BH ;200US
TSR6:
DJNZ R0,TSR6 ; ÑÓʱ
TSR7:
SETB DQ
RET

相关帖子

沙发
zqyang|  楼主 | 2007-6-7 17:44 | 只看该作者

电路图

这是电路图  其中VCC 接5V电源

使用特权

评论回复
板凳
duanhnhy| | 2007-6-8 08:05 | 只看该作者

RE

在VCC与P3.3之间拉个4.7K的电阻试试,另外这种一线总线的18B20对时序要求是比较严格的!再仔细看看时序图分析一下吧!

使用特权

评论回复
地板
zqyang|  楼主 | 2007-6-8 10:22 | 只看该作者

回复

谢谢  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

33

帖子

0

粉丝