免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
名称 DS18B20 采集温度 1602LCD 显示 编写 超 时间 2012 11 29 内容 include define uchar unsigned char define uint unsigned int sbit DQ P3 7 ds18b20 与单片机连接口 sbit RS P3 0 1602 写数据 写命令选择端口 RS 1 写数据 即要显示的内容 RS 0 写命令 即一些 LCD 设置命令 sbit RW P3 1 1602 读 写选择端 RW 0 为写模式 sbit EN P3 2 给 EN 一个高脉冲 将数据送入液晶控制器 完成写操作 uchar code str1 Zhang Chao uchar code str2 T uchar data disdata 5 百 十 个 小数位 uint tvalue 温度值 uchar tflag 温度正负标志 lcd1602 lcd1602 设置子函数设置子函数 voidvoid delay1ms uintdelay1ms uint ms ms 延时 1 毫秒子函数 形参为 ms 不够精确的 unsigned int i j for i 0 i ms i for j 0 j0 i 要写完一个字节 故需要重复 8 次以下操作 DQ 0 数据线拉低 DQ wdata wdata 是一个形参 将其与 0000 0001 进行按位与 按从低到高的顺序发送数据 一次发送一位 delay 18b20 10 DQ 1 最后将数据线拉高 wdata 1 将 wdata 右移 1 位 ucharuchar ds18b20rd ds18b20rd 读数据子函数 是有返回值 dat uchar i 0 uchar dat 0 for i 8 i 0 i 要读完一个字节 故需要重复 8 次以下操作 DQ 0 给脉冲信号 dat 1 DQ 1 给脉冲信号 if DQ dat 0 x80 delay 18b20 10 return dat 返回 dat read temp read temp 读取温度值并转换的子函数 有返回值温度值 tvalue uchar a b ds18b20rst 调用 ds18b20 初始化子函数 ds18b20wr 0 xcc 调用写数据子函数 向 ds18b20 写命令 0 xcc ccH 表示跳过 ROM 读序列号 适用于单机工作 直接向 18b20 发送温度变换命令 ds18b20wr 0 x44 调用写数据子函数 向 ds18b20 写命令 0 x44 44H 表示启动 ds18b20 温度转换 结果自行存入 9 字节的 RAM 中 ds18b20rst 调用 ds18b20 初始化子函数 ds18b20wr 0 xcc 同上 ds18b20wr 0 xbe 调用写数据子函数 向 ds18b20 写命令 0 xbe beH 表示读取 RAM 中 9 字节的温度数据 a ds18b20rd 调用读数据子函数 并将所得数据给 a b ds18b20rd tvalue b 把 b 的值给 tvalue tvalue 8 tvalue 左移 8 位 tvalue tvalue a tvalue 与 a 进行按位或 if tvalue 0 x0fff tflag 0 前五位为 0 时 读取的温度为正 标志位为 0 此时只要 将测得数值乘以 0 0625 即可得到实际温度 else 前五位为 1 时 读取的温度为负 标志位为 1 此时需要 将测得数值取反后再加 1 再乘以 0 0625 即可得到实际温度 tvalue tvalue 1 tflag 1 此时表示负温度 tvalue tvalue 0 625 温度值扩大 10 倍 精确到 1 位小数 return tvalue 返回温度值 温度值显示温度值显示 voidvoid ds18b20disp ds18b20disp 温度值显示 uchar flagdat disdata 0 tvalue 1000 0 x30 百位数 disdata 1 tvalue 1000 100 0 x30 十位数 disdata 2 tvalue 100 10 0 x30 个位数 disdata 3 tvalue 10 0 x30 小数位 if tflag 0 flagdat 0 x2b 正温度显示符号 else flagdat 0 x2d 负温度显示负号 if disdata 0 0 x30 disdata 0 0 x20 如果百位为 0 不显示 if disdata 1 0 x30 disdata 1 0 x20 如果百位为 0 十位为 0 也不显示 wr com 0 x80 0 x46 定位数据指针的位置 第二行第六个字符处 wr dat flagdat 显示符号位 wr com 0 x80 0 x47 定位数据指针的位置 第二行第七个字符处 wr dat disdata 0 显示百位 wr com 0 x80 0 x48 定位数据指针的位置 第二行第八个字符处 wr dat disdata 1 显示十位 wr com 0 x80 0 x49 定位数据指针的位置 第二行第九个字符处 wr dat disdata 2 显示个位 wr com 0 x80 0 x4a 定位数据指针的位置 第二行第十个字符处 wr dat 0 x2e 显示小数点 wr com 0 x80 0 x4b 定位数据指针的位置 第二行第十一个字符处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年郑州工商学院单招职业适应性考试必刷测试卷附答案
- 2026年江西电力职业技术学院单招职业技能考试必刷测试卷及答案1套
- 2026年宝鸡三和职业学院单招职业技能考试必刷测试卷新版
- 2026年内蒙古锡林郭勒盟单招职业适应性考试题库新版
- 2026年郑州城建职业学院单招职业技能考试必刷测试卷及答案1套
- 2026年江西泰豪动漫职业学院单招职业适应性考试题库及答案1套
- 超声科妊娠合并糖尿病监测方案
- 2026年河南测绘职业学院单招职业技能考试题库新版
- 2026年赣南卫生健康职业学院单招职业技能考试必刷测试卷附答案
- 2026年江苏食品药品职业技术学院单招职业倾向性测试必刷测试卷附答案
- 临床医学三基三严培训
- 如何提升护理人员教学能力
- 湘豫名校联盟2026届高三上学期秋季入学摸底考试英语试卷(含答案无听力原文及音频)
- 宾馆娱乐内城装饰工程施工组织设计方案
- 猴痘预防知识培训课件
- 机动车查验相关知识培训课件
- 临床中心静脉导管冲管及封管专家共识
- 管理层财务基础知识培训
- 常见急诊急救处理规范
- 口腔病历汇报展示
- 2025秋统编版(2024)初中道德与法治八年级上册《践行平等》教学设计
评论
0/150
提交评论