C语言程序例程/*该程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%*/#include"p18f458.h"/*CCP1模块的PWM工作方式初始化子程序*/voidCCP1INIT(){CCPR1L=0X7F;CCP1CON=0X3C;/*设置CCP1模块为PWM工作方式,且其工作循环的低2位为11,高8位为01111111=7F*/INTCON=0X00;/*禁止总中断和外围中断*/PR2=0XFF;/*设置PWM的工作周期*/TRISC=0XFB;/*设置CCP1引脚为输出方式*/}/*主程序*/main(){CCP1INIT();/*CCP1模块的PWM工作方式初始化*/T2CON=0X04;/*打开TMR2,且使其前分频为0,*同时开始输出PWM波形*/do{;}while(1);/*系统开始输出PWM波形。如果系统是*多任务的,则可以在此执行其它任务,而*不会影响PWM波形的产生*/}