- 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的情况下,如果我们要启动一次温度转换,并读出转换的结果,则要如下几个步骤:
初始化
发出跳过ROM命令,因为只有一个从器件,不必寻址。
发出转换命令
等待转换完成,出厂默认进行12位转换,需要750毫秒。
初始化
发出跳过ROM命令
发出读RAM命令
读RAM内容,一般读出前2个字节就可以了。
读出的字节地址0、1的内容格式如下:见图10-24
图10-24 读出的数据格式
从图中可以看出,总共有16位二进制数,二的补码形式,最高位的几个S是符号位的扩展,0代表正,1代表负,然后有7位整数,小数点在20位的后面,单位为摄氏度,如果利用小数部分,可以达到的分辨率是1/16度,其实它的测量精度只能达到1/2度,再高的分辨率只有相对意义。
读出DS18B20的转换结果之后,就要对数据进行处理。可以根据需要编写适当的处理子程序。
按照图10-20的接线,我们可以编写启动一次温度转换,并读出转换的结果的程序如下:
先对程序中使用的单片机资源进行分配和定义,包括子程序中用到的。如果改变资源的分配,修改这里就可以了。
TEMPER_L EQU 36H ;温度值低字节
TEMPER_H EQU 35H ;温度值高字节
TEMPER_NUM EQU 60H ;计算后温度值
FLAG1 BIT 00H ;18B20存在时置一,不存在时置零
DQ BIT P3.3 ;18B20的数据线接在P3.3
GET_TEMPER:
SETB DQ ; 空闲状态
BCD: LCALL INIT_1820 ;1820初始化
JB FLAG1,S22 ;存在标志,就进行下一步
LJMP DEF ;若DS18B20不存在则返回
S22: LCALL DELAY1 ;延时70US
MOV A,#0CCH ;跳过ROM匹配的命令---0CCH
LCALL WRITE_1820 ;将命令写入DS18B20
MOV A,#44H ;温度转换命令----044H
LCALL WRITE_1820 ;写入
LCALL DELAY ;延时132MS,等待18B20转换温度完成
LCALL DELAY ;延时132MS
CBA: LCALL INIT_1820 ;1820初始化
JB FLAG1,ABC ;存在标志,就进行下一步
LJMP CBA ;若DS18B20不存在则返回
ABC: LCALL DELAY1 ;延时70μS
MOV A,#0CCH ;跳过ROM匹配
LCALL WRITE_1820 ;写入
MOV A,#0BEH ;发出读温度命令
LCALL WRITE_1820 ;写入
LCALL READ_18202 ;读出2字节,放在TEMPER_L和TEMPER_H两个单元
DEF: RET
;================================================================
以上程序中使用了大量的子程序,目的是节省存储器,也使程序结构清晰,这段程序就是按照前面的步骤写出来的。各个不同的子程序完成各自的功能,多个子程序互相配合,完成题目的要求。几个重要子程序如下:
;-------------------DS18B20初始化程序
;在只有一个DS18B20时适用,
;先复位脉冲(低电平)500US,释放总线(高电平)
;再等待100US,
;若有低电平,说明器件存在,置标志位FLAG1 为1;否则置0
INIT_1820:
SETB DQ
NOP
CLR DQ ;低电平,复位脉冲开始
MOV R3,#07FH
您可能关注的文档
- 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
- 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
- Flash CS3中文版动画制作基础-教学大纲第3章 元件和库的应用.doc
最近下载
- “我和红领巾的故事”分享汇 课件.ppt VIP
- 2024—2025学年安徽省合肥市第四十五中学八年级上学期期中语文试卷.doc VIP
- 农村土地永久转让协议书(简单版).pdf VIP
- egi-128通道电极数字和电极名称对应关系.docx VIP
- 大学生职业生涯规划.pdf VIP
- there-be-句型讲解与练习.ppt VIP
- 清洁生产教材.ppt VIP
- 【一诊】绵阳市高三2022级(2025届)第一次诊断性考试政治试卷(含标准答案).docx
- 【一种新型软体仿生机器人的结构设计8200字】.docx VIP
- 《民航安全检查(安检技能实操)》课件——第五章 服务、礼仪基本知识.pptx VIP
原创力文档


文档评论(0)