#include <iocc2530.h>
void servo_init(void)
{
CLKCONCMD &= 0x38;//定时器标记输出32Mhz
//引脚设置
P1SEL |= 0x01;// P1_0使用外设 映射定时器1通道2
P1DIR |= 0x01;//输出
//定时器设置
PERCFG |= 0x40;//定时器1备用位置2
P2SEL &= ~0x10;//定时器1优先
P2DIR |= 0xC0;//第1优先级:定时器1通道2-3
T1CTL = 0x0a;//32分频模模式
T1CCTL2 |= 0x1c;//输出比较模式
//pwm周期20ms
T1CC0L = 19999;
T1CC0H = 19999>>8;
//pwm占空比(在2.5%~12.5%之间)
T1CC2L = 600;
T1CC2H = 600>>8;
}
int main(void)
{
//设置系统时钟
CLKCONCMD &= ~0X47;
while(CLKCONSTA & 0x47);
servo_init();
while(1);
return 0;
}
有不足欢迎指出