《STC系列单片机项目实践》课件——03 项目三 数字温度计设计.pptxVIP

《STC系列单片机项目实践》课件——03 项目三 数字温度计设计.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

项目3数字温度计设计

3.1学习目标[知识目标]

了解LCD1602液晶屏的工作原理、主要技术参数及指令功能;

了解DS18B20温度传感器的引脚定义、温度数据格式及指令功能;

掌握LCD1602液晶的读写时序及DS18B20温度传感器的单总线协议;

掌握数字温度计的设计方法。[能力目标]

能够读懂数据手册,在LCD1602液晶屏上显示字符;

能够根据单总线协议获取到DS18B20感测到的温度值;

能够在一个工程中进行模块化编程;

能够编译、下载并调试程序。

3.2项目分析本项目阐述制作一个数字温度计的过程,该温度计可以感测当前环境的温度,并能将温度值在LCD1602液晶屏上显示出来。为达到项目功能要求,将采用自制实验平台CCITSTC实验板上的LCD1602液晶模块和DS18B20模块来实现相关功能,单片机通过读取DS18B20模块感测到的当前温度值,然后将该值写入LCD1602液晶屏中显示输出。

3.4支撑知识

3.4.1LCD1602液晶屏驱动

2读写时序

3编程方法

3编程方法

4LCD1602驱动设计分析初始化函数写命令函数读命令函数写数据函数指定位置显示字符串函数

3.4.2DS18B20温度传感器驱动

DS18B20是由美国美信半导体公司生产的单线智能温度传感器,提供9~12位摄氏温度的测量,广泛应用于工业、民用和军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小、低功耗、接口简单、传输距离远等特点。

DS18B20温度传感器有三种封装,如SO(DS18B20)、uSOP(DS18B20U)和TO-92封装,具体样式可参考数据手册。CCITSTC实验板上采用的是最常用的TO-92封装,外观像一个普通直插晶体管一样。

温度数据格式

DS18B20内部有9个8位的寄存器,跟温度值相关的是起始两个寄存器(TMSB和TLSB),分别用来存放当前测到的温度值。为什么要用两个寄存器来存储温度值呢?

DS18B20通过编程可以实现最高12位的温度存储,那么一个8位寄存器显然放不下12位数据,所以必须要用两个寄存器。实际上,对于12位温度值,TMSB,中的高5位存放的是12位温度值的符号位(图中的S位),低3位存放的是12位温度值的高3位,TLSB则存放12位温度值的低8位。

单总线协议

数据手册中DS18B20的初始化时序图,如图所示,这幅图详细描述了初始化时DQ数据线上电平随时间的变化关系:

①由单片机(主机)发出复位脉冲,该脉冲最短时间为480μs。所谓复位脉冲,其实就是将DQ数据线电平拉低;

②单片机释放DQ数据线。这时候由于上拉电阻的作用,DQ数据线上的电平会被拉高。所谓释放DQ数据线,其实就是将DQ数据线电平拉高;

③经过单片机完成①之后的15~60μs等待,如果总线上存在DS18B20,则DS18B20将发出一个存在脉冲,该脉冲的时间为60~240μs。所谓存在脉冲,其实也是将DQ数据线拉低;

④DS18B20发送完存在脉冲后,DQ数据线恢复为空闲状态,也就是高电平。

单总线协议

写‘0’时序

①由单片机(主机)将DQ数据线电平拉低,持续时间为60~120μs。

②单片机释放DQ数据线。这时候由于上拉电阻的作用,DQ数据线上的电平会被拉高。所谓释放DQ数据线,其实就是将DQ数据线拉高。

③实际上,在单片机拉低DQ数据线15μs之后,DS18B20会在15μs~60μs之间来对DQ数据线进行采样,采样的典型值是在30μs的时刻读取,最迟也会在60μs时刻才读取;

写‘1’时序

①由单片机(主机)将DQ数据线电平拉低,持续时间为大于1μs。

②单片机立即释放DQ数据线。这时候由于上拉电阻的作用,DQ数据线上的电平会被拉高。需要注意的是,释放总线的时间需要保持至少60μs。

③与写‘0’类似,DS18B20会在DS18B20会在15~60μs之间来对DQ数据线进行采

样,来读取这个‘1’

单总线协议

DS18B20的读时序图的左半部分是读‘0’时序,右半部分是读‘1’时序。当单片机去写DS18B20时,单片机将所要传送的数据送到DQ数据

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档