找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

溫控風扇stm32c8t6單片機程序

[復制鏈接]
ID:1089629 發(fā)表于 2023-7-29 12:10 | 顯示全部樓層 |閱讀模式
當溫度大于28°時,電機風扇以80%的占空比工作且進行高溫預警蜂鳴器以0.5s為周期鳴叫,紅色led以0.3s為周期交替閃爍,溫度小于25°時風扇停轉,綠色led常亮。其他溫度以風扇以占空比50%工作,指示燈全滅。

單片機源程序如下:
  1. /************************************************************************************
  2. //  功能描述   : DHT11模塊測試程序
  3. //  測試條件   : STM32F103C8T6   晶振8M  系統(tǒng)時鐘72M
  4. 接線
  5. DHT11 ---------------------------------STM32F103C8T6
  6. VCC------------------------------------5V
  7. GND------------------------------------GND
  8. OUT------------------------------------PA0
  9. LED
  10. LED1------------------------------------PA0
  11. LED2------------------------------------PA0
  12. 蜂鳴器
  13. *************************************************************************************/
  14. #include "stm32f10x.h"                  // Device header
  15. #include "OLED.h"
  16. #include "Delay.h"
  17. #include "Motor.h"
  18. #include "Key.h"
  19. #include "DHT11.h"
  20. #include "LED.h"

  21. uint8_t Speed;
  22. uint8_t KeyNum;
  23. char R_DatBuf[6]={0};
  24. char T_DatBuf[6]={0};
  25. unsigned int th;
  26. unsigned int rh;

  27. void dat_dis()//溫濕度數(shù)據(jù)處理轉為字符串
  28. {
  29.     R_DatBuf[0]='R';
  30.     R_DatBuf[1]=':';
  31.     R_DatBuf[2]=RH/10+0x30;
  32.     R_DatBuf[3]=RH%10+0x30;
  33.     R_DatBuf[4]='%';   
  34.     R_DatBuf[5]='\0';

  35.     T_DatBuf[0]='T';
  36.     T_DatBuf[1]=':';
  37.     T_DatBuf[2]=TH/10+0x30;
  38.     T_DatBuf[3]=TH%10+0x30;
  39.     T_DatBuf[4]='C';   
  40.     T_DatBuf[5]='\0';
  41.    
  42. }

  43. int main(void)
  44. {
  45.         OLED_Init();
  46.   Motor_Init();
  47.         Key_Init();       
  48.         LED_Init();
  49.         Buzzer_Init();
  50.                 OLED_ShowChinese(1,1,4);       
  51.                 OLED_ShowChinese(1,2,5);       
  52.                 OLED_ShowChinese(1,3,6);       

  53.         OLED_ShowString(1, 7, ":");
  54.         OLED_ShowChinese(3,1,0);       
  55.         OLED_ShowChinese(3,2,1);       
  56.         OLED_ShowChinese(4,1,3);       
  57.         OLED_ShowChinese(4,2,1);
  58.        
  59.         while (1)
  60.         {       
  61.         receive();//接收數(shù)據(jù)
  62.         dat_dis();

  63.         OLED_ShowString(3,5,T_DatBuf);
  64.         OLED_ShowString(4,5,R_DatBuf);
  65.         Delay_ms(10);

  66.                 if(TH>28)
  67.                 {
  68.                                                         Speed = 80;
  69.                                                         LED1_Turn();
  70.                                 jiao();
  71.                                                         LED2_OFF();

  72.                 }
  73.                 if(TH<25)
  74.                 {
  75.                                                         Speed = 0;
  76.                                                         LED1_OFF();
  77.                                                         LED2_ON();


  78.                 }
  79.                 if(TH>=25&TH<=28)
  80.                 {
  81.                                                         Speed = 50;
  82.                                                         LED1_OFF();
  83.                                                         LED2_OFF();


  84.                 }
  85.                
  86.                 KeyNum = Key_GetNum();
  87.                 if (KeyNum == 1)
  88.                 {
  89.                         Speed += 20;
  90.                         if (Speed > 100)
  91.                         {
  92.                                 Speed = 0;
  93.                         }
  94.                 }
  95.                 Motor_SetSpeed(Speed);
  96.                 OLED_ShowSignedNum(1, 8, Speed, 3);
  97.         }
  98. }
復制代碼

原理圖:無
仿真:無
Keil代碼: 程序.7z (188.39 KB, 下載次數(shù): 34)

評分

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

查看全部評分

回復

使用道具 舉報

ID:1013883 發(fā)表于 2023-8-24 13:51 | 顯示全部樓層
jiao()這個函數(shù)就挺好玩
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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