新聞中心

        STM8S-定時(shí)器2的PWM

        作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
        //軟件環(huán)境:IAR FOR STM8 V1.0

        //作者:Nicole

        本文引用地址:http://www.104case.com/article/201611/321594.htm

        //功能:定時(shí)器2PWM功能,控制小燈的亮滅間隔

        //日期:2010.11.10

        #include "iostm8s207k6.h"
        void CLK_Init(void);
        void TIM_Init(void);

        // 函數(shù)功能:延時(shí)函數(shù)
        // 輸入?yún)?shù):ms -- 要延時(shí)的毫秒數(shù),這里假設(shè)CPU的主頻為2MHZ

        void DelayMS(unsigned int ms)
        {
        unsigned char i;
        while(ms != 0)
        {
        for(i=0;i<250;i++)
        {
        }
        for(i=0;i<75;i++)
        {
        }
        ms--;
        }
        }
        // 函數(shù)功能:初始化時(shí)鐘

        void CLK_Init()
        {
        CLK_CKDIVR = 0x08;//8Mhz
        }


        // 函數(shù)功能:初始化定時(shí)器2的通道2,用于控制LED的亮度
        void TIM_Init()
        {
        TIM2_CCMR1 = TIM2_CCMR1 | 0x70;// Output mode PWM2.
        // 通道2被設(shè)置成比較輸出方式
        // OC2M = 111,為PWM模式2,
        // 向上計(jì)數(shù)時(shí),若計(jì)數(shù)器小于比較值,為無(wú)效電平
        // 即當(dāng)計(jì)數(shù)器在0到比較值時(shí),輸出為1,否則為0
        TIM2_CCER1 = TIM2_CCER1 | 0x03;// CC polarity low,enable PWM output*/
        // CC1P = 1,低電平為有效電平
        // CC1E = 1,開(kāi)啟輸出引腳

        //初始化自動(dòng)裝載寄存器,決定PWM方波的頻率,F(xiàn)pwm=1000000/1000=1Khz

        TIM2_ARRH = 0x03;// 自動(dòng)重載寄存器ARR=0x03e8=1000
        TIM2_ARRL = 0xe8;// 每記數(shù)500次產(chǎn)生一次中斷,即1000ms

        //初始化比較寄存器,決定PWM方波的占空比

        TIM2_CCR1H = 0;
        TIM2_CCR1L = 0;

        // 初始化時(shí)鐘分頻器為1,即計(jì)數(shù)器的時(shí)鐘頻率為Fmaster=8Mhz/2*2*2=1000000

        TIM2_PSCR = 0x03;

        // 啟動(dòng)計(jì)數(shù)

        TIM2_CR1 = TIM2_CR1 | 0x01;

        }


        main()

        {
        CLK_Init();// 初始化時(shí)鐘
        TIM_Init();// 初始化定時(shí)器

        while(1)// 進(jìn)入無(wú)限循環(huán)
        {
        TIM2_CCR1H = 0x01;
        TIM2_CCR1L = 0xf4;
        }

        }



        關(guān)鍵詞: STM8S定時(shí)器PW

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 石柱| 类乌齐县| 观塘区| 卢氏县| 桃园市| 连城县| 保靖县| 巨鹿县| 沙雅县| 正蓝旗| 台安县| 高密市| 莲花县| 东平县| 颍上县| 扶余县| 武川县| 沙田区| 深州市| 离岛区| 天全县| 芜湖市| 宜君县| 吴江市| 长宁区| 雅江县| 鹤峰县| 都安| 赤壁市| 花莲市| 柘城县| 沧源| 磴口县| 闽侯县| 云安县| 安宁市| 湟中县| 朔州市| 宿松县| 长泰县| 江都市|