已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 5151 单片机单片机 SHT11SHT11 温湿度传感器检测温湿度传感器检测 程序程序 含电路图含电路图 下面是原理图 下面是 SHT11 与 MCU 连接的典型电路 下面是源代码 include include 宏定义 define uint unsigned int define uchar unsigned char define noACK 0 define ACK 1 define STATUS REG W 0 x06 define STATUS REG R 0 x07 define MEASURE TEMP 0 x03 define MEASURE HUMI 0 x05 define RESET 0 x1e enum TEMP HUMI typedef union 定义共用同类型 unsigned int i float f value 位定义 sbit lcdrs P2 0 sbit lcdrw P2 1 sbit lcden P2 2 sbit SCK P1 0 sbit DATA P1 1 变量定义 uchar table2 SHT11 温湿度检测 uchar table3 温度为 uchar table4 湿度为 uchar table5 uchar wendu 6 uchar shidu 6 1ms 延时函数 void delay int z int x y for x z x 0 x for y 125 y 0 y 50us 延时函数 void delay 50us uint t uint j for t 0 t for j 19 j 0 j 50ms 延时函数 void delay 50ms uint t uint j for t 0 t for j 6245 j 0 j 12864 液晶写指令 void write 12864com uchar com lcdrs 0 delay 50us 1 P0 com lcden 1 delay 50us 10 lcden 0 delay 50us 2 12864 液晶写数据 void write dat uchar dat lcdrs 1 lcdrw 0 delay 50us 1 P0 dat lcden 1 delay 50us 10 lcden 0 delay 50us 2 12864 液晶初始化 void init12864lcd void delay 50ms 2 write 12864com 0 x30 delay 50us 4 write 12864com 0 x30 delay 50us 4 write 12864com 0 x0f delay 50us 4 write 12864com 0 x01 delay 50us 240 write 12864com 0 x06 delay 50us 10 write 12864com 0 x0c delay 50us 10 12864 液晶显示函数 void display1 void uchar i write 12864com 0 x80 for i 0 i 18 i write dat table2 i delay 50us 1 12864 液晶显示函数 void display2 void uchar i write 12864com 0 x90 for i 0 i 18 i write dat table3 i delay 50us 1 12864 液晶显示函数 void display3 void uchar i write 12864com 0 x88 for i 0 i 8 i write dat table4 i delay 50us 1 12864 液晶显示函数 void displaywendu void uchar i write 12864com 0 x94 for i 0 i 3 i write dat wendu i delay 50us 1 for i 0 i 1 i write dat table5 i delay 50us 1 for i 4 i 5 i write dat wendu i delay 50us 1 12864 液晶显示函数 void displayshidu void uchar i write 12864com 0 x8C for i 0 i 3 i write dat shidu i delay 50us 1 for i 0 i 1 i write dat table5 i delay 50us 1 for i 4 i0 i 1 高位为 1 循环右移 if i 和要发送的数相与 结果为发送的位 else DATA 0 SCK 1 nop nop nop 延时 3us SCK 0 DATA 1 释放数据线 SCK 1 error DATA 检查应答信号 确认通讯正常 nop nop nop SCK 0 DATA 1 return error error 1 通讯错误 SHT11 读字节程序 char s read byte unsigned char ack unsigned char i val 0 DATA 1 释放数据线 for i 0 x80 i 0 i 1 高位为 1 循环右移 SCK 1 if DATA val val i 读一位数据线的值 SCK 0 DATA ack 如果是校验 读取完后结束通讯 SCK 1 nop nop nop 延时 3us SCK 0 nop nop nop DATA 1 释放数据线 return val SHT11 启动传输 void s transstart void DATA 1 SCK 0 准备 nop SCK 1 nop DATA 0 nop SCK 0 nop nop nop SCK 1 nop DATA 1 nop SCK 0 SHT11 连接复位 void s connectionreset void unsigned char i DATA 1 SCK 0 准备 for i 0 i 9 i DATA 保持高 SCK 时钟触发 9 次 发送启动传输 通迅即复 位 SCK 1 SCK 0 s transstart 启动传输 SHT11 温湿度检测 char s measure unsigned char p value unsigned char p checksum unsigned charmode unsigned error 0 unsigned int i s transstart 启动传输 switch mode 选择发送命令 case TEMP error s write byte MEASURE TEMP break 测量温度 case HUMI error s write byte MEASURE HUMI break 测量湿度 default break for i 0 i100 rh true 100 湿度最大修正 if rh true 0 1 rh true 0 1 湿度最小修正 p temperature t C 返回温度结果 p humidity rh true 返回湿度结果 主函数 void main void unsigned int temp humi value humi val temp val 定义两个共同体 一个用于湿度 一个用于温度 unsigned char error 用于检验是否出现错误 unsigned char checksum CRC init12864lcd display1 display2 display3 s connectionreset 启动连接复位 while 1 error 0 初始化 error 0 即没有错误 error s measure unsigned char 温度测 量 error s measure unsigned char 湿度测 量 if error 0 s connectionreset 如果发生错误 系统复位 else humi val f float humi val i 转换为浮点数 temp val f float temp val i 转换为浮点数 calc sth10 修正相对湿度及温度 temp temp val f 10 humi humi val f 10 wendu 0 temp 1000 0 温度百位 wendu 1 temp 1000 100 0 温度十位 wendu 2 temp 100 10 0 温度个位 wendu 3 0 x2E 小数点 wendu 4 temp 10 0 温度小数点后第一位 displaywendu shidu 0 humi 1000 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安排工作时间的面试题及答案
- 塔吊起重机基座管理制度培训
- 2026爱康销售岗位面试题及答案
- 电器安全检修规程培训
- 工程签证、联系单、设计变更与工程洽商辨析及实务操作
- 镇江大学食堂外包合同
- T∕XYZJY 006-2026郴心服务涉旅企业旅游服务规范 第6部分:旅游购物场所
- T∕SXZYC 003-2026 林下潞党参生态种植叶斑病防治技术规程
- 2025年氢燃料船舶动力系统泄漏检测方案
- 2026年中考考前模拟-道德与法治(安徽卷)(解析版)
- 2026河北省水利工程局集团有限公司校园招聘97人考试备考题库及答案解析
- 2025年泌尿外科学(副高)考试试题常考点试题带答案
- 2026高考全国二指导卷数学(全国二卷04)(考试版)
- 2000-2015年考研英语一真题及详细解析
- 高二升高三主题班会课件
- 小学生心理辅导记录6篇全套
- 电工基础单相正弦交流电单元综合模拟试题2(有答案)
- GB/T 4798.3-2023环境条件分类环境参数组分类及其严酷程度分级第3部分:有气候防护场所固定使用
- 心理健康学习笔记s
- 财务总结及合同续签小结(3篇)
- 老年综合征的护理
评论
0/150
提交评论