//该程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%
#include<p18f452.h>
void CCP1NIT(void)
{
CCPR1L=0x7f;
CCP1CON=0x3c; //设置CCP1模块为PWM工作方式,且其工作
//循环的低2位为11,高8位为01111111=7F
//高电平时间=(CCPR1L:CCP1CON<5:4>)*Tosc*(TMR2预分频)
INTCON=0x00; //禁止总中断和外围中断
PR2=0xff; //设置PWM的工作周期=(PR2+1)*4*Tosc*(TMR2预分频)
TRISC=0xfb; //设置CCP1引脚为输出方式(RC2脚输出)
}
void main(void)
{
CCP1NIT(); //ccp1的pwm工作模式初始化
T2CON=0x04; //打开TMR2 使其预分频为1
do
{
;
}
while(1);
}
本程序的工程文件下载地址:http://www.51hei.com/f/23585281pwm.rar