打印

基于LabView温湿度检测控制系统

[复制链接]
1321|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
基于LabView温湿度检测控制系统
一、系统方案
本设计采用STC89C52单片机作为主控制器,液晶1602显示温湿度,按键设置温湿度阀值,实际温湿度低于设置下限或者大于上限,蜂鸣器报警,LabView上位机通信,上位机显示温湿度,同时上位机可以设置温湿度阀值,实现下位机和上位机的双向通讯。

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

三、单片机软件设计
单片机代码主要是串口初始化、串口中断服务程序。首先是串口初始化:
void Uart_init()
{       
    TMOD=0x21;                        //波特率发生器T1的工作方式为2,自动填装初值
        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单片机负责串口发送的两个函数:
void mcu_pc(unsigned char x)//串口发送程序 发送单个字节
{
        SBUF=x;
        while(TI==0);
        TI=0;
}
void Send2_Str(char *s)//发送字符串
{
    while (*s)              //Check the end of the string
    {
        mcu_pc(*s++);     //Send current char and increment string ptr
    }
}
在串口中断中处理接收到的数据:
void Usart() interrupt 4
{
        if(RI==1)
        {
        receiveData=SBUF;//出去接收到的数据
        RI = 0;//清除接收中断标志位
        }
}
四、上位机软件设计
上位机是借助LabView来开发的,界面比较简单,首先前面板设计UI界面,之后后面板通过图形化编程完成软件开发,放上一个上位机前面板的截图:
后面板截图如下:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

28

帖子

0

粉丝