第一次加入51黑,多有不足,請站內大佬多多指教,我也是剛入門不久小白
****************************************************************
單片機:STM32f103c8t6+獨立按鍵模塊+SG90 360度舵機(180度的也可以,需要把峰值調小)
主要編程工具軟件:KEIL5,CUBEMX
主要功能:按鍵1反向加速(長按一直加速直到設置峰值(峰值可修改,速度可修改)),按鍵2正向加速(同KEY1),按鍵3舵機停止
接線:KEY1接PA0
KEY2接PA1
KEY3接PA2
PA8接TIM1(PWM輸出口)
注:如果接口需要調整,均可自行修改
附上單片機cube接口圖:
捕獲.PNG (32.93 KB, 下載次數(shù): 66)
下載附件
2022-1-27 10:41 上傳
部分主要代碼:
//按鍵初始化函數(shù)
void KEY_Init(void)
{
MX_GPIO_Init();
}
//按鍵處理函數(shù)
//返回按鍵值
//mode:0,不支持連續(xù)按;1,支持連續(xù)按;
//0,沒有任何按鍵按下
//1,WKUP按下 WK_UP
//注意此函數(shù)有響應優(yōu)先級,KEY0>KEY1>KEY2>WK_UP!!
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1; //按鍵松開標志
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; //無按鍵按下
}
感謝支持!
1.jpg (30.38 KB, 下載次數(shù): 65)
下載附件
2022-2-9 03:13 上傳
Keil代碼下載:
程序.7z
(5.62 MB, 下載次數(shù): 104)
2022-2-9 03:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|