找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8060|回復(fù): 8
收起左側(cè)

基于stm32精英版的溫控風(fēng)扇源碼

  [復(fù)制鏈接]
ID:307935 發(fā)表于 2018-12-10 09:13 | 顯示全部樓層 |閱讀模式
用stm32F103ZET6精英版,溫度傳感器是DS18B20,1602液晶顯示屏,利用溫度來控制轉(zhuǎn)速,液晶顯示屏顯示實(shí)時(shí)轉(zhuǎn)速,也可手動(dòng)調(diào)節(jié)轉(zhuǎn)速。(采用pi控制)

電路原理圖如下:

電路原理圖

電路原理圖


單片機(jī)源程序如下:

  1. #include "delay.h"
  2. #include "key.h"
  3. #include "sys.h"
  4. #include "timer.h"
  5. #include "lcd1602.h"
  6. #include "encoder.h"
  7. #include "control.h"
  8. #include "usart.h"                          
  9. #include "usart3.h"                          
  10. #include "hc05.h"  
  11. #include "string.h"          
  12. #include "usmart.h"       
  13. #include "ds18b20.h"



  14.         u8 w=0;
  15.         int k=0;
  16. extern int real;
  17. vu8 key=0;
  18. u8 reclen=0;
  19. extern int temperature;
  20. int main(void)
  21. {               
  22.         delay_init();          
  23.         LCD_GPIO_Configuration();
  24.         LCD1602_Init();
  25.         KEY_Init();//按鍵初始化;
  26.   ENCODER_Init();
  27.   TIM2_Int_Init(19999,35);
  28.         TIM3_PWM_Init(7199,0); //不分頻。PWM頻率=72000000/900=80Khz         
  29.         DS18B20_Init();
  30. //usmart_dev.init(72);         //初始化USMART                         
  31.         delay_ms(5000);                        //等待藍(lán)牙模塊上電穩(wěn)定
  32.         LCDshowNum(0,0,"EV:",SpeedSet);       
  33.         LCDshowNum(0,1,"RV:", real);
  34.         LCDshowTNum(9,1,"T:",temperature);
  35. //        while(HC05_Init())                 //初始化ATK-HC05模塊  
  36. //{
  37. //                delay_ms(500);
  38. //        }                                                                                                      
  39. //        delay_ms(100);
  40. //        USART3_RX_STA=0;
  41.        
  42. while(1)
  43. {  
  44.          delay_ms(200);       
  45.          temperature=(int)DS18B20_Get_Temp();       
  46.          LCDshowNum(0,0,"EV:",SpeedSet);       
  47.          LCDshowNum(0,1,"RV:", real);
  48.          LCDshowTNum(9,1,"T:",temperature);
  49.          key=KEY_Scan(0);
  50.                  switch(key)
  51.             {
  52.                              case KEY0_PRES:
  53.                              SpeedSet+=100;               
  54.                                          k++;
  55.                        LCDshowNum(0,0,"EV:",SpeedSet);       
  56.                               break;
  57.                             case KEY1_PRES:
  58.                              SpeedSet-=100;       
  59.              k++;                                         
  60.                        LCDshowNum(0,0,"EV:",SpeedSet);       
  61.                               break;
  62.                              default:break;
  63.                     }
  64.          if(k==0&&temperature>270)
  65.                 {
  66.                                    SpeedSet=2200;                       
  67.                       LCDshowNum(0,0,"EV:",SpeedSet);                                       
  68.     }
  69.          if(k==0&&temperature<270&&temperature>250)
  70.                  {
  71.                                    SpeedSet=2100;                       
  72.                                        
  73.                       LCDshowNum(0,0,"EV:",SpeedSet);       
  74.                                        
  75.       }
  76.                  if(k==0&&temperature<250&&temperature>200&&temperature==200&&temperature==250)
  77.                  {
  78.                                   SpeedSet=2000;                       
  79.                       LCDshowNum(0,0,"EV:",SpeedSet);               
  80.       }
  81.                  if(k==0&&temperature<200)
  82.      {
  83.                                    SpeedSet=1800;         
  84.                        LCDshowNum(0,0,"EV:",SpeedSet);                               
  85.       }
  86.                  
  87. }
  88.        
  89.          }
復(fù)制代碼

所有資料51hei提供下載:
test1 - 1602正常 1x4鍵盤 加減調(diào)速 加溫控.rar (368.76 KB, 下載次數(shù): 198)


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:482003 發(fā)表于 2019-2-28 10:45 | 顯示全部樓層
這個(gè)設(shè)計(jì)好不錯(cuò)哦
回復(fù)

使用道具 舉報(bào)

ID:633427 發(fā)表于 2019-11-2 08:56 | 顯示全部樓層
請(qǐng)問用開發(fā)板做的嗎
回復(fù)

使用道具 舉報(bào)

ID:593339 發(fā)表于 2019-12-2 23:59 來自觸屏版 | 顯示全部樓層
電路圖有文件嗎?
回復(fù)

使用道具 舉報(bào)

ID:792573 發(fā)表于 2020-6-29 11:00 | 顯示全部樓層
電路圖有文件嗎?
回復(fù)

使用道具 舉報(bào)

ID:343056 發(fā)表于 2020-7-4 15:33 | 顯示全部樓層
電路圖是用什么畫的,有源文件嗎
回復(fù)

使用道具 舉報(bào)

ID:821549 發(fā)表于 2020-9-22 10:04 | 顯示全部樓層
很棒剛好需要部分內(nèi)容
回復(fù)

使用道具 舉報(bào)

ID:525238 發(fā)表于 2021-4-22 16:09 | 顯示全部樓層
正準(zhǔn)備做個(gè)個(gè)小項(xiàng)目不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:1061976 發(fā)表于 2023-2-2 10:39 | 顯示全部樓層
我需要原理圖
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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