STM32F103配置一个PWM输出的程序是什么?

STM32F103配置一个PWM输出的程序是什么?,第1张

上桥臂PWM输出,下桥臂常闭。你要是做电机的话这个就会好理解了。

用库函数不是有个TIM_CCxN配置的函数。给TIM_CCx配置一个CCR的值。把互补通道这个关掉就好了。

脉冲宽度衡数调制(PWM),是对脉冲宽度的控制。

STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4路的 PWM 输出,这样, STM32 最多可以同时产生 30 路 PWM 输出!

本实验是利用 TIM3 的通道咐巧首 2,把通道 2 重映射到 PB5, 产生 PWM 来控制 DS0 的亮度。

TIM3_CH2 默认是接在 PA7上面的,而我们宽好的 DS0 接在 PB5 上面,可以通过重映射功能,把 TIM3_CH2映射到 PB5 上。

#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit key =P2^5

sbit key1=P2^4

sbit key2=P2^3

sbit key3=P2^2

sbit pwm=P1^0

uint pwm_value=1960

uint count=0

void timer0(void) interrupt 1 using 1

{

switch(count)

{

case 1:pwm=1

TH0=-pwm_value/256

TL0=-pwm_value%256

break

case 2: pwm=0

TH0=-(2700-pwm_value)/256

TL0=-(2700-pwm_value)%256

break

/*case 3:pwm1=1

TH0=-pwm_value/256

TL0=-pwm_value%256

break

case 4: pwm1=0

TH0=-(2700-pwm_value)/256

TL0=-(2700-pwm_value)%256

break

case 5:pwm2=1

TH0=-pwm_value/256

TL0=-pwm_value%256

break

case 6: pwm2=0

TH0=-(2700-pwm_value)/256

TL0=-(2700-pwm_value)%256

break

case 7:pwm3=1

TH0=-pwm_value/256

TL0=-pwm_value%256

break

case 8: pwm3=0

TH0=-(2700-pwm_value)/256

TL0=-(2700-pwm_value)%256

break

case 9:pwm4=1

TH0=-pwm_value/256

TL0=-pwm_value%256

break

case 10: pwm4=0

TH0=-(2700-pwm_value)/256

TL0=-(2700-pwm_value)%256

break

case 11:pwm5=1

TH0=-pwm_value/256

TL0=-pwm_value%256

break

case 12: pwm5=0

TH0=-(2700-pwm_value)/256

TL0=-(2700-pwm_value)%256

break*/

default: count=0

}

count++

}

void InitTimer0(void)

{

count=1

TMOD=0x11

TH0=-1500/塌巧256

TL0=-1500%256

EA=1

ET0=1

TR0=1

}

void delay(void)

{

uint i=100

while(i--)

}

void main(void)

{

InitTimer0()

while(1)

{

if(pwm_value<2200)

pwm_value+=2

if(pwm_value>1000)

pwm_value-=2

}

}

PWM调制脉冲宽不超过2.5MS,周期为判伏20MS,所以一个周期内可以输出8个脉冲用于控制8路舵机,修改TH0和TL0可改变频率,修改pwm_value可以修改占空比,希掘衫携望对您有所帮助,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12218375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存