新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 詳細注解的PWM c程序初學者適用

        詳細注解的PWM c程序初學者適用

        作者: 時間:2013-04-07 來源:網絡 收藏

        #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(); //調節占空比

        void st(); //用來表示pulse_width的狀態函數

        void main(void)

        {

        EA=0;

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

        zhankongbi();

        }

        void PCAinit()

        {

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

        //PCA 時鐘模式為fosc/12

        //禁止 PCA 計數器溢出中斷

        CCON=0x00; //禁止 PCA 計數器工作, 清除中斷標志、計數器溢出標志

        CL=0X00; //清0計數器

        CH=0X00;

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

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

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

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

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

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

        EPCA=1; // 開 PCA 中斷

        EA =1; // 開總中斷

        CR=1; //將PCA 計數器打開

        }

        pwm相關文章:pwm原理



        上一頁 1 2 下一頁

        關鍵詞: PWM c程序 初學者

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 虞城县| 濉溪县| 永福县| 乐安县| 昌江| 南宫市| 旬邑县| 乐陵市| 岢岚县| 电白县| 定日县| 渭源县| 临西县| 杭锦旗| 开原市| 牡丹江市| 上饶市| 来宾市| 麻城市| 梁山县| 甘南县| 健康| 金山区| 威宁| 湘潭县| 高邮市| 静宁县| 莱阳市| 宜兴市| 太和县| 鹿泉市| 昭苏县| 柳江县| 德惠市| 洛阳市| 六枝特区| 永顺县| 丹巴县| 五常市| 汤原县| 钦州市|