国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

51單片機8路電壓采集1路溫濕度采集串口收發數據Proteus仿真程序

[復制鏈接]
樓主
coolice 發表于 2020-2-1 09:54:56 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
DHT11溫濕度檢測 8路ADC0809電壓采集 串口發送采集數據 高低電壓報警
仿真原理圖如下(proteus仿真工程文件和程序c語言可到本帖附件中下載
DHT11溫濕度檢測 8路ADC0809電壓采集 串口發送采集數據 高低電壓報警.zip (198.69 KB, 售價: 1 E幣)
51單片機8路電壓采集1路溫濕度采集串口收發數據Proteus仿真程序 1.png
單片機源程序如下:
  1. #include<reg52.h>
  2. #include<dht11.h>
  3. #include<1602.h>
  4. #include<uart.h>
  5. #include<adc0809.h>

  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. sbit led1=P2^3;
  9. sbit led2=P2^4;

  10. void main()
  11. {
  12.                
  13.                 adc_interrupt();
  14.                 LCD_Init();   //lcd1602初始化
  15.                 UART_Init();
  16.                 led1=1;
  17.                 led2=1;
  18.         LCD_DrawString(0,0,"RH/T");
  19.    while(1)
  20.    {  
  21.      //電壓值采集處理
  22.                  uchar i;
  23.                 for(i=0;i<8;i++)
  24.                 {
  25.                         ADC();//調用模數轉換程序
  26.                         UART_SendString("volt");
  27.                         UART_SendNum1(1,i);
  28.                         UART_SendString(":");
  29.                         UART_SendNum1(5,volt[i]);
  30.                         UART_SendString("\r\n");
  31.                         
  32.                 }
  33.                  display();//調用顯示程序
  34.                
  35.                 if(volt[0]<35000)
  36.                 {
  37.                         led2=0;
  38.                         UART_SendString("led2:open");
  39.                         UART_SendString("\r\n");
  40.                         }else{led2=1;UART_SendString("led2:close");UART_SendString("\r\n");}
  41.                 if(volt[1]<6000)
  42.                 {
  43.                         led1=0;
  44.                         UART_SendString("led1:open");
  45.                         UART_SendString("\r\n");
  46.                 }else{led1=1;led1=1;UART_SendString("led1:close");UART_SendString("\r\n");}
  47.                
  48.                 //溫濕度處理
  49.                 DHT11_receive();
  50.                  //濕度
  51.                  LCD_SetDisplayAddress(4,0);
  52.                  LCD_DrawNum1(2,rec_dat[0]);
  53.                  LCD_DrawString(6,0,".");
  54.                  LCD_SetDisplayAddress(7,0);
  55.                  LCD_DrawNum1(2,rec_dat[1]);
  56.                  LCD_DrawString(9,0,"% ");
  57.                  
  58.                  //溫度
  59.                  LCD_SetDisplayAddress(11,0);
  60.                  LCD_DrawNum1(2,rec_dat[2]);
  61.                  LCD_DrawString(13,0,".");
  62.                  LCD_SetDisplayAddress(14,0);
  63.                  LCD_DrawNum1(1,rec_dat[3]);
  64.                  LCD_DrawString(15,0,"C");
  65.                  
  66.                         UART_SendString("wendu");
  67.                         UART_SendNum1(2,rec_dat[0]);
  68.                  UART_SendString(".");
  69.                   UART_SendNum1(2,rec_dat[1]);
  70.                         UART_SendString("\r\n");
  71.                         UART_SendString("shidu");
  72.                         UART_SendNum1(2,rec_dat[2]);
  73.                         UART_SendString(".");
  74.                   UART_SendNum1(2,rec_dat[3]);
  75.                  UART_SendString("\r\n");
  76.                
  77.                  
  78.         
  79.    }
  80. }
復制代碼


沙發
山海致遠 發表于 2020-5-31 00:21:25 | 只看該作者
不錯,謝謝很實用
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 00:09

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表