<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用ARM外部中斷控制流水燈的閃爍速度(基于LPC2134)

          利用ARM外部中斷控制流水燈的閃爍速度(基于LPC2134)

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

          本文引用地址:http://www.ex-cimer.com/article/201611/318925.htm
          1. #include"config.h"
          2. void__irqEint0_IRQ(void);//INT0中斷函數(shù)聲明
          3. voiddelay(intdly);//delay延時函數(shù)聲明
          4. //流水燈數(shù)值表
          5. intLed_Table[]={
          6. 0x00fe0000,0x00fd0000,0x00fb0000,0x00f70000,0x00ef0000,
          7. 0x00df0000,0x00bf0000,0x007f0000};
          8. intDelaytime=70;
          9. //主函數(shù)
          10. intmain(void)
          11. {
          12. inti=0;
          13. PINSEL0=0X000CC0CC;//使能p0.1p0.3p0.7p0.8分別為外部中斷0.1.2.3
          14. PINSEL1=0X00000000;//使能p1.16~23為IO功能
          15. IO1DIR=0XFF<<16;//這個寫法很清楚,推薦
          16. IRQEnable();
          17. VICIntSelect=0x00000000;//設(shè)置所有的終端都為IRQ中斷
          18. VICVectCntl0=0x20|14;//設(shè)置INT0為IRQ中斷,使用slot0
          19. VICVectAddr0=(uint32)Eint0_IRQ;//設(shè)置終端服務(wù)程序地址
          20. VICIntEnable=0x00004000;//使能INT0
          21. EXTMODE=0x00;//INT0電平觸發(fā)
          22. EXTPOLAR=0x00;//觸發(fā)電平為低電平
          23. EXTINT=0x0f;//清除所有中斷標(biāo)志
          24. while(1)
          25. {
          26. IO1SET=Led_Table[i];//設(shè)置高電平引腳
          27. IO1CLR=~Led_Table[i];//設(shè)置低電平引腳
          28. delay(Delaytime);
          29. i+=1;
          30. if(i==8)
          31. {
          32. i=0;
          33. }
          34. }
          35. return0;
          36. }
          37. /****************************************************************************
          38. #*名稱:delay
          39. #*功能:延時函數(shù)
          40. #*入口參數(shù):延時時間
          41. #*出口參數(shù):無
          42. #****************************************************************************/
          43. voiddelay(intdly)
          44. {
          45. inti,j;
          46. for(i=0;i
          47. for(j=0;j<25000;j++);
          48. }
          49. /****************************************************************************
          50. #*名稱:Eint0_IRQ()
          51. #*功能:外部中斷1中斷處理程序。
          52. #*入口參數(shù):無
          53. #*出口參數(shù):無
          54. #****************************************************************************/
          55. void__irqEint0_IRQ(void)
          56. {
          57. if(Delaytime>20)
          58. {
          59. Delaytime-=20;//加快流水燈的閃爍速度
          60. }
          61. while((EXTINT&0x01)!=0)//不斷被清除標(biāo)志位,直到外部恢復(fù)高電平,此時EXTINT的最低位位0
          62. {
          63. EXTINT=0x01;
          64. }
          65. VICVectAddr=0;//必須操作
          66. }




          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();