新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM7學(xué)習(xí)---LPC2103 Time0定時器練習(xí)

        ARM7學(xué)習(xí)---LPC2103 Time0定時器練習(xí)

        作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
        繼續(xù)學(xué)習(xí)ARM7,練習(xí)了下LPC2103的內(nèi)部定時器T0,定時1S,讓LED閃爍。具體測試程序如下:

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

        /**************ARM7(LPC2103)練習(xí)程序**************************/
        /*************************************************************/
        /*****File Function : Time0測試程序 *****/
        /*****Program Author : ZhengWen(ClimberWin) *****/
        /*****MCU : LPC2103F 外部11.0592M晶振 *****/
        /*****Compile Date : 2010/02/13 *****/
        /*****Edition Info : V1.0 *****/
        /*************************************************************/
        //編譯環(huán)境 KEIL for ARM
        //LED1-LED7 接在P0.8-P0.15
        //功能:使用內(nèi)部定時器0,讓LED閃爍。

        #include
        #define uchar unsigned char
        #define uint unsigned int

        void Timer0_Init(void);
        void __irq IRQ_Timer0 (void);

        /*************定時器0中斷程序****************/
        void __irq IRQ_Timer0 (void)
        {
        static uchar ledtemp=0x00;
        ledtemp=~ledtemp;
        if(ledtemp==0x00) IO0SET=(1<<8);
        if(ledtemp==0xff) IO0CLR=(1<<8);
        T0IR = 0x01;// 清除中斷標(biāo)志
        VICVectAddr = 0x00;// 通知VIC中斷處理結(jié)束
        }
        /***********定時器0初始化程序**************/
        void Timer0_Init(void)
        {

        T0PR = 99; // 設(shè)置定時器0分頻為100分頻,得110592Hz
        T0MCR = 0x03; // 匹配通道0匹配中斷并復(fù)位T0TC
        T0MR0 = 110592;// 比較值(1S定時一次)
        T0TCR = 0x01; //定時器計數(shù)器和預(yù)分頻計數(shù)器使能

        VICIntSelect = 0x00;// 所有中斷通道設(shè)置為IRQ中斷
        VICVectCntl0 = 0x20|4 ;// 向量IRQ slot 使能 | 中斷號
        VICVectAddr0 = (unsigned long)IRQ_Timer0;// 設(shè)置中斷服務(wù)程序地址
        VICIntEnable = (1 << 0x04);// 使能定時器0中斷
        }

        int main(void)
        {

        IO0DIR=0x0000ff00; //配置P0.8-P0.15為輸出
        IO0SET=0x0000ff00; //配置P0.8-P0.15初始值為高
        Timer0_Init(); //初始化定時器0
        while(1); //等待進(jìn)入中斷程序

        }



        關(guān)鍵詞: ARM7LPC2103Time0定時

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 张家口市| 高邮市| 巴马| 容城县| 宜宾县| 大同市| 开化县| 安国市| 习水县| 泰顺县| 安吉县| 会同县| 郓城县| 泗水县| 江陵县| 安徽省| 高清| 台北县| 林周县| 资阳市| 济南市| 万源市| 兰考县| 嫩江县| 新绛县| 麦盖提县| 昂仁县| 巴南区| 高碑店市| 梁河县| 商河县| 合水县| 高安市| 双流县| 宜兰市| 高州市| 朝阳市| 界首市| 南靖县| 仙居县| 句容市|