PIC单片机用CCP1模块产生10位PWM波形程序
#include
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);
}
评论