专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

CCP1模块产生分辨率为10位的PWM波形的程序

作者:佚名   来源:本站原创   点击数:  更新时间:2008年07月09日   【字体:

/*该程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%*/

#include "p18f458.h"

/*CCP1模块的PWM工作方式初始化子程序*/
/* http://www.51hei.com 提供此单片机程序*/
void CCP1INIT()
{
 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波形的产生*/
}
 

关闭窗口