新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 淺析PIC單片機定時器

        淺析PIC單片機定時器

        作者: 時間:2013-05-08 來源:網絡 收藏

        OPTION_REG中我們一般需要設置三處。

        PS2:0>設置用來設置預分頻預分頻范圍從2 ~256

        PSA設置成0 講預分頻器分配給Timer0模塊

        TMR0CS設置成0 內部指令周期時鐘。

        淺析PIC單片機定時器

        實例程序:

        /*開發環境 MPLAB X IDE 型號PIC16LF1823*/

        #include

        __CONFIG(FOSC_INTOSCWDTE_OFFPWRTE_ONMCLRE_

        OFFCP_ONCPD_OFFBOREN_ONCLKOUTEN_OFFIESO_ONFCMEN_ON);

        __CONFIG(PLLEN_OFFLVP_OFF) ;

        #define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 輸出電平的時候,直接控制LATA5執行速度更快,因為傳給RA5的數據最終也是傳給LATA5才執行的*/

        void init_fosc(void)

        {

        OSCCON= 0x68;//時鐘設置為4MHz

        }

        void init_gpio(void)

        {

        PORTA = 0;

        LATA = 0;

        ANSELA = 0;

        TRISAbits.TRISA5=0; //RA5口設置成輸出 用來控制LED

        }

        void init_timer0(void)

        {

        OPTION_REG=0x87; //預分頻為256

        }

        int main(int argc, char** argv)

        {

        init_fosc();

        init_gpio();

        init_timer0();

        TMR0IF=0;//清除TMR0中斷標志位

        TMR0=61;//設置中斷初始值61

        while(1)

        {

        if(TMR0IF==1)//定時時間到了嗎??

        {

        LED = ~LED;//改變LED的狀態

        TMR0IF=0;//清除TMR0中斷標志位

        TMR0=61;//設置中斷初始值61為下次50ms定時做準備

        }

        }

        }

        分頻器相關文章:分頻器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三穗县| 静海县| 南康市| 辉南县| 彭山县| 延长县| 辽源市| 砀山县| 青神县| 政和县| 梁山县| 甘南县| 阿克苏市| 曲水县| 木兰县| 青龙| 始兴县| 克拉玛依市| 彭阳县| 梅河口市| 泸州市| 都安| 如皋市| 汝南县| 秦皇岛市| 四平市| 平阳县| 三门峡市| 荔波县| 崇左市| 浪卡子县| 贡觉县| 东乡族自治县| 新巴尔虎左旗| 错那县| 莱州市| 牡丹江市| 吐鲁番市| 澄江县| 陈巴尔虎旗| 漳浦县|