三级嵌入式之非标准键盘的相关问题

本文介绍了在三级嵌入式系统中处理非标准键盘的方法,重点在于键盘接口设计和扫描函数实现。通过行扫描法,分析按下键的十六进制值,并详细解释了从扫描值到按键位置的转换过程,适合基础较弱的学习者阅读。
摘要由CSDN通过智能技术生成
                         三级嵌入式之非标准键盘的相关问题

 本文由@虚晓柏原创,转载请注明出处 。
 本人是一名大学生,大二。最近准备了三级嵌入式考试,一共准备了7天,遇到了非标准键盘问题特别苦恼,不知道原理是什么。为此,专门针对这个问题详细介绍一下,为自学嵌入式没有基础的同学排排忧解难。
 三级嵌入式非标准键盘的考法常见就那几种,什么4*3,4*4啦,原理基本都是一样,下面见具体题目:

(1)如输入密码的键盘采用非标准键盘,键盘接口设计成43的阵列。若设计时选用了GPE0GPE3来输出键盘行扫描信号,选用GPD0GPD2来输入键盘列信号。请补充下面的扫描函数:
//**keyoutput 是键盘扫描时的输出地址,keyinput是键盘读入时的地址
#define KEYOUTPUT(
(volatile INT8U)0x56000044)
#define KEYINPUT(*(volatile INT8U)0x56000034)
INT16U ScanKey()
{
INT16U key=0xFFFF;
INT16U i;
INT8U temp=0xFF,output;
rGPDCON=rGPDCON&0xFFFFFFC0;
rGPDCON=((rGPDCON&0xFFFFFF00)|0x00000055);
for(i=1;i<=8&&i>=0;i<<1)
{
output|=oxFF;
output&=(~i);
KEYOUTP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值