嵌入式
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);
}
}
}
相关文章推荐
- 我的 ARM+Linux 学习路线
- 开发学习记录之看门狗驱动
- 时钟+温度+遥控设置,综合时钟例子
- Linux下运行openwebos- -(转)
- Linux下运行openwebos- -(转)
- BusyBox 简化嵌入式 Linux 系统
- EGL 学习
- 嵌入式开发设计方法变化的背景
- 嵌入式人才的发展方向
- 汇编调用c函数为什么要设置栈
- 三角函数的实现
- 嵌入式桌面操作系统使用与制作攻略
- 嵌入式系统烧写uboot/bootloader/kernel的一般方法
- 甲骨文收购Sleepycat 丰富嵌入式产品线
- 嵌入式Linux操作系统学习规划
- 基于嵌入式多芯片模组的微机保护平台
- 嵌入式系统中常用文件系统的制作总结
- 嵌入式C语言基础教程一
- 汇总Dotfuscator自定义规则中的元素选择
- 3. 类型限定符