论文部分内容阅读
【中图分类号】 TN710.9 【文献标识码】 A【文章编号】 2236-1879(2018)09-0282-02
一、 作者简介
姓名: 张文文 (出生年月:1987-02-26) 性别:男 ,籍贯:陕西渭南人,学历:本科 职称:主要研究方向:电子电路及半导体测试
二、 技术信息
1. 内容摘要:
按键作为人机交互的主要设备被广泛应用,但随着系统要求的按键数量越来越多,尤其是对于微控制系统而言,节省按键接口数量是非常有必要的,为了解决在有限的通用输入输出接口上实现更多按键功能,工程人员提出了许多有效但功能又被局限的设计(比如行输出/列输出扫描法,外接二极管或者三极管电路法),虽然有些设计节约了对通用输入输出端口数量的要求,却带来了外部电路成本的增加。因此本文提出一种外部只使用电阻配合控制器间断输入输出扫描方法,在有限的输入输出端口上实现更多按键功能,硬件成本不会明显增加,且按键能够实现对多键的有效识别的方法。
2. 关键字:
查新检索中英文关键词或检索式
3. 内容描述:
该新型矩阵键盘实现硬件电路如下图1所示,硬件中除了按键,只增加了一些电阻,这里电阻的作用使输入输出端口上形成压差,从而避免多键值识别错误或者串扰。
并且该新型矩阵键盘实现最多可以实现 c2n(n is number of IO)个按键。满足有限输入输出端口对多按键的有效支持。
这里以8个输入输出端口PA~PH为列说明实现过程如下:
Step1. 打开输入输出端口PA~PH上的上(下)拉电阻;
Step2. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PB输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[1];
Step3. PA输入输出端口设置为输入模式,PB~PH端口設置为输出模式,且PC输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[2];
Step4. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PD输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[3];
Step5. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PE输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[4];
Step6. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PF输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[5];
Step7. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PG输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[6];
Step8. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PH输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[7];
通过以上8个步骤,得到了KA列按键是否有有效的按键值,并记录为KA_REG;
Step9. 同理,PB输入输出端口设置为输入模式,其他端口均设置为输出模式,并且一次将PC~PH端口单独输出为低(高)电平,其他输出模式的端口输出高(低)电平,读取PB端接的值并记录为KB_REG;
Step10. 同理依照上述方法,分别得到记录值KC_REG、KD_REG、KE_REG、KF_REG、KG_REG;
这些记录值绘制在一起得到如表1所示存储列表。
步骤12~步骤18记录值绘制在一起得到如表2所示存储表。
Step19. 将表2存储表进行矩阵转置操作后得到表3存储表;
Step20. 将表1存储表和表3存储表按位与操作后或得真实的按键值。
到这里操作结束,一次按键的扫描完成。
一、 作者简介
姓名: 张文文 (出生年月:1987-02-26) 性别:男 ,籍贯:陕西渭南人,学历:本科 职称:主要研究方向:电子电路及半导体测试
二、 技术信息
1. 内容摘要:
按键作为人机交互的主要设备被广泛应用,但随着系统要求的按键数量越来越多,尤其是对于微控制系统而言,节省按键接口数量是非常有必要的,为了解决在有限的通用输入输出接口上实现更多按键功能,工程人员提出了许多有效但功能又被局限的设计(比如行输出/列输出扫描法,外接二极管或者三极管电路法),虽然有些设计节约了对通用输入输出端口数量的要求,却带来了外部电路成本的增加。因此本文提出一种外部只使用电阻配合控制器间断输入输出扫描方法,在有限的输入输出端口上实现更多按键功能,硬件成本不会明显增加,且按键能够实现对多键的有效识别的方法。
2. 关键字:
查新检索中英文关键词或检索式
3. 内容描述:
该新型矩阵键盘实现硬件电路如下图1所示,硬件中除了按键,只增加了一些电阻,这里电阻的作用使输入输出端口上形成压差,从而避免多键值识别错误或者串扰。
并且该新型矩阵键盘实现最多可以实现 c2n(n is number of IO)个按键。满足有限输入输出端口对多按键的有效支持。
这里以8个输入输出端口PA~PH为列说明实现过程如下:
Step1. 打开输入输出端口PA~PH上的上(下)拉电阻;
Step2. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PB输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[1];
Step3. PA输入输出端口设置为输入模式,PB~PH端口設置为输出模式,且PC输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[2];
Step4. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PD输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[3];
Step5. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PE输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[4];
Step6. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PF输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[5];
Step7. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PG输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[6];
Step8. PA输入输出端口设置为输入模式,PB~PH端口设置为输出模式,且PH输出为低(高)电平,其他输出模式的端口输出高(低)电平,此时读取PA端口上的电平状态,并记录为KA_REG[7];
通过以上8个步骤,得到了KA列按键是否有有效的按键值,并记录为KA_REG;
Step9. 同理,PB输入输出端口设置为输入模式,其他端口均设置为输出模式,并且一次将PC~PH端口单独输出为低(高)电平,其他输出模式的端口输出高(低)电平,读取PB端接的值并记录为KB_REG;
Step10. 同理依照上述方法,分别得到记录值KC_REG、KD_REG、KE_REG、KF_REG、KG_REG;
这些记录值绘制在一起得到如表1所示存储列表。
步骤12~步骤18记录值绘制在一起得到如表2所示存储表。
Step19. 将表2存储表进行矩阵转置操作后得到表3存储表;
Step20. 将表1存储表和表3存储表按位与操作后或得真实的按键值。
到这里操作结束,一次按键的扫描完成。