欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
proteus8.10仿真stm32控制舵機程序(pwm舵機)
[打印本頁]
作者:
wbaisen
時間:
2020-11-6 21:38
標題:
proteus8.10仿真stm32控制舵機程序(pwm舵機)
本貼使用
Proteus8.10
,如低版本打不開可自行根據原理圖繪制(很簡單)
單片機型號為:
stm32f103
系列
運行穩定,舵機角度自行更改程序中的pwm輸出函數值即可。
案例中只做了一個,按鍵按下舵機轉動,實際測試過
timer2-4的通道0-3,共12路pwm。
如有問題,評論區留言,看到回
~
222.png
(133.11 KB, 下載次數: 98)
下載附件
2020-11-6 21:37 上傳
單片機源程序如下:
#include "stm32f10x.h"
#include "bsp-lcd1602.h"
#include "delay.h"
#include "sys.h"
#include "adc.h"
#define LED0 PCout(2)
#define KEY0 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5) //讀取按鍵0
#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15) //讀取按鍵1
#define WK_UP GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE); //使能PORTA,PORTC時鐘
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //關閉jtag使能SWD,可以用SWD模式調試
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //設置成上拉輸入
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA15
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //設置成上拉輸入
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化GPIOC5
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PA,PD端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED0-->PA.8 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //根據設定參數初始化GPIOA.8
GPIO_SetBits(GPIOC,GPIO_Pin_2); //PA.8 輸出高
}
void TIM1_PWM_Init(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); //使能GPIO外設時鐘使能
//設置該引腳為復用輸出功能,輸出TIM1 CH1的PWM脈沖波形
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //TIM_CH1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
TIM_TimeBaseStructure.TIM_Period = arr; //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值 80K
TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置用來作為TIMx時鐘頻率除數的預分頻值 不分頻
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設置時鐘分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數模式
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根據TIM_TimeBaseInitStruct中指定的參數初始化TIMx的時間基數單位
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //選擇定時器模式:TIM脈沖寬度調制模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能
TIM_OCInitStructure.TIM_Pulse = 0; //設置待裝入捕獲比較寄存器的脈沖值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //輸出極性:TIM輸出比較極性高
TIM_OC1Init(TIM1, &TIM_OCInitStructure); //根據TIM_OCInitStruct中指定的參數初始化外設TIMx
TIM_CtrlPWMOutputs(TIM1,ENABLE); //MOE 主輸出使能
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); //CH1預裝載使能
TIM_ARRPreloadConfig(TIM1, ENABLE); //使能TIMx在ARR上的預裝載寄存器
TIM_Cmd(TIM1, ENABLE); //使能TIM1
}
int main(void)
{
delay_init();
LED_Init();
KEY_Init();
TIM1_PWM_Init(1999,72);
TIM_SetCompare1(TIM1,1899);
while(1)
{
if(WK_UP==1)
{
LED0=0;
TIM_SetCompare1(TIM1,1899);
}
else
{
LED0=1;
TIM_SetCompare1(TIM1,699);
}
}
}
復制代碼
[
stm32控制舵機.7z
(196.33 KB, 下載次數: 389)
2020-11-6 23:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
本貼為原創,轉載請注明出處!
時間:
2020/11/
祝好!
作者:
cyl1998
時間:
2021-5-7 22:11
想問一下 如果弄4個舵機的話 程序要怎么改
作者:
woshishui22
時間:
2021-5-9 10:15
最近正在研究舵機,正好可以好好分析了
作者:
1244913722ny
時間:
2021-5-13 19:27
樓主你好,如果拖動4個電機,然后發現功率不夠該怎么辦?
作者:
wei33
時間:
2021-11-28 21:13
感謝樓主的分享,下來研究下
作者:
一只單片機
時間:
2022-5-8 20:13
為啥我就改了PWM頻率,他就生成不了.hex文件了,顯示有一個fatal error
作者:
200817
時間:
2022-5-10 23:28
樓主你好 為啥我按照你的方法配置 配置的PWM PA8 電平只是在跳動 舵機卻沒有反應 ,代碼也一樣 用的正點原子的模板
作者:
200817
時間:
2022-5-10 23:29
為啥我按照樓主的配置 PA8 只是電平再跳 ,而舵機沒有反應,模板用的正點原子的
作者:
老齡化的離開
時間:
2023-3-6 13:25
試一下能不能用,自己配置的總有問題
作者:
QEQWE123
時間:
2023-5-21 10:56
只能轉動一下,813版本,不知道為啥
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1