找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1283|回复: 1
打印 上一主题 下一主题
收起左侧

温控风扇stm32c8t6单片机程序

[复制链接]
跳转到指定楼层
#
ID:1089629 发表于 2023-7-29 12:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
当温度大于28°时,电机风扇以80%的占空比工作且进行高温预警蜂鸣器以0.5s为周期鸣叫,红色led以0.3s为周期交替闪烁,温度小于25°时风扇停转,绿色led常亮。其他温度以风扇以占空比50%工作,指示灯全灭。

单片机源程序如下:
  1. /************************************************************************************
  2. //  功能描述   : DHT11模块测试程序
  3. //  测试条件   : STM32F103C8T6   晶振8M  系统时钟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()//温湿度数据处理转为字符串
  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();//接收数据
  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, 下载次数: 29)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

楼主
ID:1013883 发表于 2023-8-24 13:51 | 只看该作者
jiao()这个函数就挺好玩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表