找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3494|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32通過按鍵控制舵機(jī)正反轉(zhuǎn),正反調(diào)速PWM程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:917293 發(fā)表于 2022-1-27 10:35 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
第一次加入51黑,多有不足,請站內(nèi)大佬多多指教,我也是剛?cè)腴T不久小白
****************************************************************
單片機(jī):STM32f103c8t6+獨(dú)立按鍵模塊+SG90  360度舵機(jī)(180度的也可以,需要把峰值調(diào)小)
主要編程工具軟件:KEIL5,CUBEMX

主要功能:按鍵1反向加速(長按一直加速直到設(shè)置峰值(峰值可修改,速度可修改)),按鍵2正向加速(同KEY1),按鍵3舵機(jī)停止
接線:KEY1接PA0
         KEY2接PA1
         KEY3接PA2

         PA8接TIM1(PWM輸出口)
注:如果接口需要調(diào)整,均可自行修改
附上單片機(jī)cube接口圖:

部分主要代碼:

//按鍵初始化函數(shù)
void KEY_Init(void)
{

    MX_GPIO_Init();
}

//按鍵處理函數(shù)
//返回按鍵值
//mode:0,不支持連續(xù)按;1,支持連續(xù)按;
//0,沒有任何按鍵按下
//1,WKUP按下 WK_UP
//注意此函數(shù)有響應(yīng)優(yōu)先級,KEY0>KEY1>KEY2>WK_UP!!
u8 KEY_Scan(u8 mode)
{
    static u8 key_up=1;     //按鍵松開標(biāo)志
    if(mode==1)key_up=1;    //支持連按
    if(key_up&&(KEY1==0||KEY2==0||KEY3==0))
    {
        delay_ms(10);
        key_up=0;
        if(KEY1==0)       return KEY1_PRES;
        else if(KEY2==0)  return KEY2_PRES;
        else if(KEY3==0)  return KEY3_PRES;
           
    }else if(KEY1==1&&KEY2==1&&KEY3==1)key_up=1;
    return 0;   //無按鍵按下
}
感謝支持!


Keil代碼下載:
程序.7z (5.62 MB, 下載次數(shù): 104)

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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