新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 詳細注解的PWM c程序初學(xué)者適用

詳細注解的PWM c程序初學(xué)者適用

作者: 時間:2013-04-07 來源:網(wǎng)絡(luò) 收藏

#include "stc2052.h"

unsigned int pulse_width_MAX = 0xF0; // ; 脈寬最大值, 占空比 = 93.75%

unsigned int pulse_width_MIN = 0x10; // ; 脈寬最小值, 占空比 = 6.25%

unsigned int step =0x38;

unsigned int pulse_width;

unsigned int i,j;

unsigned char state;

void PCAinit(); //PCA模塊初始化

void delay1ms(unsigned int TIME); //1ms延時程序(大概是1ms)

void zhankongbi(); //調(diào)節(jié)占空比

void st(); //用來表示pulse_width的狀態(tài)函數(shù)

void main(void)

{

EA=0;

PCAinit(); //初始化PCA定時器

zhankongbi();

}

void PCAinit()

{

CMOD=0x80; //PCA 在空閑模式下停止 PCA 計數(shù)器工作

//PCA 時鐘模式為fosc/12

//禁止 PCA 計數(shù)器溢出中斷

CCON=0x00; //禁止 PCA 計數(shù)器工作, 清除中斷標(biāo)志、計數(shù)器溢出標(biāo)志

CL=0X00; //清0計數(shù)器

CH=0X00;

//下面設(shè)置模塊0為 8 位 輸出模式, PWM 無需中斷支持。脈沖在P3.7(第11腳)輸出

CCAPM0=0x42; //PCA(計數(shù)器陣列)模塊0的工作模式 :8位PWM工作模式

PCA_PWM0=0x00; //賦值為0,pwm才能有高電平輸出

//下面設(shè)置模塊1為 8 位 PWM 輸出模式, PWM 無需中斷支持。脈沖在P3.5(第9腳)輸出

CCAPM1=0x42; //PCA(計數(shù)器陣列)模塊1的工作模式 :8位PWM工作模式

PCA_PWM1=0x00; //賦值為0,pwm才能有高電平輸出

EPCA=1; // 開 PCA 中斷

EA =1; // 開總中斷

CR=1; //將PCA 計數(shù)器打開

}

pwm相關(guān)文章:pwm原理



上一頁 1 2 下一頁

關(guān)鍵詞: PWM c程序 初學(xué)者

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