关于三级4*4键盘说明
来源:互联网 发布:mac pro win10性能 编辑:程序博客网 时间:2024/05/20 20:48
一般意义上的非标准键盘,通常设置为4*4阵列或者5*5阵列,现在单讲前者。关于具体的原理不必多说,主要是三级里面有这样的程序,加深印象,就此说明一下。
接口电路选择:
GPE0~3,行扫描,输出
GPE4~7,列扫描,输入
注:每行左侧均连一电至5V电源
//该端口为GPECON寄存器地址#define KEYOUTPUT (*(volatile INT8U *)0x56000044)#define KEYINPUT (*(volatile INT8U *)0x56000044)INT16U KeyScan(){ INT16U key=0xffff,i; INT8U temp=0xff,output; //端口寄存器配置 rGPECON=((rGPECON&0xffffff00)|0x00000055); rGPECON=rGPECON&0xffff00ff; //查询是否有按键落下 for(i=1;((i<=8)&&(i>0));i<<=1) { //这里的for加上下面三行指的是行扫描,也就是GPE0-3不断依次输出为0 output|=0xff; output&=(~i); KEYOUTPUT=output; //检查列信号是否为0,当某一列为0的话,表示该按键被按下 temp=KEYINPUT; if((temp&0xf0)!=0xf0) { key=(~i); key<<=8; //行信号移至高八位与低八位的列信号合并 key|=((temp&0xf0)|0x0f); return key; } } return 0xffff;}
注:当然用16bit是比较麻烦的,用8bit组合更直观,只不过人家程序是这样做的。
再将所有返回的可能值组合排列成一个数组,通过查询该值对应的数字按键,即可转移到相应的程序中。
阅读全文
0 0
- 关于三级4*4键盘说明
- 三级菜单(4) 函数优化
- 关于三级指针
- 关于图片三级缓存
- 关于三级管总结
- 关于键盘
- 关于键盘
- 苹果键盘说明
- 键盘事件说明
- 关于AlertDialog的setContentView无法弹出软件键盘的进一步说明
- about C#三级架构,实例说明
- WSTMart 分销说明,三级分销与返利
- 键盘驱动系列---JIURL键盘驱动 4
- 键盘常用操作键说明
- 中英键盘按键说明
- 关于一道J@Whiz1.4的经典问题的说明
- 关于mov 4c00h int 21h的说明
- 关于windows IIS+php5.4,php.ini的配置说明
- 2017 ACM-ICPC 亚洲区(西安赛区)网络...
- cmd中netstat 命令详解(二)
- 抽象类真的也可以被实例化(Java)
- MyISAM的锁与InnoDB的锁区别
- 计算器
- 关于三级4*4键盘说明
- CTR点击率预估
- Java-Integer源码分析
- vm上的kali安装
- C语言初步-第31讲:循环控制结构及流程图(次数不定的循环的流程图)
- keras + LSTM
- 愤怒的奶牛
- 适合四季畅饮的饮料 体动果味苏打水
- VMWare 虚拟机安装CentOS 并配置网络连接