- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DS18B20的编程应用举例
几个重要子程序如下:
; -------------DS18B20初始化程序
;在只有一个DS18B20时适用
;先复位脉冲(低电平)500US,释放总线(高电平)
;再等待100μs,
;若有低电平,说明器件存在,置标志位FLAG1为1;否则置0
INIT_1820:
SETB DQ
NOP
CLR DQ ;低电平,复位脉冲开始
MOV R3,#07FH ;要求复位脉冲最少480最大960μs
TSR1: DJNZ R3,TSR1 ;改后延时510μs
SETB DQ ;高电平,复位脉冲结束,还要等待16~60μs
MOV R3,#10H ;10H=64μs。存在脉冲长60~240μs
TSR2: DJNZ R3,TSR2 ;延时64μs,等待18B20发回来的存在脉冲--低电平
JNB DQ,TSR3 ;判断,有低电平表示18B20存在
LJMP TSR4 ;没有低电平表示18B20不存在
TSR3: SETB FLAG1 ;置标志位,表示DS1820存在
LJMP TSR5
TSR4: CLR FLAG1 ;清标志位,表示DS1820不存在
LJMP TSR7
TSR5: MOV R3,#032H ;200μs
TSR6: DJNZ R3,TSR6 ;延时
TSR7: SETB DQ ;数据线高电平
RET
;================================================================
; -------------写DS18B20的程序
;要写入的一个字节数据,此前存储在累加器A中
WRITE_1820:
MOV R2,#8 ;8位数据
CLR C
WR1: CLR DQ ;低电平
MOV R3,#3 ;13μs
DJNZ R3,$
RRC A ;A中最低位进入Cy
MOV DQ,C ;Cy送到数据线
MOV R3,#11 ;46μs
DJNZ R3,$
SETB DQ
NOP
DJNZ R2,WR1 ;循环8次
SETB DQ ;发完,进入空闲状态
RET
;================================================================
;读DS18B20的程序,从DS18B20中读出一个字节的数据
; -------------读出的数据存放在ACC
READ_1820:
MOV R2,#8 ;8位2进制数
RE1: CLR C
SETB DQ ;总线拉高,可能已经是高,没关系
NOP
NOP
CLR DQ ;总线拉低,读时序开始,15μs之内释放
NOP
NOP
NOP
SETB DQ ;释放总线,等待器件传出数据
MOV R3,#3 ;等待13μs
DJNZ R3,$
MOV C,DQ ;读取总线上器件传出来的数据
MOV R3,#11 ;等待46μs
DJNZ R3,$
RRC A ;数据进入累加器
DJNZ R2,RE1 ;进行下一位数据接收,共8位
RET
;================================================================
;---------
您可能关注的文档
- 15531_Java编程基础_期末机试试卷A (2).doc
- 15531_Java编程基础_期末机试试卷B (2).doc
- 15531_Java编程基础_期末机试试卷C (2).doc
- 15531_Java编程基础_期末机试试题收集 (2).doc
- 15531_Java高级应用_期末机试试卷A (2).doc
- 15531_Java高级应用_期末机试试卷A(答案) (2).doc
- 15531_Java高级应用_期末机试试卷B (2).doc
- 15531_Java高级应用_期末机试试卷B(答案) (2).doc
- 15531_Java高级应用_期末机试试卷C (2).doc
- 15531_Java高级应用_期末机试试卷C(答案) (2).doc
- DS18B20的编程应用举例.doc
- ERP生产供应链管理实践教程(金蝶K-3版)-教学大纲.doc
- ET-LOS 航空货代情境二 工作任务1答案 订舱托书 (2).doc
- ET-LOS 航空货代情境二工作任务2答案 订舱托书 (1).doc
- excel 2010 在会计与财务中应用————参考学时.docx
- Excel 2010在会计与财务管理中的应用——参考学时.docx
- Flash CC动画制作标准教程(微课版)-教学大纲.doc
- Flash CC动画制作标准教程(微课版)-教学教案.docx
- Flash CS3动漫制作案例教程-教学大纲.doc
- Flash CS3中文版动画制作基础-教学大纲第2章 素材的制作与导入.doc
原创力文档


文档评论(0)