在单片机实现舵机控制的过程中发现,每个对MC9S12XS128单片机PWM的说明都是说有8路PWM(8位),但是每个最小系统板,包括龙丘和苏大的板子上,PP6都没有引出来,不知道什么原因,也没有深究,但是进行魔方的运动控制需要8个舵机完成,那么就缺一路,没办法,只能通过软件模拟PWM了。

//包含头文件
#include "Includes.h"     //包含总头文件
//在此添加全局变量定义
 uint8 aa;
//主函数
void main(void)
{
    //0.1 主程序使用的变量定义
    uint32 mRuncount=0;    //运行计数器 
    //0.2 关总中断
    DisableInterrupt();     
    //0.3 芯片初始化
    MCUInit(FBUS_32M);
    //0.4初始化PA0为输出,初始值为0
    GPIO_Init(PA,0,1,0);
    //0.5 外接LED灯观察,亮暗变化
    for(;;)
    {     
      GPIO_Set(PA,PRT,0,1);
      Delay(5);                   //延时适当时间
      GPIO_Set(PA,PRT,0,0);
      Delay(207); 
    } //for_end(主循环结束)  
} //main_end
//212对应20ms
模拟PWM周期(20ms)
高电平为1.140ms的波形