单片机常用按键电路.docx

上传人:牧羊曲112 文档编号:5076873 上传时间:2023-06-02 格式:DOCX 页数:5 大小:369.41KB
返回 下载 相关 举报
单片机常用按键电路.docx_第1页
第1页 / 共5页
单片机常用按键电路.docx_第2页
第2页 / 共5页
单片机常用按键电路.docx_第3页
第3页 / 共5页
单片机常用按键电路.docx_第4页
第4页 / 共5页
单片机常用按键电路.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机常用按键电路.docx》由会员分享,可在线阅读,更多相关《单片机常用按键电路.docx(5页珍藏版)》请在三一办公上搜索。

1、单片机常用按键电路 单片机组成的小系统中,有的需要人机交互功能,按键是最常 见的输入方式。最常见的按键电路大致有,一对一的直接连接 和动态扫描的矩阵式连接两种。1u1VCCCPURcpuRII/QoiT p-FB主r-PBv(pd左右两个电路作用一样,区别是左边CPU的输入端常态为高 电位,按下按键时为低电位;右边的常态为低电位,按下按键 是高电位。这样的电路简单直接,一个按键独占一个端口,在 按键数量较少端口数量富裕时可以直接使用。很多场合需要的按键数比较多,要尽量少地占用端口就必须使图中将按键按行列矩阵的方式排列,其中的每一行公用一根行 线,每一列公用一根列线。以此图为例,16个按键,按一

2、对一 方式连接的话需要16个端口,而按这样的矩阵方式链接只需 要8个端口,图中的Px,Py为CPU的IO端口,在本例中可以使用不同的端 口也可以使用同一个8位端口。上拉电阻不是必须,单片机IO 口内部有上拉电路时此处就可省略。这个电路的工作原理是采用程序扫描的方式检测某个按键状 态。比如将Px 口的4位全置为低电平,这时如果没有任何按 键按下的话,从Py 口读回的4位应全为高,而如果有某一键 按下,则对应按下键的那一列的位读回值将为低。这样就能知 道按下键所在的列;接着确定按键所处行,把Py 口的输入值作 为输出,Px全部置高并读取输入,就能得到按键所在行位置, 于是就确定了所按按键的行列位置

3、。扫描可以有两种实现的方法,一种是全行全列扫描,一种是逐 行全列扫描。上面的例子其实就是全行全列扫描方式,其特点是,一个流程就能知道是否有按键按下,并能确定按下 按检测行列值,检测步骤简单迅速。但作为行列接口的Px,Py 必须是双向的,亦即同时具有输入输出功能,单片机的端口基 本都能满足。换种检测方式,就是先给定彳丁,再检测列。比如彳丁端口 Px母 次输出不是全部,而是只有一位输出为低,也就是预先给定了 行,那么对应行有按键按下时,Py读回的值就代表按键所在列。 Px 口按位逐一输出低,每次读回Py值,这样的处理方式,更 贴近扫描的含义。因为按键是机械动作,相对单片机运行速度 来说,一次扫描流

4、程足够检测到按键按下的动作。这种扫描方 式就是逐行全列扫描。这种扫描方式的特点是逐行扫描,有多少行就扫多少次,当有 按键按下时,行列数就确定了。虽然显得麻烦点,但好处是Px 只需是输出而Py只是输入,Px输出每次只有唯一的一位为低, 这样的特点就可以对端口数进行简化,比如使用译码器。如图 所示:74HCT137CPU1 =-r_ *fvcc由图可以看出,同样按键数,增加一个138译码器之后,CPU 所用端口数就减为5 了。Px 口的3位只需输出0到7,译码器输出就能得到和前面一样 的行扫描信号。这时候的程序处理流程,和上面的略有不同, 主要是行的表示上不同。上面是行数的对应位表示对应行,下 面

5、的是行数的对应值就是对应行。程序框图如所示。逐行扫描还有另外一个用处,就是当系统中有需要动态扫描的 装置比如LED数码管或点阵时,行扫描线就可以为其提供动 态扫描信号,这样也是为了减少端口使用数量,达到信号复用 并减少代码量的目的。除了上面提到的几种按键电路,还有一种按键电路,使用更少 的端口数量,如图该电路同矩阵式按键电路一样,所不同的是行列端口使用的是 同一个端口,并且矩阵的一条对角线上按键由二极管代替。如 此图所示,按键数Knum=Pnum*(Pnum-1),其中Pnum就是使用的端口数。以4个端口数为例,一对一连接方式只能是4个按键;不带译码器最多4个按键,使用2-4译码器或3-8译码器方式最多8个按键而这种电路可以达到12个按键。此电路程序部分和不带译码 器的一样,只是注意对角线上被二极管替代的地方没有按键。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号