- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS18B20 接口程序 汇编语言-基于STC98C52RC
E:\ 【单片机】温度传感器\DS18B20.ASM
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; 文件名:DS18B20.ASM ;;;
;;;文件描述:为DS18B20提供接口子程序 (汇编) ;;;
;;;文件版本:V1.0(2014-2-12) MADE BY xkwy. ;;;
;;;文件描述:为DS18B20提供接口子程序 ;;;
;;; 含资源: ;;;
;;;1、DS18B20_RESET:复位 (C=0(成功),C=1(失败)) ;;;
;;;2、DS18B20_WRITE_byte:写一字节 (参数:ACC) ;;;
;;;3、DS18B20_READ_byte:读一字节 (返回值:ACC) ;;;
;;; ;;;
;;;所有被使用的资源: ;;;
;;;DQ(P3.2)、R0、R1、ACC、C(PSW) [均没有处理现场] ;;;
;;; ;;;
;;;备注: ;;;
;;; 由于1-Ware总线对时序要求十分严格 ;;;
;;; 使用时应采用11.0592MHz晶振,标准51内核的指令集 ;;;
;;; 若配置不匹配,应当参照时序图进行适当的修改 ;;;
;;; 在STC89C52RC下以12T运行速率(DQ=P3.2)测试通过 ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DQ BIT P3.2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;温度传感器复位子程序 (对应答信号进行十次采样,若 ;;;
;;;采样失败超过三次,复位失败(C=1),否则复位成功) ;;;
;;;所需资源:C(PSW)、R0、R1、A、DQ(P3.2) ;;;
;;;所需时长:1.23ms ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DS18B20_RESET:
SETB DQ; INSURE BUS IS HIGH BUFORE RESET
CLR A; RESET COUNTER
CLR C; RESET RETURN VALUE
CLR DQ; PULL DOWN BUS
MOV R0, #220; DELAY
RST_DELAY:
CLR DQ; ISURE BUS IS LOW LEVE
文档评论(0)