專注電子技術(shù)學(xué)習(xí)與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

CCP1模塊產(chǎn)生分辨率為10位的PWM波形的程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2008年07月09日   【字體:

/*該程序用于使CCP1模塊產(chǎn)生分辨率為10位的PWM波形,占空比為50%*/

#include "p18f458.h"

/*CCP1模塊的PWM工作方式初始化子程序*/
/* http://www.torrancerestoration.com 提供此單片機程序*/
void CCP1INIT()
{
 CCPR1L=0X7F;
 CCP1CON=0X3C;   /*設(shè)置CCP1模塊為PWM工作方式,且其工作
       循環(huán)的低2位為11,高8位為01111111=7F*/
 INTCON=0X00;    /*禁止總中斷和外圍中斷*/
 PR2=0XFF;     /*設(shè)置PWM的工作周期*/
 TRISC=0XFB;    /*設(shè)置CCP1引腳為輸出方式*/
}

/*主程序*/
main()
{
 CCP1INIT();    /*CCP1模塊的PWM工作方式初始化*/
  T2CON=0X04;    /*打開TMR2,且使其前分頻為0,
           *同時開始輸出PWM波形*/
do
 {
  ;
 }while(1);     /*系統(tǒng)開始輸出PWM波形。如果系統(tǒng)是
       *多任務(wù)的,則可以在此執(zhí)行其它任務(wù),而
       *不會影響PWM波形的產(chǎn)生*/
}
 

關(guān)閉窗口