用查询方式,用按键控制led灯亮灭
2011-11-28 16:38
459 查看
本次试验条件,在TQ2440下,使用串口与电脑相连,串口软件DNW。
鉴于前面已经写过一篇关于如何在裸板条件下点亮LED灯,这次介绍如何用查询方式,使用板子上的小按键k1~k4控制led1~4的亮灭。其主要目的还是防止自己不记得...
首先查看电路图如下:
由上图可知道K1对应的中断是EINT1
K1~~EINT1
K2~~EINT4
K3~~EINT2
K4~~EINT3
不知道板子设计人的脑袋是不是被门挤了,设计出这样的对应顺序
接着我们回到2440的手册,找到EINT0~EINT4对应的这一页,看一下是怎样定义的,发现定义成10就激活了中断功能,于是我们在程序里将中断打开,注意各个按钮中断的对应!!
下面是程序:
鉴于前面已经写过一篇关于如何在裸板条件下点亮LED灯,这次介绍如何用查询方式,使用板子上的小按键k1~k4控制led1~4的亮灭。其主要目的还是防止自己不记得...
首先查看电路图如下:
由上图可知道K1对应的中断是EINT1
K1~~EINT1
K2~~EINT4
K3~~EINT2
K4~~EINT3
不知道板子设计人的脑袋是不是被门挤了,设计出这样的对应顺序
接着我们回到2440的手册,找到EINT0~EINT4对应的这一页,看一下是怎样定义的,发现定义成10就激活了中断功能,于是我们在程序里将中断打开,注意各个按钮中断的对应!!
下面是程序:
#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 GPB5_out (1<<(5*2)) #define GPB6_out (1<<(6*2)) #define GPB7_out (1<<(7*2)) #define GPB8_out (1<<(8*2)) int main() { unsigned long dwDat; GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out; //将所有的led设置成打开状态 GPBDAT = 0x3FF; //将所有led关闭 GPFCON = 0x22A; //这里将所有用到的4个中断打开,具体为什么这样请参考上一篇led点亮 while(1){ dwDat = GPFDAT; if (dwDat & 1<<1) //k1 与 10 相与,实际意义是检测这个位置是高、低电平,如果是低,则点亮 GPBDAT |=(1<<5); //led1 亮 else GPBDAT &=~(1<<5); if (dwDat & 1<<4) //k2 与10000 相与 GPBDAT |=(1<<6); //led2 else GPBDAT &=~(1<<6); if (dwDat & 1<<2) //k3 与100相与 GPBDAT |=(1<<7); //led3 else GPBDAT &=~(1<<7); if (dwDat & 1) //k4 与 1 相与 GPBDAT |=(1<<8); //led4 else GPBDAT &=~(1<<8); } }
相关文章推荐
- ARM裸机——FS2410按键控制LED灯(查询方式)
- Tiny6410按键轮询方式控制LED的SD卡启动裸机程序
- 国嵌实验:key_poll,采用查询的方式一旦按键再松开,LED亮灭一次
- 用定时器T0查询方式P0口8位控制LED闪烁 T1查询方式P1口8位控制LED闪烁
- 用定时器T0查询方式2 P0口8位控制LED闪烁 T1查询方式2 P1口8位控制LED闪烁
- S3C2440按键查询方式点亮LED汇编程序
- 定时器 T1 通过查询方式控制 LED1 周期性闪烁
- 4、定时器T1通过查询方式控制LED1周期性闪烁(轮训方式)
- STM32学习笔记之按键查询方式控制led灯的亮灭
- 用查询方式去控制led灯(ARM 驱动开发)
- 用定时器T0查询方式P0口8位控制LED闪烁
- 第三个实验 通过中断方式让按键控股按键控制LED
- 从ARM裸机看驱动之按键中断方式控制LED(二)
- ARM裸机——FS2410按键控制LED(中断方式)
- 用定时器T0查询方式P0口8位控制LED闪烁
- S3C2410 按键控制LED(中断)
- 用中断的方式都控制LED
- 【嵌入式】——arm裸机开发 step by step 之 按键控制 LED 和 蜂鸣器
- [精品书单]Button: 使用按键,控制开关 LED 灯
- 基于mini2440的按键中断控制LED(裸机代码)