嵌入式

来源:互联网 发布:张学友 经典歌 知乎 编辑:程序博客网 时间:2024/04/29 23:27

  

一、使用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);
   }      
}
}



1 0
原创粉丝点击