久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2100|回復: 1
收起左側

發表一個汽車車內環境自動調控的stm32工程代碼

[復制鏈接]
ID:311897 發表于 2018-5-15 21:21 | 顯示全部樓層 |閱讀模式
包含車內環境采集量的采集和相應的調節動作
希望能幫到在做環境自動調節項目的小伙伴

單片機源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "oled.h"
  4. #include "htc101.h"
  5. #include "dht11.h"
  6. #include "display.h"
  7. #include "PWM.h"
  8. #include "motor.h"
  9. #include "tim.h"
  10. #include "allcontrol.h"
  11. #include "ventilationsystem.h"

  12. u8 nowtemperature;                                                                                                             
  13. u8 nowhumidity;
  14. u8 Ctrol_flag=0;                                                                                                                                                //控制標志位


  15. int main(void)
  16. {       
  17.                 delay_init();                                                //延時函數初始化          
  18.                 OLED_Init();                                                      //初始化OLED  
  19.                 OLED_Clear();                                   //清屏函數
  20.                
  21.           NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  22.           uart_init(19200);                                                                                                                                 //串口初始化為19200                               

  23.                 DHT11_Init();                                                                                                                                                //溫濕度初始化
  24.          
  25.                 Ventilation_GPIO_Init();                                                                                                //風扇初始化
  26.          
  27.           MOTOR_GPIO_Config();                                                                                                                //電機端口初始化
  28.           TIM3_PWM_Init(999,0);                                                                                                                //PWM波初始化
  29.          
  30.                 START_display();                                                                                                                                //人機交互界面1         
  31.           short_wait();
  32.                 OLED_Clear();                         
  33.           Display_5();                                                                                                                                                //人機交互界面2
  34.          
  35.                 while(1)                                                                                                                                        
  36.                         {       

  37.                                                                                                                                                                                                                                 //第一部分:采集數據,人機交互
  38.                                 DHT11_Read_Data(&nowtemperature,&nowhumidity);  //讀取溫濕度值
  39.                                        
  40.                                 Display_0();                                                                                                                                                //人機交互界面3
  41.                                 OLED_ShowNum(0+40,4,nowtemperature,2,16);                                 //顯示溫度                             
  42.                                 OLED_ShowNum(0+40,6,nowhumidity,2,16);                                         //顯示濕度       
  43.                                 OLED_ShowNum(0+40,2,CO2_Data,4,16);                                                         //顯示當前CO2值
  44.                                 delay_ms(500);                                                                                                                                        //防止顯示閃屏
  45.                                 short_wait();
  46.                                
  47.                                
  48.                                                                                                                                                                                                                                 //第二部分:分析數據,自動控制
  49.                        
  50.                                 if(CO2_Data<4500&&nowtemperature<26&&nowhumidity>12)
  51.                                         {
  52.                                                 Ctrol_flag=0;
  53.                                         }

  54.                                 if(CO2_Data<6000&CO2_Data>4500&&nowtemperature<26&&nowhumidity>12)
  55.                                         {
  56.                                                 Ctrol_flag=1;
  57.                                         }

  58.                                 if(CO2_Data>6000&&nowtemperature<26&&nowhumidity>12)
  59.                                         {
  60.                                                 Ctrol_flag=2;
  61.                                         }

  62.                                 if(CO2_Data<6000&nowtemperature>26|nowhumidity<12)
  63.                                         {
  64.                                                 Ctrol_flag=3;
  65.                                         }
  66.                                        
  67.                          if(CO2_Data>6000&&nowtemperature>26|nowhumidity<12)
  68.                                         {
  69.                                                 Ctrol_flag=4;
  70.                                         }

  71.                                        
  72.                         if(Ctrol_flag==0)
  73.                           {
  74.                                         motoroutput1(0);
  75.                                         motoroutput2(0);
  76.                                         motoroutput3(0);
  77.                                         Ventilation_Close();
  78.                           }
  79.                        
  80.                         if(Ctrol_flag==1)                                               
  81.                                 {
  82.                                                 Ctrol_flag=0;
  83.                                                 delay_ms(500);
  84.                                                 motoroutput1(500);       
  85.                                                 OLED_Clear();  
  86.                                                 Display_1();                                                                                                                                                //人機交互界面4
  87.                                                 mid_wait();
  88.                                                 motoroutput1(0);
  89.                                                 Ventilation_Close();
  90.                                                 short_wait();
  91.                                                 long_wait();
  92.                                                 mid_wait();
  93.                                                 mid_wait();
  94.                                           short_wait();
  95.                                                 short_wait();
  96.                                                
  97.                                 }
  98.                                
  99.                         if(Ctrol_flag==2)                                                  
  100.                                 {
  101.                                                 Ctrol_flag=0;
  102.                                                 delay_ms(500);
  103.                                                 OLED_Clear();
  104.                                                 Display_2();                                                                                                                                                //人機交互界面5
  105.                                                 motoroutput2(200);
  106.                                                 motoroutput1(0);
  107.                                                 mid_wait();
  108.                                                 motoroutput2(0);
  109.                                                 Ventilation_Close();
  110.                                                 short_wait();
  111.                                                 big_long_wait();
  112.                                                 short_wait();
  113.                                                 short_wait();
  114.                                 }
  115.                                
  116.                         if(Ctrol_flag==3)                                                 
  117.                                 {
  118.                                                 Ctrol_flag=0;
  119.                                                 delay_ms(500);
  120.                                                 OLED_Clear();
  121.                                                 Display_3();                                                                                                                                                 //人機交互界面6                       
  122.                                                 motoroutput1_1(200);                                                                                                                  //車窗反轉
  123.                                                 motoroutput2_2(200);
  124.                                                 motoroutput3(200);
  125.                                                 mid_wait();
  126.                                                 motoroutput1_1(0);                                                                                                                 
  127.                                                 motoroutput2_2(0);
  128.                                                 Ventilation_Close();
  129.                                                 short_wait();
  130.                                                 big_long_wait();
  131.                                 }
  132.                                
  133.                         if(Ctrol_flag==4)                                                 
  134.                                 {
  135.                                                 Ctrol_flag=0;
  136.                                                 delay_ms(500);
  137.                                                 OLED_Clear();
  138.                                                 Display_4();                                                                                                                                                //人機交互界面7
  139.                                                 motoroutput1_1(200);                                                                                                                 //車窗反轉
  140.                                                 motoroutput2_2(200);
  141.                                           mid_wait();
  142.                                                 motoroutput1_1(0);                                                                                                                 
  143.                                                 motoroutput2_2(0);
  144.                                                 motoroutput3(200);
  145.                                                 Ventilation_Open();
  146.                                                 short_wait();
  147.                                                 short_wait();
  148.                                                 big_long_wait();
  149.                                                 big_long_wait();
  150.                                 }
  151.                                        
  152. //                                motoroutput1(500);                                                                                                                                //用于檢測電機是否正常工作
  153. //                                motoroutput2(500);
  154. //                                motoroutput3(500);
  155.                 }          
  156. }
