按键控制led灯亮灭c语言实验报告,通过按键控制LED灯的实验

本文介绍了一个使用C语言进行的按键控制LED灯亮灭的实验。实验中,通过查阅开发板资料,了解到按键K1-K4分别对应GPF1-GPF4,并配置为输入模式。在代码中,利用GPIO寄存器读取按键状态,根据按键按下情况控制LED灯亮灭。通过定义宏和循环判断,实现了不同按键控制不同LED灯的效果。
摘要由CSDN通过智能技术生成

通过查看开发板的核心电路原理图,加上查阅SUMSANG

2440的datasheed得知四个按键K1,K2,K3,K4对应GPF中的GPF1,GPF4,GPF2,GPF0。将这四个引脚配置为输入模式,

这样通过GPFDAT寄存器中的相应为来得知哪个键被按下,当某个键被按下时,相应连接引脚接地,为低电平,在GPFDAT中相应的为表现为逻辑0。否则

为1。

设置C语言环境的汇编文件和循环点亮LED灯的实验中的一样,Makefile也不需要修改,当然,如果改变源文件的名称还是需要去修改Makefile的。贴出main.c文件如下:#define GPBCON    (*(volatile unsigned long *)0x56000010)

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

#define LED4_SET_OUTPUT ((1<<10) | (1<<12) | (1<<14) | (1<<16))

#define LED1_ON    (~(1<<5))

#define LED2_ON (~(1<<6))

#define LED3_ON (~(1<<7))

#define LED4_ON (~(1<<8))

#define GPFCON (*(volatile unsigned long *)0x56000050)

#define GPFDAT (*(volatile unsigned long *)0x56000054)

#define KEY4_SET_INPUT (~((3<<0) | (3<<2) | (3<<4) | (3<<8)))

#define KEY_1    (1 &l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值