標(biāo)題: 基于LabView溫濕度檢測(cè)控制系統(tǒng) [打印本頁(yè)]
作者: bbxyliyang 時(shí)間: 2023-7-15 21:18
標(biāo)題: 基于LabView溫濕度檢測(cè)控制系統(tǒng)
一、系統(tǒng)方案
本設(shè)計(jì)采用STC89C52單片機(jī)作為主控制器,液晶1602顯示溫濕度,按鍵設(shè)置溫濕度閥值,實(shí)際溫濕度低于設(shè)置下限或者大于上限,蜂鳴器報(bào)警,LabView上位機(jī)通信,上位機(jī)顯示溫濕度,同時(shí)上位機(jī)可以設(shè)置溫濕度閥值,實(shí)現(xiàn)下位機(jī)和上位機(jī)的雙向通訊。
1.png (7.13 KB, 下載次數(shù): 60)
下載附件
2023-7-15 21:16 上傳
二、硬件設(shè)計(jì)
原理圖如下:
2.png (52.58 KB, 下載次數(shù): 58)
下載附件
2023-7-15 21:17 上傳
三、單片機(jī)軟件設(shè)計(jì)
單片機(jī)代碼主要是串口初始化、串口中斷服務(wù)程序。首先是串口初始化:
void Uart_init()
{
TMOD=0x21; //波特率發(fā)生器T1的工作方式為2,自動(dòng)填裝初值
TH0=(65536-50000)/256; //重裝初值50ms中斷一次
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
EA=1;
TH1=0xfd;
TL1=0xfd;
TR1=1;
ET1=0;
SM0=0;
SM1=1;
REN=1;
ES=1;
beep=1;
}
貼上51單片機(jī)負(fù)責(zé)串口發(fā)送的兩個(gè)函數(shù):
void mcu_pc(unsigned char x)//串口發(fā)送程序 發(fā)送單個(gè)字節(jié)
{
SBUF=x;
while(TI==0);
TI=0;
}
void Send2_Str(char *s)//發(fā)送字符串
{
while (*s) //Check the end of the string
{
mcu_pc(*s++); //Send current char and increment string ptr
}
}
在串口中斷中處理接收到的數(shù)據(jù):
void Usart() interrupt 4
{
if(RI==1)
{
receiveData=SBUF;//出去接收到的數(shù)據(jù)
RI = 0;//清除接收中斷標(biāo)志位
}
}
四、上位機(jī)軟件設(shè)計(jì)
上位機(jī)是借助LabView來(lái)開(kāi)發(fā)的,界面比較簡(jiǎn)單,首先前面板設(shè)計(jì)UI界面,之后后面板通過(guò)圖形化編程完成軟件開(kāi)發(fā),放上一個(gè)上位機(jī)前面板的截圖:
3.png (52.89 KB, 下載次數(shù): 59)
下載附件
2023-7-15 21:17 上傳
后面板截圖如下:
4.png (53.02 KB, 下載次數(shù): 59)
下載附件
2023-7-15 21:18 上傳
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |