资源简介
以51单片机为主体 实现多点的温湿度测量和显示 外接一个迷你usb加湿器 在当前湿度低于设定值时启动
代码片段和文件信息
#include “DHT11.h“
U8 U8FLAGk;
U8 U8countU8temp;
U8 U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
U8 U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
U8 U8comdata;
U8 count count_r=0;
U8 U8FLAG11k11;
U8 U8count11U8temp11;
U8 U8T_data_H11U8T_data_L11U8RH_data_H11U8RH_data_L11U8checkdata11;
U8 U8T_data_H_temp11U8T_data_L_temp11U8RH_data_H_temp11U8RH_data_L_temp11U8checkdata_temp11;
U8 U8comdata11;
U8 count11 count_r11=0;
void Delay1(U16 j)
{
U8 i;
for(;j>0;j--)
{
for(i=0;i<27;i++);
}
}
void Delay_10us(void)
{
U8 i;
i--;
i--;
i--;
i--;
i--;
i--;
}
void COM(void)
{
U8 i;
for(i=0;i<8;i++)
{
U8FLAG=2;
while((!DATA)&&U8FLAG++);
Delay_10us();
Delay_10us();
Delay_10us();
U8temp=0;
if(DATA)U8temp=1;
U8FLAG=2;
while((DATA)&&U8FLAG++);
//超时则跳出for循环
if(U8FLAG==1)break;
//判断数据位是0还是1
// 如果高电平高过预定0高电平值则数据位为 1
U8comdata<<=1;
U8comdata|=U8temp; //0
}//rof
}
//--------------------------------
//-----温湿度读取子程序 ------------
//--------------------------------
//----以下变量均为全局变量--------
//----温度高8位== U8T_data_H------
//----温度低8位== U8T_data_L------
//----湿度高8位== U8RH_data_H-----
//----湿度低8位== U8RH_data_L-----
//----校验 8位 == U8checkdata-----
//----调用相关子程序如下----------
//---- Delay(); Delay_10us();COM();
//--------------------------------
U8 RH(void)
{
//主机拉低18ms
DATA=0;
Delay1(180); //原来为5
DATA=1;
//总线由上拉电阻拉高 主机延时20us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主机设为输入 判断从机响应信号
DATA=1;
//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行
if(!DATA) //T !
{
U8FLAG=2;
//判断从机是否发出 80us 的低电平响应信号是否结束
while((!DATA)&&U8FLAG++);
U8FLAG=2;
//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态
while((DATA)&&U8FLAG++);
//数据接收状态
COM();
U8RH_data_H_temp=U8comdata;
COM();
U8RH_data_L_temp=U8comdata;
COM();
U8T_data_H_temp=U8comdata;
COM();
U8T_data_L_temp=U8comdata;
COM();
U8checkdata_temp=U8comdata;
DATA=1;
//数据校验
U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
if(U8temp==U8checkdata_temp)
{
U8RH_data_H=U8RH_data_H_temp;
U8RH_data_L=U8RH_data_L_temp;
U8T_data_H=U8T_data_H_temp;
U8T_data_L=U8T_data_L_temp;
U8checkdata=U8checkdata_temp;
}//fi
return 1;
}//fi
else //传感器不响应
{
return 0;
}
}
void COM11(void)
{
U8 i;
for(i=0;i<8;i++)
{
U8FLAG11=2;
while((!DATA11)&&U8FLAG11++);
Delay_10us();
Delay_10us();
Delay_10us();
U8temp11=0;
if(DATA11)U8temp11=1;
U8FLAG11=2;
while((DATA11)&&U8FLAG11++);
//超时则跳出for循环
if(U8FLAG11==1)break;
//判断数据位是0还是
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5143 2018-03-24 15:14 34401多路温湿度程序\DHT11.c
文件 1215 2018-03-24 15:12 34401多路温湿度程序\DHT11.h
文件 10609 2018-03-27 15:52 34401多路温湿度程序\DHT11.LST
文件 11559 2018-03-27 15:52 34401多路温湿度程序\DHT11.OBJ
文件 3468 2018-03-01 21:57 34401多路温湿度程序\DS1302.c
文件 855 2018-03-01 19:49 34401多路温湿度程序\DS1302.h
文件 7615 2018-03-01 22:04 34401多路温湿度程序\DS1302.OBJ
文件 2147 2017-10-20 13:03 34401多路温湿度程序\LCD1602.c
文件 434 2018-01-09 20:18 34401多路温湿度程序\LCD1602.h
文件 4402 2018-03-27 15:52 34401多路温湿度程序\LCD1602.LST
文件 5314 2018-03-27 15:52 34401多路温湿度程序\LCD1602.OBJ
文件 7893 2018-03-27 15:52 34401多路温湿度程序\main.LST
文件 9698 2018-03-27 15:52 34401多路温湿度程序\main.OBJ
文件 943 2017-01-17 17:59 34401多路温湿度程序\main.opt.bak
文件 2069 2017-01-17 17:59 34401多路温湿度程序\main.Uv2.bak
....... 68873 2018-03-27 16:59 34401多路温湿度程序\main.uvopt
....... 13739 2018-03-27 15:51 34401多路温湿度程序\main.uvproj
文件 1685 2017-01-17 17:59 34401多路温湿度程序\main_Opt.Bak
....... 68867 2018-03-27 16:30 34401多路温湿度程序\main_uvopt.bak
....... 13742 2018-03-24 14:10 34401多路温湿度程序\main_uvproj.bak
文件 5116 2017-01-17 17:59 34401多路温湿度程序\STARTUP.A51
文件 11666 2018-03-27 15:52 34401多路温湿度程序\Startup.LST
文件 749 2018-03-27 15:52 34401多路温湿度程序\Startup.OBJ
文件 23024 2018-03-27 15:52 34401多路温湿度程序\温湿度
文件 4224 2018-03-27 15:52 34401多路温湿度程序\温湿度.hex
文件 25246 2018-03-27 15:52 34401多路温湿度程序\温湿度.M51
文件 223 2018-03-27 16:51 34401多路温湿度程序\温湿度.plg
文件 35840 2018-10-10 12:52 lunwen.doc
目录 0 2018-10-10 12:52 34401多路温湿度程序
----------- --------- ---------- ----- ----
............此处省略2个文件信息
相关资源
- C51单片机数字温度计源程序与论文.
- 瑞萨单片机的应用洗衣机上的源代码
- 基于单片机和LCD12864的简易计算器
- 单片机期末考试题目及答案详解
- c51单片机跑马灯单键控制
- 飞思卡尔S12单片机CCP源码
- PIC单片机 18B20温度传感器和六位数码
- 基于LabVIEW及单片机的温度测控系统设
- 基于51单片机的公交车语音报站系统
- 基于单片机万年历+温度+LCD12864 prote
- 基于单片机控制的CAN总线与RS-232转换
- 在Protues中怎样更改51单片机默认RAM大
- 单片机电子琴程序
- PID控制直流电机调速含proteus仿真
- 基于单片机的流量控制器设计
- 51单片机PWM细分控制步进电机的研究初
- 基于单片机的智能灯光控制器的设计
- 52单片机控制TC35发短信程序
- 51系列单片机门禁源程序
- 51单片机超声波测距仪制作(电路,
- 单片机与手机WiFi通信
- 超声波电子测距仪 单片机
- 基于89C51制作光控灯
- 全自动洗衣机PROTUES仿真+源程序+完整
- 三电平逆变器预测控制仿真模型
- 51单片机驱动DS1302时间模块+DS18B20温度
- 基于LabVIEW的温度测控系统设计
- 单片机测量占空比-代码
- hmc5883l 与51单片机接线图
- 基于51单片机-智能红外遥控寻迹避障
评论
共有 条评论