您的位置 首页 制造

使用ARM外部中止操控流水灯的业绩速度(根据LPC2134)

#includeconfig.hvoid__irqEint0_IRQ(void);//INT0中断函数声明voiddelay(intdly);//delay延时函数声明//流水灯数值表intLed_T

  1. #include”config.h”
  2. void__irqEint0_IRQ(void);//INT0中止函数声明
  3. voiddelay(intdly);//delay延时函数声明
  4. //流水灯数值表
  5. intLed_Table[]={
  6. 0x00fe0000,0x00fd0000,0x00fb0000,0x00f70000,0x00ef0000,
  7. 0x00df0000,0x00bf0000,0x007f0000};
  8. intDelaytime=70;
  9. //主函数
  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;//设置一切的终端都为IRQ中止
  18. VICVectCntl0=0x20|14;//设置INT0为IRQ中止,运用slot0
  19. VICVectAddr0=(uint32)Eint0_IRQ;//设置终端服务程序地址
  20. VICIntEnable=0x00004000;//使能INT0
  21. EXTMODE=0x00;//INT0电平触发
  22. EXTPOLAR=0x00;//触发电平为低电平
  23. EXTINT=0x0f;//铲除一切中止标志
  24. while(1)
  25. {
  26. IO1SET=Led_Table[i];//设置高电平引脚
  27. IO1CLR=~Led_Table[i];//设置低电平引脚
  28. delay(Delaytime);
  29. i+=1;
  30. if(i==8)
  31. {
  32. i=0;
  33. }
  34. }
  35. return0;
  36. }
  37. /****************************************************************************
  38. #*称号:delay
  39. #*功用:延时函数
  40. #*进口参数:延时时刻
  41. #*出口参数:无
  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. #*进口参数:无
  53. #*出口参数:无
  54. #****************************************************************************/
  55. void__irqEint0_IRQ(void)
  56. {
  57. if(Delaytime>20)
  58. {
  59. Delaytime-=20;//加速流水灯的业绩速度
  60. }
  61. while((EXTINT&0x01)!=0)//不断被铲除标志位,直到外部康复高电平,此刻EXTINT的最低位位0
  62. {
  63. EXTINT=0x01;
  64. }
  65. VICVectAddr=0;//有必要操作
  66. }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/264416.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部