


免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于89C51单片机SHT11温湿度传感器电路图于程序作者: 张志杰SHT11.h文件:#ifndef _SHT11_H_#define _SHT11_H_/*SHT11相关命令*/#define uchar unsigned char#define uint unsigned int#define TEM_TEST 0x03/温度检测命令#define HUM_TEST 0x05/湿度检测命令#define REG_READ 0x07/读寄存器#define REG_WRITE 0x06/写寄存器#define FUNCTION_SET 0x01/设置SHT11的工作精度为8位/湿度 12位温度/*SHT11端口定义*/sbit SHT11_DATA=P31;sbit SHT11_SCK=P30;sbit P33=P33;sbit P32=P32;sbit P36=P36;sbit P37=P37;uchar flag_tempeture=0; /显示温度位置的标志uchar flag_humidity=0; /显示湿度位置的标志uchar code str1= 0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00;/温度图标uchar code str6_sht11=%RH ; uchar code str4_sht11=humi=;uchar code str2_sht11=temp=;uchar code str7_sht11= ;/清除没不要的显示/*函数名称:Delay()函数功能:SHT11内部延时*/void Delay() ; ;/*函数名称:Delay_Ms()函数功能:SHT11检测等待延时函数说明:11ms/55ms/210ms 分别对应8位/12位/14位 测量结果对应的形参为N 则延时Nms*/void Delay_Ms(uint ms) / ms延时函数 (AT89C51 11.0592MHz) uint i; uchar j; for(i=0;ims;i+) for(j=0;j200;j+); for(j=0;j102;j+); /*函数功能:SHT11启动时序*/void SHT11_Start() SHT11_SCK=1; SHT11_DATA=1; Delay(); SHT11_DATA=0; Delay(); SHT11_SCK=0; Delay(); SHT11_SCK=1; Delay(); SHT11_DATA=1;/*函数名称:SHT11_Sendbyte(uchar dat)函数功能: 向SHT11发送8bite数据*/void SHT11_Sendbyte(uchar dat) uchar i; SHT11_SCK=0; Delay(); for(i=0;i8;i+) if(dat&0x80) SHT11_DATA=1; Delay(); else SHT11_DATA=0; Delay(); dat=dat1; SHT11_SCK=1; Delay(); SHT11_SCK=0; /*函数名称SHT11_Answer():函数功能:检测SHT11的响应信号(在第九个时钟周期)*/void SHT11_Answer() SHT11_SCK=1; Delay(); while(SHT11_DATA=1); SHT11_SCK=0; SHT11_DATA=1;/*函数名称:SHT11_Test_Finish()函数功能:检测SHT11温湿度检测是否完毕*/void SHT11_Test_Finish() while(SHT11_DATA=1);/*函数名称:SHT11_Receivebyte()函数功能:从SHT11接收8bite数据*/uchar SHT11_Receivebyte() uchar i; uchar dat; SHT11_SCK=0; Delay(); for(i=0;i8;i+) SHT11_SCK=1; Delay(); dat=dat2.47V 当位6为1时表明VDD2.47V即电量不足 位0表明当前的测量分辨率 当位0为1时表明测量精度:8位/湿度 12位温度 当位0为0时表明测量精度:12位湿度 14位温度 默认为0*/uchar SHT11_Read_Register(uchar command) uchar dat; SHT11_Start(); SHT11_Sendbyte(command); SHT11_Answer(); dat=SHT11_Receivebyte(); SHT11_End(); return(dat);/*函数名称:SHT11_Measure(uchar command,uint time);函数功能:设置SHT11检测功能,并返回相应的检测结果函数说明:command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定检测结果的位数11ms/55ms/210ms 分别对应8位/12位/14位 */uint SHT11_Measure(uchar command,uchar time) uint dat=0; uchar data_high,data_low; SHT11_Start(); SHT11_Sendbyte(command); SHT11_Answer(); Delay_Ms(time); SHT11_Test_Finish(); data_high=SHT11_Receivebyte(); MCU_Answer(); data_low=SHT11_Receivebyte(); SHT11_End(); dat=(dat|data_high); dat=(dat23) tempeture1=tempeture1+1; if(tempeture155) tempeture1=tempeture1+1; if(P37=1) if(tempeture1=16&tempeture1=400&r=600) P32=1; else P32=0; return(r);#endifDisplay.c文件:#include #include SHT11.h#define uchar unsigned char#define uint unsigned int#define TEM_TEST 0x03/温度检测命令#define HUM_TEST 0x05/湿度检测命令#define REG_READ 0x07/读寄存器#define REG_WRITE 0x06/写寄存器#define FUNCTION_SET 0x01/设置SHT11的工作精度为8位/湿度 12位温度uchar DispData4 = 0, 1, 2, 3;code uchar DispSegmentP010=0x3f,0x06,0x1b,0x0f,0x26,0x2d,0x3d,0x07,0x3f,0x2f;code uchar DispSegmentP210=0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x00,0x22,0x22; / 0 1 2 3 4 5 6 7 8 9 %code uchar DispCtrl4 = 0xef, 0xdF, 0xbf ,0x7F;sbit P16=P16;sbit P26=P26;sbit P34=P34; void Temp_delay(unsigned int j) uchar i; for(i=100;i0;i-) for(j;j0;j-); void Show(uchar *Buffer) uchar i; for (i=0; i4; i+) P1 = DispCtrli; P0 = DispSegmentP0*Buffer; P2 = DispSegmentP2*Buffer; if(P16=0) P26=1; Temp_delay(2); Buffer+; void DispConvert(uchar *DispAddr, uint Temp2Con) DispAddr0 = Temp2Con/1000; DispAddr1 = (Temp2Con - DispAddr0*1000)/100; DispAddr2 = (Temp2Con - DispAddr0*1000 - DispAddr1*100)/10; DispAddr3 = Temp2Con - DispAddr0*1000 - DispAddr1*100 - DispAddr2*10; void main() uint temp; uint dat; uint Hum; /float f; while(1) Show(DispData); SHT11_Write_Register(REG_WRITE,FUNCTION_SET); temp=SHT11_Measure(TEM_TEST,0x37); temp=SHT11_Convert_Tempeture12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-江西-江西工程测量工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西放射技术员二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西土建施工人员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东防疫员一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东汽车驾驶与维修员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东地图绘制员一级(高级技师)历年参考题库典型考点含答案解析
- 2020-2025年二级建造师之二建建筑工程实务通关考试题库带答案解析
- 2025年银行金融类-金融考试-银行业专业人员中级(法规+银行管理)历年参考题库含答案解析(5套)
- 2025年职业技能鉴定-石雕工-石雕工(高级)历年参考题库含答案解析(5套)
- 2025年综合评标专家-甘肃-甘肃综合评标专家(工程造价类)历年参考题库含答案解析(5套)
- 化学(基础模块)中职PPT完整全套教学课件
- 京东集团员工手册-京东
- 2023年苏州市星海实验中学小升初分班考试数学模拟试卷及答案解析
- GB/T 37915-2019社区商业设施设置与功能要求
- GB/T 31298-2014TC4钛合金厚板
- GB/T 27746-2011低压电器用金属氧化物压敏电阻器(MOV)技术规范
- GB/T 22237-2008表面活性剂表面张力的测定
- GB/T 13667.3-2003手动密集书架技术条件
- 导轨及线槽项目投资方案报告模板
- 复旦大学<比较财政学>课程教学大纲
- 书法的章法布局(完整版)
评论
0/150
提交评论