mini2440实验,用key控制led
来源:互联网 发布:淘宝宝贝导出excel 编辑:程序博客网 时间:2024/05/16 17:09
#define GPBCON (*(volatile unsigned long*)0x56000010)
#define GPBDAT (*(volatile unsigned long*)0x56000014)
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define GPGCON (*(volatile unsigned long *)0x56000060)
#define GPGDAT (*(volatile unsigned long *)0x56000064)
/*
* LED1,LED2, LED3 LED4对应GPB5、GPB6、GPB7 GPB8
*/
#define GPB5_out (1<<(5*2))
#define GPB6_out (1<<(6*2))
#define GPB7_out (1<<(7*2))
#define GPB8_out (1<<(8*2))
#define GPG0_in ~(3<<(0*2))
#define GPG3_in ~(3<<(3*2))
#define GPG5_in ~(3<<(5*2))
#define GPG6_in ~(3<<(6*2))
int main()
{
unsigned long dwDat;
// LED1,LED2,LED3,LED4对应的4根引脚设为输出
GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out;
//S1,S2,S3,S4对应的4根引脚设为输入
GPGCON =GPG0_in | GPG3_in | GPG5_in | GPG6_in;
while(1)
{
//若Kn为0(表示按下),则令LEDn为0(表示点亮)
dwDat = GPGDAT; // 读取GPG管脚电平状态
if (dwDat & (1<<0)) // S1没有按下
GPBDAT |= (1<<5); // LED1熄灭
else
GPBDAT &= ~(1<<5); // LED1点亮
if (dwDat & (1<<3)) // S2没有按下
GPBDAT |= (1<<6); // LED2熄灭
else
GPBDAT &= ~(1<<6); // LED2点亮
if (dwDat & (1<<5)) // S3没有按下
GPBDAT |= (1<<7); // LED3熄灭
else
GPBDAT &= ~(1<<7); // LED3点亮
if (dwDat & (1<<6)) // S4没有按下
GPBDAT |= (1<<8); // LED4熄灭
else
GPBDAT &= ~(1<<8); // LED4点亮
}
return 0;
}
#define GPBDAT (*(volatile unsigned long*)0x56000014)
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define GPGCON (*(volatile unsigned long *)0x56000060)
#define GPGDAT (*(volatile unsigned long *)0x56000064)
/*
* LED1,LED2, LED3 LED4对应GPB5、GPB6、GPB7 GPB8
*/
#define GPB5_out (1<<(5*2))
#define GPB6_out (1<<(6*2))
#define GPB7_out (1<<(7*2))
#define GPB8_out (1<<(8*2))
#define GPG0_in ~(3<<(0*2))
#define GPG3_in ~(3<<(3*2))
#define GPG5_in ~(3<<(5*2))
#define GPG6_in ~(3<<(6*2))
int main()
{
unsigned long dwDat;
// LED1,LED2,LED3,LED4对应的4根引脚设为输出
GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out;
//S1,S2,S3,S4对应的4根引脚设为输入
GPGCON =GPG0_in | GPG3_in | GPG5_in | GPG6_in;
while(1)
{
//若Kn为0(表示按下),则令LEDn为0(表示点亮)
dwDat = GPGDAT; // 读取GPG管脚电平状态
if (dwDat & (1<<0)) // S1没有按下
GPBDAT |= (1<<5); // LED1熄灭
else
GPBDAT &= ~(1<<5); // LED1点亮
if (dwDat & (1<<3)) // S2没有按下
GPBDAT |= (1<<6); // LED2熄灭
else
GPBDAT &= ~(1<<6); // LED2点亮
if (dwDat & (1<<5)) // S3没有按下
GPBDAT |= (1<<7); // LED3熄灭
else
GPBDAT &= ~(1<<7); // LED3点亮
if (dwDat & (1<<6)) // S4没有按下
GPBDAT |= (1<<8); // LED4熄灭
else
GPBDAT &= ~(1<<8); // LED4点亮
}
return 0;
}
0 0
- mini2440实验,用key控制led
- ARM MINI2440 LED及KEY 实验(学习笔记)
- mini2440 LED 跑马灯实验
- mini2440 按键中断LED 实验
- mini2440 led流水灯实验
- mini2440 led驱动程序测试实验
- mini2440 外部中断控制led
- mini2440 按键控制LED 驱动
- LED灯控制实验
- LED控制实验
- DragonBoard410c 控制LED实验
- mini2440 led跑马灯+ 按键控制
- 通过网络控制mini2440上的LED
- 实验--无线收发控制LED
- 51单片机实验(LED and KEY)
- 写的一个MINI2440用其BUTTON 控制其 LED灯的软件
- Mini2440 裸机实验之LED程序、按键、中断
- ARM开发板mini2440的按键控制LED小程序
- java 中常见的几种算法,解释很详细
- 19.嵌套的监控程序锁死
- hdu4497——GCD and LCM(数论&容斥原理or排列组合)
- MyBatis_5
- What Kind of Friends Are You?
- mini2440实验,用key控制led
- Java面试准备十八:数据库——临时表、视图
- 大数据Web日志分析 用Hadoop统计KPI指标实例
- Hdu 2516 取石子游戏 斐波那契博弈
- (C语言)约瑟夫环问题
- [BZOJ4259]残缺的字符串
- Let's Chat
- ZOJ 142
- 【Linux】正则表达式初识