找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 2296|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于LabView溫濕度檢測(cè)控制系統(tǒng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
一、系統(tǒng)方案
本設(shè)計(jì)采用STC89C52單片機(jī)作為主控制器,液晶1602顯示溫濕度,按鍵設(shè)置溫濕度閥值,實(shí)際溫濕度低于設(shè)置下限或者大于上限,蜂鳴器報(bào)警,LabView上位機(jī)通信,上位機(jī)顯示溫濕度,同時(shí)上位機(jī)可以設(shè)置溫濕度閥值,實(shí)現(xiàn)下位機(jī)和上位機(jī)的雙向通訊。


二、硬件設(shè)計(jì)
原理圖如下:
三、單片機(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來開發(fā)的,界面比較簡(jiǎn)單,首先前面板設(shè)計(jì)UI界面,之后后面板通過圖形化編程完成軟件開發(fā),放上一個(gè)上位機(jī)前面板的截圖:


后面板截圖如下:

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表