设为首页
收藏本站
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
STM32/8
›
STM32f103zet6控制舵机源程序
返回列表
发新帖
STM32f103zet6控制舵机源程序
[复制链接]
2
|
0
|
2020-6-5 10:25:04
|
显示全部楼层
|
阅读模式
完整源码:
舵机.7z
(184.6 KB, 售价: 1 工控币)
2020-6-5 10:24 上传
点击文件名下载附件
部分程序:
int main(void)
{
delay_init(); //延时函数初始化
LED_Init(); //LED端口初始化
TIM1_PWM_Init(1999,719); //不分频,PWM频率=72000000/720/2000=50hz
while(1)
{
TIM_SetCompare1(TIM1,1950); //对应0度 2.5%
delay_ms(1000);
TIM_SetCompare1(TIM1, 1900); //对应45度 5%
delay_ms(1000);
TIM_SetCompare1(TIM1, 1850); //对应90度 7.5%
delay_ms(1000);
TIM_SetCompare1(TIM1, 1800); //对应135度 10%
delay_ms(1000);
TIM_SetCompare1(TIM1,1750); //对应180度 12.5%
delay_ms(1000);
}
}
//配置程序
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
}
复制代码
舵机
,
stm32
相关帖子
•
STM32+LabVIEW的USB数据采集与显示源程序
•
STM32示波器程序ILI9341_IO模拟源程序+Proteus仿真
•
STM32F407 FLAC软解压 源程序
•
用PROTEUS8.9仿真实现STM32 ADC一路连续转换,值显示在LCD12864上
•
Proteus实现stm32单片机的闪烁灯实验程序
•
STM32控制4个LED灯循环点亮源程序和Proteus仿真
•
STM32音频产生器Proteus仿真程序
•
用STM32F103C8T6去读取JY901的串口数据 源程序
•
基于STM32和ucos系统的室内环境检测源程序
•
STM32多个串口的应用含有人4G模块板载设计含sbus总线电路
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
路漫漫
194
主题
199
帖子
74
积分
初级会员
初级会员, 积分 74, 距离下一级还需 426 积分
初级会员, 积分 74, 距离下一级还需 426 积分
工控币
74
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
用Fanuc Karel语言实现三点建坐标系
2021-01-04
用CH341A做的USB转SPI_232_485_TTL转换器 PCB+SCH文件 烧写器源
2020-12-14
51单片机采集温度通过串口发送到labview上位机采集曲线显示
2020-12-13
基于组态王的占空比PID算法温度控制系统设计 含源码和文档
2020-12-13
基于LabVIEW的电动车速度监测和控制系统上位机程序设计
2020-12-08
热门排行
1
哈哈,网站很好,来支持一下
2
6000CHM废气处理EPLAN电气图纸
3
300多个常用的Multisim仿真电路资料分享
4
谁那有施耐德PES软件 本人愿意提供一定积分
5
交通信号灯电子线路实验Multisim仿真电路图
6
Multisim14仿真PIC16f84单片机驱动led
7
基于labview的电子秤
8
哪位大佬能看看logix5571以太网通信故障这
9
WINCC 7.5+SP1+UPD3
10
基于LabVIEW的猜数字游戏