色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          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://cafeforensic.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)閉