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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > LPC2103學習板-按鍵測試程序

          LPC2103學習板-按鍵測試程序

          作者: 時間:2016-11-18 來源:網(wǎng)絡 收藏
          /**************ARM7(LPC2103)練習程序**************************/
          /*****File Function : KEY test *****/
          /*****Program Author : ClimberWin *****/
          /*****MCU : LPC2103F 外部11.0592M晶振 *****/
          /*****Compile Date : 2011/04/01 *****/
          /*****Edition Info : V1.0*****/
          /******************************************************************/
          //編譯環(huán)境 KEIL for ARM
          //注:因為按鍵使用了JTAG調試引腳,所以斷開調試器才可以正常運行程序
          #include
          #include
          #define uint unsigned int
          #define uchar unsigned char

          #define speak (1<<21) ////蜂鳴器引腳定義
          #define K1 (1<<27) //定義按鍵1的引腳
          #define K2 (1<<28) //定義按鍵2的引腳
          #define K3 (1<<30) //定義按鍵3的引腳

          本文引用地址:http://cafeforensic.com/article/201611/316025.htm

          void speakertest(void);//蜂鳴器測試程序
          void delayms(unsigned int count); //延時程序
          void keytest(void) ;

          /*************延時程序***************/
          void delayms(unsigned int count)
          {
          unsigned int i,j;
          for(i=0;ifor(j=0;j<5000;j++);
          }

          /***************************************************/
          void speakertest(void)//蜂鳴器測試程序
          {
          uchar i;
          for(i=0;i<100;i++)
          {
          IO0CLR=0x00200000;
          delayms(1);
          IO0SET=0x00200000;
          delayms(1);
          }
          }
          /*****************************************/

          void keytest(void) //按鍵測試程序
          {
          uchar i1,i2,i3;
          if((IO0PIN&K1)==0x00) //判斷是否有按鍵按下
          {
          //按鍵去抖
          while((IO0PIN&K1)==0x00) //判斷是否有按鍵放開
          {
          speakertest();
          i1=!i1;
          }

          if(i1==0)
          {IO0CLR=(1<<10);}
          else
          {IO0SET=(1<<10);}
          }
          if((IO0PIN&K2)==0x00) //判斷是否有按鍵按下
          {
          //按鍵去抖
          while((IO0PIN&K2)==0x00) //判斷是否有按鍵放開
          {
          speakertest();
          i2=!i2;
          }

          if(i2==0)
          {IO0CLR=(1<<11);}
          else
          {IO0SET=(1<<11);}
          }
          if((IO0PIN&K3)==0x00) //判斷是否有按鍵按下
          {
          //按鍵去抖
          while((IO0PIN&K3)==0x00) //判斷是否有按鍵放開
          {
          speakertest();
          i3=!i3;
          }

          if(i3==0)
          {IO0CLR=(1<<12);}
          else
          {IO0SET=(1<<12);}
          }
          else
          {;}
          }


          /////////////主程序///////////////////
          int main(void)
          {

          IO0DIR=0x0027fc00; //配置P10-P18為輸出
          IO0SET=0x0003fc00; //初始化LED
          while(1)
          {keytest();}//按鍵測試程序

          }




          關鍵詞: LPC2103按鍵測

          評論


          技術專區(qū)

          關閉