標(biāo)題: STM32紅外遙控控制風(fēng)扇轉(zhuǎn)速(L298N、直流電機(jī)、PWM輸出、紅外遙控) [打印本頁(yè)]

作者: 荷聽雨聲荷聽雨    時(shí)間: 2019-7-26 14:40
標(biāo)題: STM32紅外遙控控制風(fēng)扇轉(zhuǎn)速(L298N、直流電機(jī)、PWM輸出、紅外遙控)
此代碼可用于STM32控制風(fēng)扇轉(zhuǎn)速(電機(jī)轉(zhuǎn)速),加上無線紅外控制系統(tǒng)之。

extern void PWM_IN1IN2(void);
extern void TIM3_PWM_Init();

int main(void)
{  
u8 key;
u16 led0pwmval=0;
u8 dir=1;
delay_init();       //延時(shí)函數(shù)初始化   
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
LED_Init();        //LED端口初始化  
Remote_Init();   //紅外接收初始化
delay_init();       //延時(shí)函數(shù)初始化   
PWM_IN1IN2();       //使能初始化
TIM3_PWM_Init(899,0);  //不分頻。PWM頻率=72000000/900=80Khz  

while(1)
{
  key=Remote_Scan();
     
   switch(key)
   {
     case 162:   
     if(dir)led0pwmval=500;
     delay_ms(10);
     TIM_SetCompare2(TIM3,led0pwmval);
     GPIO_SetBits(GPIOA,GPIO_Pin_2);
     ;break;     //1
   
     case 98:
    {
     if(dir)led0pwmval=700;
    delay_ms(10);
    TIM_SetCompare2(TIM3,led0pwmval);
    GPIO_SetBits(GPIOA,GPIO_Pin_2);         
    }
    ;break;  //2  
     
     case 226:
     if(dir)led0pwmval=899;
     delay_ms(10);
     TIM_SetCompare2(TIM3,led0pwmval);
     GPIO_SetBits(GPIOA,GPIO_Pin_2)
      ;break;  //3   
   
     case 34: GPIO_ResetBits(GPIOA,GPIO_Pin_2);
     delay_ms(10);
     GPIO_ResetBits(GPIOA,GPIO_Pin_3);
     GPIO_SetBits(GPIOB,GPIO_Pin_5);
     GPIO_SetBits(GPIOE,GPIO_Pin_5);
     ;break;  //4
   }
  }
}

全部程序51hei下載地址:
紅外遙控控制風(fēng)扇速度.7z (208.33 KB, 下載次數(shù): 79)


作者: admin    時(shí)間: 2019-7-27 00:42
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1