温传感器程序通信电子电子电气自动化_通信电子-电子电气自动化.pdf





《温传感器程序通信电子电子电气自动化_通信电子-电子电气自动化.pdf》由会员分享,可在线阅读,更多相关《温传感器程序通信电子电子电气自动化_通信电子-电子电气自动化.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 4 章 系 统 程 序 的 设 计 4.1 系统设计内容 系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温 度子程序、测量序列号子程序、显示数据刷新子程序等。4.1.1 主程序 主程序主要功能是负责温度的实时显示、读出处理 DS18B20 的测量温度值。主程序流程图如图 4-1所示:图 4-1主程序流程图 4.1.2 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节。在读出时须进行 CRC 校验,校验有错时不进行温度数据的改写。读出温度子程序流程图如图 4-2所示:图 4-2读出温度子程序流程图 4.1.3 温度转换命令子程序 温度转换命令子程序主要
2、是发温度转换开始命令,当采用 12 位分辨率时,转换时间约为 750ms。在本程序设计中,采用 1s 显示程序延时法等待转换的完 成。温度转换命令子程序流程图如图 4-3所示:图 4-3温度转换命令子程序流程图 4.1.4 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值测量序列号子程序显示数据刷新子程序等主程序主程序主要功能是负责温度的实时显示读出处理的测量温度值主程序流程图如图所示图主程序流程图读出温度子程序读出温度子程序的主要功能是读出中的字节在读出时须进行校验校度转换命令子程序主要是发温度转换开始命令当采用位分辨率时转换时间约为在本程序设计中采
3、用显示程序延时法等待转换的完成温度转换命令子程序流程图如图所示图温度转换命令子程序流程图计算温度子程序计算温度子程序将必须转换成十进制值才能用于字符的显示的转换精度为位为了提高精度采用位在采用位转换精度时温度寄存器里的值是以为步进的即温度值为寄存器里的二进制值乘以就是实际的十进制温度值通过观察表可以发现一个十进制与二进 图 4-4计算温度子程序流程图 4.1.5 温度数据的计算处理方法 从 DS18B20 读取出的二进制值必须转换成十进制值,才能用于字符的显示。DS18B20的转换精度为 912 位,为了提高精度采用 12 位。在采用 12 位转换 精度时,温度寄存器里的值是以 0.0625
4、为步进的,即温度值为寄存器里的二进 制值乘以 0.0625,就是实际的十进制温度值。通过观察表 4-1可以发现,一个十进制与二进制间有很明显的关系,就是把 二进制的高字节的低半字节和低字节的高半字节组成一字节,这个字节的二进制 化为十进制后,就是温度值的百、十、个位字节,所以二进制值范围是 0F,转换成十进制小数就是 0.0625 的倍数(015 倍)。这样需要 4 位的数码管来表 示小数部分。实际应用不必这么高的精度,采用 1 位数码管来显示小数,可以精 确到 0TC。表 4.5 二进制与十进制的近似对应关系表 测量序列号子程序显示数据刷新子程序等主程序主程序主要功能是负责温度的实时显示读出
5、处理的测量温度值主程序流程图如图所示图主程序流程图读出温度子程序读出温度子程序的主要功能是读出中的字节在读出时须进行校验校度转换命令子程序主要是发温度转换开始命令当采用位分辨率时转换时间约为在本程序设计中采用显示程序延时法等待转换的完成温度转换命令子程序流程图如图所示图温度转换命令子程序流程图计算温度子程序计算温度子程序将必须转换成十进制值才能用于字符的显示的转换精度为位为了提高精度采用位在采用位转换精度时温度寄存器里的值是以为步进的即温度值为寄存器里的二进制值乘以就是实际的十进制温度值通过观察表可以发现一个十进制与二进小数部分 二进制值 0 1 2 3 4 5 6 7 8 9 A B C D
6、 E F 十进制值 0 0 1 1 2 3 3 4 5 5 6 6 7 8 8 9 4.2 源程序 4.2.1 DS18B20的各条 ROM 命令(1)Read ROM33H。这条命令允许总线控制器独到 DS18B20 的 8 位系 列编码、唯一的序列号和 8 位 CRC 码。只要在总线上存在单只 DS18B20 时,才 能使用该命令。如果总线上有不止一个从机,则当所有从机试图同时传送信号时 就会发生数据冲突(漏极开路连在一起形成相 与”的效果)。(2)Match ROM55H.这是一条匹配 ROM 命令,后跟 64 位 ROM 序列,让总 线控制器在多点总线上定位一只特定的 DS18B20.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 程序 通信 电子 电气 自动化

限制150内