您的位置:首页 > 其它

嵌入式

2016-03-15 17:50 295 查看
  

一、使用ADS1.2平台设计程序,并具有以下功能:(30分)

要求:在Micro 2440 平台下实现,按键控制LED发光,按键为S1,S2,S3,S4;LED为LED1,LED2,LED3,LED4

当S1按下时,4个LED全亮,松开全灭;当S2按下时LED1,LED3亮,松开全灭;当S3按下时LED2,LED4亮,松开全灭;当S4按下时LED1—LED4循环单独亮,松开全灭。

(汇编语言,C、汇编混合编程都可以)

  AREA |XIE|,CODE,READONLY 

  ENTRY 

  ldr r13, =0x1000 

  IMPORT Main 

  b Main 

  END

#define GPBCON  (*(volatile unsigned int *)0x56000010)

#define GPBDAT  (*(volatile unsigned int *)0x56000014)

#define GPGCON  (*(volatile unsigned int *)0x56000060)

#define GPGDAT  (*(volatile unsigned int *)0x56000064)

void delay(int n)

{

 int i,j;

  for(i=0;i<=n;i++)

  {   j=10000;

      while(j>0)
  j--;

  }

}

void Main()

{    int a;

   GPBCON=0X00015400;

   GPGCON=0X00405441;

   GPGCON=0X00000000;

while(1)

{  GPBDAT = 0XFFF;

   GPGDAT=0X000008E9; // 1000 1110 1001 

   a=GPGDAT;

   a=a&(0x000008E9);

if(a==0x000008E8)

   GPBDAT = 0X000;

if(a==0x000008E1)

   GPBDAT = 0X140;//F5F

if(a==0x000008C9)

   GPBDAT = 0X0A0;//EBF

if(a==0x000008A9)

   {   GPBDAT = 0XFDF;//哪一位亮哪一位为0

       delay(2000);

       GPBDAT = 0XFBF;

       delay(2000);

       GPBDAT = 0XF7F;

       delay(2000);

       GPBDAT = 0XEFF;

       delay(2000);

   }      

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息