復制代碼

所有資料51hei提供下載:
汽車舒適度調節.rar (305.4 KB, 下載次數: 16)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:1 發表于 2018-5-16 00:20 | 顯示全部樓層
能介紹一下電路以及大致的工作原理講解嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚州成人 | 国产伦一区二区三区视频 | 亚洲国产精品99久久久久久久久 | 91p在线观看 | 成人免费一级 | 国产免费拔擦拔擦8x高清 | 在线免费亚洲视频 | 午夜网| www操操 | 国产在线一区二区三区 | 成人av在线播放 | 亚洲激情网站 | 欧美欧美欧美 | 欧美日韩一区在线 | 日韩欧美一二三区 | 欧美精品一区三区 | 亚洲第一网站 | 亚洲综合二区 | 欧美激情国产精品 | 91精品国产综合久久久久 | 国产一区免费视频 | 亚洲高清视频一区二区 | 亚洲美女一区 | 九九热精品在线 | 亚洲国产精品一区 | 免费一级毛片 | 色婷婷在线视频 | 国产日韩一区二区 | 尤物视频在线免费观看 | 欧美日韩亚洲成人 | 精品一区二区三区电影 | www.国产.com | 日韩在线免费视频 | 欧美一区二区三区精品 | 国产成人综合久久 | 波多野结衣在线观看一区二区三区 | 欧美一级片在线看 | 日韩欧美一级片 | 五月婷六月丁香 | 999国产视频 | 欧美视频三区 |