求用C8051F330控制输出SPWM的思路,如有程序追加50分。

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:34:43
如果是C8051F系列的单片机也可以。
SPWM的频率是可调的,50HZ或60HZ。

你要控制舵机是不是?
你用定时器0做时钟源,(255-计数初值)*256*频率*12=系统频率
我现在没有完整程序 给你部分配置

void pwm1_1(void) //PWM的初始化
{
PCA0MD=0x04; //PCA clock is T0 over

PCA0CPL0=8; //32~8
PCA0CPM0=0x42; //设置左轮为8为PWM输出
PCA0CPH0=8;

PCA0CN=0x40; //允许PCA工作
}

void t01_init(void)//Bound rate:2k
{
TCON=0x50; //0101 0000
TMOD=0x52; //T1,T0:timer
CKCON=0x01; //4

TH0=21; //PCA 50Hz 时钟
TL0=21;
}