找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4179|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機8路電壓采集1路溫濕度采集串口收發(fā)數(shù)據(jù)Proteus仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:680356 發(fā)表于 2020-1-3 12:51 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  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();//調(diào)用模數(shù)轉(zhuǎn)換程序
  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();//調(diào)用顯示程序
  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. }
復(fù)制代碼

所有資料51hei提供下載:
DHT11溫濕度檢測 8路ADC0809電壓采集 串口發(fā)送采集數(shù)據(jù) 高低電壓報警.zip (198.69 KB, 下載次數(shù): 153)


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

使用道具 舉報

沙發(fā)
ID:814022 發(fā)表于 2020-8-15 11:36 | 只看該作者
沒看到函數(shù)體呢
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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