STC单片机的PWM控制舵机程序,无法达到预期效果

STC单片机的PWM控制舵机程序,无法达到预期效果,第1张

PCA输出pwm最小频率是12分频/256可以用定时器T0调整PCA频率但是我还没弄会,不好配如直接用T0或者T1直接出pwm虽然麻烦点,但是绝对能用,感兴趣的话留邮箱给你发一份T0T1控制输出多路的pwm控制舵机程序。如果你用PCA控制成功了也告诉我啊,尤棚森其是频率怎么通过T0控制的,还有就是如果用T0控友和指制PCA输出的pwm是不是浪费了点。相互交流

#include <reg52.h> //12M晶振

sbit PWM=P1^0 //定义P1^0为输出端口

unsigned int pwm_h=2430,pwm //定义pwm信号中的高电平时间

范围 535< pwm_h <2430

bit fa

void Init_Timer0() //定时器初始化子程序

{

TMOD = 0x01

TH0 = 0x0FF

TL0 = 0x0F6

EA = 1

ET0 = 1

TR0 = 1 //定时器开唯码关打开

}

void main() //主函数猜山雀

{

Init_Timer0() //定时器初始化

PWM=0

while(1)

{

if(fa)

{

fa=0

pwm_h=20000-pwm_h

}

}

}

void Timer0() interrupt 1 using 1

{

TH0 =(-pwm_h)/256

// (65535-200) /256=0xff

TL0 =(-pwm_h)%256 //0.1ms一穗早个记时器周期

236 % 256 = 236

fa=1

PWM=~PWM

}

STC单片机程序怎么调整PWM的空占比,在初始化函数中 对 PWM 进行初始化后 就会有按照初始化世镇巧的 占空比输出了,需要调整占空比只要 PWM0 改变 CCAP0H 的值,PWM1 改变 CCAP1H 的值,就搜键可以了,如果不断地旅迟 改变 CCAPxH 的数字 PWMx 的输出 也会不断地 改变。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存