电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

温度传感器程序

温度传感器程序_第1页
1/5
温度传感器程序_第2页
2/5
温度传感器程序_第3页
3/5
第4章系统程序的设计4.1 系统设计内容系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、测量序列号子程序、显示数据刷新子程序等。4.1.1 主程序主程序主要功能是负责温度的实时显示、读出处理 DS18B20 的测量温度值。主程序流程图如图4-1 所示:图 4-1 主程序流程图4.1.2 读出温度子程序读出温度子程序的主要功能是读出RAM 中的 9 字节。在读出时须进行 CRC校验,校验有错时不进行温度数据的改写。读出温度子程序流程图如图4-2 所示:开始调用显示子程序显示当前四路温度初始化读取并显示序列号图 4-2 读出温度子程序流程图4.1.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨率时,转换时间约为750ms。在本程序设计中,采用1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如图4-3 所示:图 4-3 温度转换命令子程序流程图4.1.4 计算温度子程序计算温度子程序将RAM 中读取值进行BCD 码的转换运算,并进行温度值正负的判定。计算温度子程序流程图如图4-4 所示:发 DS18B20 复位命发跳过 ROM 命令发温度转换开始命令结束开始复位 DS18B20 发跳过 ROM 命令发 出 温 度 转 换 命转换完毕复位 DS18B20 发匹配 ROM 命令发 1 个 DS18B20 序列读温度值存入储存器指向下一个延时N Y 图 4-4 计算温度子程序流程图4.1.5 温度数据的计算处理方法从 DS18B20 读取出的二进制值必须转换成十进制值,才能用于字符的显示。DS18B20 的转换精度为 9~12 位,为了提高精度采用12 位。在采用 12 位转换精度时,温度寄存器里的值是以0.0625 为步进的,即温度值为寄存器里的二进制值乘以 0.0625,就是实际的十进制温度值。通过观察表 4-1 可以发现,一个十进制与二进制间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一字节,这个字节的二进制化为十进制后,就是温度值的百、十、个位字节,所以二进制值范围是0~F,转换成十进制小数就是0.0625 的倍数(0~15 倍)。这样需要 4 位的数码管来表示小数部分。 实际应用不必这么高的精度,采用 1 位数码管来显示小数, 可以精确到 0.1℃。开始温度零下?温度值取补码置“-”标志位计算小数位温度BCD 值计算小数位温计算小数位结束置“ +”标志N Y 表 4.5 二进制与十进制的近似对应关系表小数部分二进制值0 1 2 3 4 5 6 7 8 9...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

温度传感器程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部