标题: 远程果蔬工厂监控系统设计 LabVIEW+单片机程序 [打印本页]
作者: 木一小哥 时间: 2020-2-6 09:57
标题: 远程果蔬工厂监控系统设计 LabVIEW+单片机程序
果蔬的保鲜对储存环境的温湿度要求极高,因此对于果蔬工厂来说,对储藏果蔬仓库的环境的温湿度实时且准确的监测具有重要意义。本设计基于STC89C51单片机的果蔬工厂仓储环境的智能检测系统。系统采用无线zigbee组网进行远程数据传输,采用集温湿度传感器与A/D转换器为一体的DHT11芯片作为温湿度采集模块,上位机采用美国NI公司的Labview对环境采集的温湿度数据的进行显示。其他部分包括下位机LCD1602的显示,串行通信模块以及超限报警处理电路,分别实现了上下位机温湿度给定值的设定和超限报警处理。本文主要介绍了系统的硬件软件实现原理,对硬件结构原理和软件实现要点进行分析。系统结构设计明晰、实用,提高了测量精度和效率。
单片机源程序如下:
- #include <reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
- #include "intrins.h"
- #include <math.h>
- #include "lcd1602.h"
- #include "dht11.h"
- #include "dht11_1.h"
- #include "usart.h"
- #define uchar unsigned char
- #define uint unsigned int
- uint flag_1000=0;
- uchar rec_dat[12];
- uchar rec_dat1[12];
- uchar sbuf[8];
- /*******************************************************************************
- * 函 数 名 : Timer0Init
- * 函数功能 : 定时器0初始化
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void Timer0Init()
- {
- TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
- TH0=0XFC; //给定时器赋初值,定时1ms
- TL0=0X18;
- ET0=1;//打开定时器0中断允许
- EA=1;//打开总中断
- TR0=1;//打开定时器
- }
- /*------------------------------------------------
- 主函数
- ------------------------------------------------*/
- void main(void)
- {
- uchar i,j;
- //Timer0Init();
- LCD_Init();
- UartInit(); // 串口初始化
- LCD_Clear();//清屏
- delay_ms(300); //DHT11上电后要等待1S以越过不稳定状态在此期间不能发送任何指令
- while (1)
- {
- DHT11_receive();
- DHT11_1_receive();
- for(i=0;i<11;i++)
- {
- LCD_Write_Char(i,0,rec_dat[i]);
- LCD_Write_Char(i,1,rec_dat1[i]);
- }
- // if( flag_1000==1)
- // {
- //flag_1000=0;
- for(j=0;j<8;j++)
- {
- uart_send_byte(sbuf[j]);
- }
- //}
- }
- }
复制代码
上位机程序:
远程果蔬工厂监控系统设计.rar
(79.6 KB, 下载次数: 125)
作者: gnez 时间: 2020-2-28 17:25
多谢分享!!!
作者: ssnhjn 时间: 2020-3-2 13:19
资源太值得学习了
您好,有protues仿真图吗?
作者: newepson2001 时间: 2021-4-24 13:43
下来好好学习学习,谢谢分享!
作者: lyh一点点 时间: 2021-5-7 10:16
这资料不对吧,界面里有PM2.5的但是程序里根本没有的
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |