- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理与嵌入式系统 无锡商业职业技术学院电子工程系 单片机原理与嵌入式系统 任务 单总线数字温度计 项目要求: 本项目使用1-Wire温度传感器DS18B20的完成温度采集,并将数据直接送入单片机AT89S51中处理,最后通过四位数码管显示温度。 知识链接: DS18B20的使用、智能最小系统的扩展、显示电路的设计 任务实施环境: 硬件:智能最小系统及其扩展电路 软件:Keil C 集成开发环境 DS18B20 原理及使用 DS18B20简介: DS18B20是DALLAS公司生产的单总线数字温度传感器, 具有3引脚TO-92小体积封装形式 温度测量范围为-55℃~+125℃ 可编程为9位~12位A/D转换精度,对应的可辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃ 被测温度用符号扩展的16位数字量方式串行输出 支持3V~5.5V的电压范围 DS18B20非常适用于远距离多点温度检测系统。 DS18B20 原理及使用 DS18B20内部结构 主要由四部分组成:64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。 DS18B20 原理及使用 基本工作原理 DS18B20 原理及使用 DS18B20的使用方法 由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS18B20协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始。 DS18B20 原理及使用 DS18B20的读时序 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。在完成一个读时序过程,至少需要60us才能完成。 DS18B20 原理及使用 DS18B20的写时序 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 项目设计 项目设计思路 1、本项目利用智能最小系统作为基础,将单总线测温元件DS18B20直接连接到芯片的一个标准I/O口上,其硬件开销比较小. 2、DS18B20与微处理器间采用串行数据传送,在对DS18 B 20进行读写编程时,必须严格保证读写时序,否则将无法读取测温结果。DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。 项目设计 项目设计思路 3、在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦DS18B20接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 项目硬件原理图 项目软件流程图 主程序流程图 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。 项目软件流程图 读温度子程序流程图 读温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。 项目软件流程图 温度转换命令子程序 流程图 温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。 项目软件流程图 计算温度子程序 流程图 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定 * 项目五:温度计 智能电子技术实践 * 项目五:温度计 智能电子技术实践 斜率累加器 低温度系数晶振 计数器1 比较 高温度系数晶振
原创力文档


文档评论(0)