一個關于PWM的小程序,用在PIC16F877A上
/*該程序用于使CCP1模塊產生分辨率為10位的PWM波形,占空比為50%*/
本文引用地址:http://www.j9360.com/article/148414.htm#include p18f458.h
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波形的產生*/
}
pwm相關文章:pwm是什么
pwm相關文章:pwm原理
評論