没有合适的资源?快使用搜索试试~ 我知道了~
首页嵌入式按键设计大全(含电路原理图)
资源详情
资源评论
资源推荐

嵌入式按键设计大全(含电路原理图)嵌入式按键设计大全(含电路原理图)
按键——在嵌入式系统应用里,占有非常重要的地位。按键——也是用户交互系统里最重要的一个部分。虽
然,目前大行其道的触摸屏,电容屏吞噬了大壁江山,但是按键依然不可替代。于是,我们就来看看按键是如
何设计的吧!
按键——在嵌入式系统应用里,占有非常重要的地位。按键——也是用户交互系统里最重要的一个部分。虽然,目前大行其道
的触摸屏,电容屏吞噬了大壁江山,但是按键依然不可替代。于是,我们就来看看按键是如何设计的吧!
1、单个I/O口的实现方式
这种方式硬件设计最为简单,软件实现也最为容易,但是其占用I/O口比例较高,如果按键大于4个,则此方案就值得商榷。硬
件原理示意图如图1所示:
图1单个I/O口实现方式
软件的实现方式较多,各有各自特点,无论是大师级的,还是菜鸟级的都能胜任。下面版主给大家介绍这种被誉为“最经典的
按键扫描方法”。
源代码如下:
unsigned char Trg;
unsigned char Cont;
void KeyRead( void )
{
unsigned char ReadData = PINB^0xff; // 1
Trg = ReadData & (ReadData ^ Cont); // 2
Cont = ReadData; // 3
}
Trg(triger)代表的是触发,Cont(continue)代表的是连续按下。这两个变量均被声明为全局变量,被用做标志符。我们在使用
时,需要以一个定时间隔(如20ms)来查询这两个变量,并计数来判断去抖与长按。
2、矩阵扫描方式(一)
矩阵扫描的方式,我想大家在学习嵌入式时,教程一定会介绍的。因此这里版主也就不再多说了。硬件设计如图2所示:
图2矩阵扫描方式(一)
软件设计上,一个行扫描,一个列检测。基本在所有的教程里都有这个软件示例。这里,版主不再赘述。
此方法的缺点是中规中矩。
3、矩阵扫描方式(二)
看完课本的教程后,下面的方法也许会给大家耳目一新的感觉。硬件设计如图3所示:
图3课本设计升级版
软件设计也是相当简单的,假定键盘行列IO口标号分别为H1/H2/H3和V1/V2/V3,扫键流程通常如下:Step1、H1/H2/H3和
V1/V2/V3都设置为输入;Step2、读H1/H2/H3和V1/V2/V3状态,如果Hx和Vy读到的状态均为0,则认为Hx与Vy交叉位置的键
按下。
从上面流程可以看出程序代码要简单不少,既能减少扫键的代码量,又能加快扫键处理的时间,站在软件的角度看此方法要较
课本的方式先进的多。
此方法的缺点是:貌似这样三个触点的按键不太好找。
4、矩阵扫描方式(三)
当现实情况相当复杂时,仅有有限个IO口,但是依然需要大量按键输入时,我们就必须要开动脑筋了。正如下图4所示的硬件


















weixin_38668335
- 粉丝: 7
- 资源: 938
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1