bbxyliyang01 发表于 2023-7-15 21:26

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

基于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界面,之后后面板通过图形化编程完成软件开发,放上一个上位机前面板的截图: 后面板截图如下:
页: [1]
查看完整版本: 基于LabView温湿度检测控制系统