基于mini2440轮询控制LED(裸机代码)
2012-11-27 11:53
501 查看
#define GLOBAL_CLK #include "def.h" #include "option.h" #include "2440addr.h" #include "2440lib.h" #include "2440slib.h" #define LED1_on rGPBDAT = ((0xf<<5)^(1<<5)) //GPB5=0 #define LED2_on rGPBDAT = ((0xf<<5)^(1<<6)) //GPB6=0 #define LED3_on rGPBDAT = ((0xf<<5)^(1<<7)) //GPB7=0 #define LED4_on rGPBDAT = ((0xf<<5)^(1<<8)) //GPB8=0 #define LED1_3_on rGPBDAT = ((0xf<<5)^(5<<5)) //GPB5=0,GPB7=0 #define LED2_4_on rGPBDAT = ((0xf<<5)^(5<<6)) //GPB6=0,GPB8=0 #define LED_off rGPBDAT = (0xf<<5) //GPB5=1,GPB6=1,GPB7=1,GPB8=1 #define LED_on rGPBDAT = ~(0xf<<5) //GPB5=0,GPB6=0,GPB7=0,GPB8=0 int Main() /*GPG0 GPG3 GPG5 GPG6 GPG7 GPG11 设置为输入*/ { rGPGCON = ((0<1)|(0<7)|(0<11)|(0<13)|(0<15)|(0<23)); rGPBCON = ((1<10)|(1<12)|(1<14)|(1<16));//B口GPB5-6-7-8设为输出 LED_off; while( 1 ) { if (rGPGDAT&(1<<0)) //如果K1没有被按下 { LED_off; } else { LED1_on; } if (rGPGDAT&(1<<3)) //如果K2没有被按下 { LED_off; } else { LED2_on; } if (rGPGDAT&(1<<5)) //如果K3没有被按下 { LED_off; } else { LED3_on; } if (rGPGDAT&(1<<6)) //如果K4没有被按下 { LED_off; } else { LED4_on; } if (rGPGDAT&(1<<7)) //如果K5没有被按下 { LED_off; } else { LED1_3_on; } if (rGPGDAT&(1<<11)) //如果K6没有被按下 { LED_off; } else { LED2_4_on; } } return 0; }
相关文章推荐
- 基于mini2440的按键中断控制LED(裸机代码)
- 基于mini2440按键控制电子相册(裸机代码)
- mini2440裸机试炼之--按键控制蜂鸣器和LED
- 基于mini2440的裸机led程序及其链接脚本分析
- 基于mini2440触摸屏版电子相册(裸机代码)
- mini2440(6) 我的第一个ARM汇编程序---LED灯裸机硬件控制程序(2)
- mini2440 之——LED简单控制(裸机)
- 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(八)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(一)
- mini2440(2) LED灯裸机硬件控制程序
- 基于mini2440简单计算器的实现(裸机代码)
- mini2440(4) 我的第一个ARM汇编程序---LED灯裸机硬件控制程序
- mini2440 led驱动代码(原创)基于iomap<测试初始化没有问题,其它功能待开发>
- 基于mini2440流水灯(裸机代码)
- 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(九)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(二)
- mini2440(2) LED灯裸机硬件控制程序
- mini2440 LED灯裸机硬件控制程序
- mini2440 之——LED简单控制(裸机) c与汇编
- mini2440 led驱动代码 基于kernel2.6.32.2 之led
- Tiny6410按键轮询方式控制LED的SD卡启动裸机程序
- Linux用户态控制GPIO--基于友善mini2440