果蔬的保鮮對儲存環境的溫濕度要求極高,因此對于果蔬工廠來說,對儲藏果蔬倉庫的環境的溫濕度實時且準確的監測具有重要意義。本設計基于STC89C51單片機的果蔬工廠倉儲環境的智能檢測系統。系統采用無線zigbee組網進行遠程數據傳輸,采用集溫濕度傳感器與A/D轉換器為一體的DHT11芯片作為溫濕度采集模塊,上位機采用美國NI公司的Labview對環境采集的溫濕度數據的進行顯示。其他部分包括下位機LCD1602的顯示,串行通信模塊以及超限報警處理電路,分別實現了上下位機溫濕度給定值的設定和超限報警處理。本文主要介紹了系統的硬件軟件實現原理,對硬件結構原理和軟件實現要點進行分析。系統結構設計明晰、實用,提高了測量精度和效率。
51hei截圖20200206095929.png (153.09 KB, 下載次數: 75)
下載附件
2020-2-6 10:02 上傳
單片機源程序如下:
- #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)
2020-2-6 10:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|