0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机DHT22温湿度LabView上位机监控系统设计

bbxyliyang 来源:bbxyliyang 作者:bbxyliyang 2023-07-18 09:11 次阅读

一、系统方案
本设计采用AT89C52单片机作为主控制器,液晶1602显示温湿度,LabView上位机通信,上位机显示温度,同时上位机可以设置温度上下限,当测量温度低于或高于上限,温度报警,上位机可以控制下位机加热设备启动与关闭,实现上位机和下位机的交换数据。

wKgZomS1QYSAQlAOAAAZw44TFRo191.png


二、硬件设计
原理图如下:

wKgaomS1QYyAOCvmAAEotUKS6-Y003.png

三、单片机软件设计
1、单片机代码主要是串口初始化、串口中断服务程序。首先是串口初始化:
void uart_init()
{
TMOD |= 0x20;//定时器1,工作模式2 8位自动重装
TH1 = 0xfd;
TL1 = 0xfd;//设置比特率9600
SM0 = 0;
SM1 = 1;//串口工作方式1,8位UART波特率可变
TR1 = 1;//启动定时器1
REN = 1;
EA = 1; //打开总中断
ES = 1; //打开串口中断
}
2、贴上51单片机负责串口发送的两个函数:
void SendByte(unsigned char dat) //发送一个字节的数据,形参dat即为待发送数据。
{
SBUF = dat; //将数据写入到串口缓冲
while(!TI); //等待发送完毕
TI = 0;
}
void SendArray(unsigned char *Array, unsigned char Size)//通过串口发送一个数组,构建for循环,改变索引依次发送
{
unsigned char i;

for(i = 0; i < Size; i++)
{
SendByte(Array[i]);
}
}
在串口中断中处理接收到的数据:
void uart(void) interrupt 4 //串口中断
{
unsigned char Res;
static unsigned char Rec_state = 0;

if(RI) //收到数据
{
RI = 0; //清中断请求
Res = SBUF;
if(Res == 0xFF) //接收到帧头
{
Rec_state = 1;
}
else if(Rec_state == 1 && Res == 0xEE)//接收到帧尾
{
Rec_state = 0;
}
else if(Rec_state == 1)
{
switch(Res)//接收到数据,继电器控制
{
case 0x02: RY2 = 0; break;
case 0x03: RY2 = 1; break;
default : RY2 =1; break;
}
}
}
else //发送完一字节数据
{
//TI = 0;
}
}
3、贴上DHT22读温湿度函数
unsigned char Read_Sensor(void)
{
unsigned char i;
//主机拉低(Min=800US Max=20Ms)
DHT_PIN = 0;
Delay_N1ms(18); //延时18Ms

//释放总线 延时(Min=30us Max=50us)
DHT_PIN = 1;
Delay_N10us(2);//延时30us
//主机设为输入 判断传感器响应信号
DHT_PIN = 1;

Sensor_AnswerFlag = 0; // 传感器响应标志

//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行
if(DHT_PIN ==0)
{
Sensor_AnswerFlag = 1;//收到起始信号
Sys_CNT = 0;
//判断从机是否发出 80us 的低电平响应信号是否结束
while((!DHT_PIN))
{
if(++Sys_CNT>300) //防止进入死循环
{
Sensor_ErrorFlag = 1;
return 0;
}
}
Sys_CNT = 0;
//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态
while((DHT_PIN))
{
if(++Sys_CNT>300) //防止进入死循环
{
Sensor_ErrorFlag = 1;
return 0;
}
}
// 数据接收 传感器共发送40位数据
// 即5个字节 高位先送 5个字节分别为湿度高位 湿度低位 温度高位 温度低位 校验和
// 校验和为:湿度高位+湿度低位+温度高位+温度低位
for(i=0;i<5;i++)
{
Sensor_Data[i] = Read_SensorData();
}
}
else
{
Sensor_AnswerFlag = 0; // 未收到传感器响应
}
return 1;
}
四、上位机软件设计
上位机是借助LabView来开发的,界面比较简单,首先前面板设计UI界面,之后后面板通过图形化编程完成软件开发,放上一个上位机前面板的截图:

wKgZomS1QZmAeTcgAAEOoYm8f2E953.png

后面板截图如下:

wKgaomS1QZ-AAqSRAACZ1h2Uzlg640.pngwKgZomS1QaaAS31aAABTztsfJm4680.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632764
  • LabVIEW
    +关注

    关注

    1963

    文章

    3652

    浏览量

    322318
  • 监控系统
    +关注

    关注

    21

    文章

    3860

    浏览量

    173489
  • 上位机
    +关注

    关注

    27

    文章

    930

    浏览量

    54725
  • DHT22
    +关注

    关注

    2

    文章

    51

    浏览量

    7159
收藏 人收藏

    评论

    相关推荐

    51单片机温湿度监控系统

    ,实现系统对超限温湿度监控报警; 5.设计输入单元,可对系统正常温湿度范围进行调节; 6.仿真系统
    发表于 08-18 21:12

    51单片机dht11温湿度传感器

    51单片机dht11温湿度传感器,今天给大家介绍的是一个温湿度检测设计,基于51单片机、蓝牙模块、温湿度
    发表于 07-14 07:45

    AM2303(DHT22)湿敏电容数字温湿度模块综述

    一、产品综述AM2303(DHT22)湿敏电容数字温湿度模块是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越
    发表于 12-13 08:04

    基于单片机的蔬菜大棚温湿度智能控制系统设计资料分享

    基于STM32的多点温湿度无线传输检测及控制(基于单片机的蔬菜大棚温湿度智能控制系统)一前言(含研究目的及意义)1、研究目的2、研究意义二、研究工作的主要内容三、理论创新成果四、实践创
    发表于 02-16 06:34

    如何去实现一种基于单片机的粮仓温湿度监控系统设计

    。标签:51单片机、LCD1602、DS1302、DHT11、ADC0832题目扩展:冷库检测系统。粮库温湿度监控-实物设计 - 电子校园编
    发表于 02-18 06:25

    【CW32饭盒派开发板试用体验】+DHT22温湿度检测

    DHT11是一种常见的单总线数字式温湿度,且在开发板上配有该温湿度传感器的接口,见图1所示。 由于手头只有DHT22,就直接以它来进行温湿度
    发表于 06-12 10:38

    基于单片机控制的大棚温湿度监控系统的设计

    基于单片机控制的大棚温湿度监控系统的设计
    发表于 09-20 08:24 109次下载
    基于<b class='flag-5'>单片机</b>控制的大棚<b class='flag-5'>温湿度</b><b class='flag-5'>监控</b><b class='flag-5'>系统</b>的设计

    DHT11温湿度传感器的AVR单片机例程

    DHT11温湿度传感器的AVR单片机例程
    发表于 05-16 14:46 26次下载
    <b class='flag-5'>DHT</b>11<b class='flag-5'>温湿度</b>传感器的AVR<b class='flag-5'>单片机</b>例程

    微雪电子DHT22 温湿度传感器简介

    DHT22 温湿度传感器 标准单总线接口 高精度测量 用于检测环境温湿度 型号 DHT22 Temperature-Humidity Sensor
    的头像 发表于 01-02 16:17 4730次阅读
    微雪电子<b class='flag-5'>DHT22</b> <b class='flag-5'>温湿度</b>传感器简介

    687【毕设课设】基于单片机温湿度DHT11智能晾衣架系统

    687【毕设课设】基于单片机温湿度DHT11智能晾衣架系统
    发表于 11-13 10:36 20次下载
    687【毕设课设】基于<b class='flag-5'>单片机</b><b class='flag-5'>温湿度</b><b class='flag-5'>DHT</b>11智能晾衣架<b class='flag-5'>系统</b>

    基于51单片机的加湿器控制系统(dht22)Proteu

    基于51单片机的加湿器控制系统(dht22)Proteu
    发表于 12-27 09:48 43次下载

    基于单片机的粮仓温湿度监控系统

    的阈值。标签:51单片机、LCD1602、DS1302、DHT11、ADC0832题目扩展:冷库检测系统。粮库温湿度监控-实物设计 - 电子
    发表于 12-23 19:29 37次下载
    基于<b class='flag-5'>单片机</b>的粮仓<b class='flag-5'>温湿度</b><b class='flag-5'>监控</b><b class='flag-5'>系统</b>

    基于单片机LabVIEW温湿度监测系统设计

    利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统
    的头像 发表于 06-09 14:02 5337次阅读
    基于<b class='flag-5'>单片机</b>和<b class='flag-5'>LabVIEW</b>的<b class='flag-5'>温湿度</b>监测<b class='flag-5'>系统</b>设计

    基于PIC18系列单片机DHT11温湿度采集系统设计

    基于PIC18系列(PIC18F4520)单片机+DHT11的温湿度采集系统的设计与制作(Proteus仿真部分)
    的头像 发表于 06-16 16:36 1045次阅读
    基于PIC18系列<b class='flag-5'>单片机</b>的<b class='flag-5'>DHT</b>11<b class='flag-5'>温湿度</b>采集<b class='flag-5'>系统</b>设计

    数字温湿度模块DHT22说明书_V3

    数字温湿度模块DHT22说明书
    发表于 12-02 14:23 19次下载