




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 51 单片机 SHT11 温湿度传感器检测程序 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 lcdrw 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 char mode 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 温度小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业广告拍摄与制作协议书
- 农村土地流转经营委托协议
- 古诗文教学方法探讨:运用情境教学提升课堂效果
- 教师招聘之《小学教师招聘》通关考试题库及完整答案详解【必刷】
- 2025年教师招聘之《小学教师招聘》通关题库带答案详解(黄金题型)
- 教师招聘之《幼儿教师招聘》能力提升B卷题库含答案详解【综合题】
- 深海产业结构调整策略方案
- 高等教育与新质生产力发展
- 2025秋大象版(2024)小学科学三年级上册《气体》教学设计
- 教师招聘之《小学教师招聘》模拟卷包及完整答案详解【名校卷】
- 医院价格公示管理制度
- 建设工程设计合同(业主、管理人、设计人三方)
- 计算机一级Msoffice知识点总结试题及答案
- 新生儿竞赛试题及答案
- TCCEAS001-2022建设项目工程总承包计价规范
- 输变电工程施工质量验收统一表式附件4:电缆工程填写示例
- 幼儿园大班数学测加减法口算练习题
- 餐饮内部稽核管理制度
- 中西艺术时空对话 课件 2024-2025学年岭南美版(2024) 初中美术七年级下册
- 护理学科建设
- 应急照明施工方案
评论
0/150
提交评论