1.利用按键控制led灯亮灭
来源:互联网 发布:oracle sql if 子查询 编辑:程序博客网 时间:2024/05/22 15:03
1. 配置key
2. 读key状态
3. 根据key状态点亮led灯
硬件连接图:
分析:
按键接了上拉电阻,按键没按下时,GPIO口的状态为高电平
#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,LED4对应GPF4、GPF5、GPF6 *///GPF4 5 6 配置成输出引脚 LED端#defineGPF4_out(1<<(4*2))#defineGPF5_out(1<<(5*2))#defineGPF6_out(1<<(6*2))#defineGPF4_msk(3<<(4*2))#defineGPF5_msk(3<<(5*2))#defineGPF6_msk(3<<(6*2))/* * S2,S3,S4对应GPF0、GPF2、GPG3 *///GPF0 2 GPG3配置成输出引脚 按键#define GPF0_in (0<<(0*2))#define GPF2_in (0<<(2*2))#define GPG3_in (0<<(3*2))#define GPF0_msk (3<<(0*2))#define GPF2_msk (3<<(2*2))#define GPG3_msk (3<<(3*2))int main(){ unsigned long dwDat; // LED1,LED2,LED4对应的3根引脚设为输出 GPFCON &= ~(GPF4_msk | GPF5_msk | GPF6_msk);//先清0,再赋值 GPFCON |= GPF4_out | GPF5_out | GPF6_out; // S2,S3对应的2根引脚设为输入 GPFCON &= ~(GPF0_msk | GPF2_msk); GPFCON |= GPF0_in | GPF2_in; // S4对应的引脚设为输入 GPGCON &= ~GPG3_msk; GPGCON |= GPG3_in; while(1){ //若Kn为0(表示按下),则令LEDn为0(表示点亮) dwDat = GPFDAT; // 读取GPF管脚电平状态 if (dwDat & (1<<0)) // S2没有按下 GPFDAT |= (1<<4); // LED1熄灭 else GPFDAT &= ~(1<<4); // LED1点亮 if (dwDat & (1<<2)) // S3没有按下 GPFDAT |= (1<<5); // LED2熄灭 else GPFDAT &= ~(1<<5); // LED2点亮 dwDat = GPGDAT; // 读取GPG管脚电平状态 if (dwDat & (1<<3)) // S4没有按下 GPFDAT |= (1<<6); // LED3熄灭 else GPFDAT &= ~(1<<6); // LED3点亮 } return 0;}
分析:
利用按位操作寄存器,能省不少事~!
按位操作
清零: 位与 GPFCON &= ~(1<<4); //赋值 0
置位: 位或 GPEDAT |= (1<<4); //赋值1
烧写、上电即可看到效果~!
- 1.利用按键控制led灯亮灭
- 3.按键控制LED灯亮灭
- OK6410利用矢量中断通过按键控制LED灯
- 按键控制led
- 按键控制led驱动
- 按键控制led驱动
- 按键控制led应用程序
- 按键控制LED
- ARM按键控制LED
- 按键控制led亮灭
- 按键控制显示LED亮度
- mini2440 按键控制LED 驱动
- S3C2440 用按键控制LED
- 5.0 按键控制LED灯
- 独立按键控制led灯
- 简单的按键控制LED
- 5、按键控制LED位移
- 中断-按键控制LED灯
- Codeforces Round #204 (Div. 2)
- [leetcode]Candy
- Meanshift
- 线程与进程的区别
- 一分为二
- 1.利用按键控制led灯亮灭
- 瑞芯微平台编译说明
- [leetcode]Gas Station
- 展云软件-云计算解决方案
- ASP.NET MVC 的依赖注入
- 【算法解题报告】求三角形的面积
- [leetcode]Palindrome Partitioning II
- 音频格式与编码的理解
- 音频播放 AVPlayer AVAudioPlayer