新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 定時器T1中斷實(shí)驗

        定時器T1中斷實(shí)驗

        作者: 時間:2011-09-20 來源:網(wǎng)絡(luò) 收藏

        1、定時器。定時器產(chǎn)生10mS周期中斷,通過計數(shù)讓PB1電平產(chǎn)生周期變化。
        2、內(nèi)部1 M晶振。
        3、進(jìn)行此實(shí)驗請插上JP1的所有8個短路塊,JP7(LED_EN)短路塊。

        */
        #include "iom16v.h"
        #include macros.h>
        /*初始化定時器,產(chǎn)生10mS周期中斷*/
        void T1_Init(void) {

        OCR1A = 1250; /*計數(shù)周期為10mS,F(xiàn)=1M*/
        TIMSK |= (1 OCIE1A); /*比較中斷A允許*/
        SREG = 0x80;
        TCCR1A = 0x00;
        TCCR1B = 0x08; /*定時器工作在CTC計數(shù)器模式*/
        TCCR1B |= 0x02; /*設(shè)置定時器的分頻值為8分頻*/
        }
        void main(void) {
        DDRA = 0x00; /*方向輸入*/
        PORTA = 0xFF; /*打開上拉*/
        DDRB = 0xFF; /*方向輸出*/
        PORTB = 0xFF; /*電平設(shè)置*/
        DDRC = 0x00;
        PORTC = 0xFF;
        DDRD = 0x00;
        PORTD = 0xFF;

        T1_Init();
        SEI(); /*中斷使能*/

        while (1);
        }
        /* TCCR1A組比較匹配中斷*/
        #pragma interrupt_handler Int_TCCR1A: 7
        void Int_TCCR1A(void) {
        static unsigned char i;

        if (i > 20) {
        PORTB ^= (1 PB1);
        i = 0;
        }
        else {
        i ++;
        }
        }


        關(guān)鍵詞: 定時器T1 中斷實(shí)驗

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 陆河县| 高淳县| 广宗县| 南通市| 高陵县| 怀远县| 鄢陵县| 英吉沙县| 密山市| 大悟县| 柘城县| 内江市| 罗田县| 滕州市| 界首市| 营口市| 大洼县| 泸水县| 读书| 嘉义市| 余庆县| 闸北区| 灌南县| 云龙县| 博白县| 大城县| 桂东县| 镇宁| 象山县| 南华县| 连江县| 宜良县| 临西县| 肥西县| 灵宝市| 琼海市| 镇康县| 思茅市| 阿图什市| 霍州市| 三河市|