欢迎来到天天文库
浏览记录
ID:37653296
大小:1.04 MB
页数:14页
时间:2019-05-27
《按键输入与LED显示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第!章"按键输入与#$%显示!&'"项目分析在自动化设备和仪器仪表系统中!按键是十分重要的信息输入方式"可以是独立式按钮!或是矩阵式按键!或是键盘!向控制器输入开关量信号或组合信息!即命令或数据"按键有多种应用识别方法!在本章实例中!设计多组按键!分别用不同的软#硬件方法识别按键信息!并点亮对应的!"#小灯"本章实例选用$%&'()*单片机!外接&个按键和&个!"#小灯!按键与小灯相对应"按下一个按键!则对应的!"#小灯改变一次状态!即按一下!小灯亮!再按一下!小灯灭"&个按键分为+组!采用+种不同的连接和识别方式"!&("相关知识介绍!
2、&(&'"按键按键按照结构原理可分为两类$一类是触点式开关按键!如机械式开关#导电橡胶式开关和柔性开关等%另一类是无触点开关按键!如电气式按键和磁感应按键等"按键按照接口原理可分为编码键盘与非编码键盘两类!这两类键盘的主要区别是识别键符及给出相应键码的方法有所不同"按键按照结构形式可分为独立式按键与矩阵式按键两类"按键按照用途分为数字键#功能键和组合控制键三大类"常见系统中一般都采用触点式开关按键!利用了机械触点的合#断作用"由于机械触点的弹性作用!一个按键开关在闭合和断开的瞬间均有一连串的抖动!电压波形如图+,*所示"抖动时间的长短由按
3、键的机械特性决定!一般为).*/01!这是一个很重要的参数"抖动过程引起电平信号的波动!有可能令(23误解为多次按键操作!从而引起误处理"为了确保(23图+,*-按键抖动波形对一次按键动作只确认一次按键!必须消除抖动的影响"按键的消抖!通常有硬件和软件两种消除方法"*&硬件消抖$在按键较少的情况下!可以被采用"硬件消抖通常采用双稳态消抖电路和滤波积分电路"45双稳态触发器构成的消抖电路如图+,6所示!4(滤波消抖电路如图+,+所示"6&软件消抖$如果按键较多!硬件消抖将无法胜任!常采用软件消抖"通常采用软件延时的方法!在第一次检测到有键按
4、下时!执行一段延时的子程序'延时时间一般为*/01&!)单片机综合设计实用教程图+,6-45双稳态触发器消抖电路图+,+-4(滤波消抖电路后!再确认是否仍保持闭合状态电平"如果保持闭合状态电平!则确认真正有键按下!进行相应处理工作!这样就消除了抖动的影响"按键电路有多种连接和识别的方法!主要分为独立式按键和矩阵式按键两类"*8独立式按键独立式按键就是每个按键单独占用一个9:;口!每个9:;口的按键工作状态不会影响其他9:;口的工作状态"因此!通过检测输入线的电平状态可以很容易地判断哪个按键被按下了"独立式按键的优点是电路配置灵活!软件结构
5、简单%它的缺点是每个按键需占用一个9:;口!浪费(23的资源"图+,7所示为独立式按键查询方式硬件电路!与此电路对应的按键扫描程序清单如下$图+,7-独立式按键查询方式硬件电路<=>?@AB1CDE'&(-->F'2*G/HH/&---::判断2*8/是否有按键输入--(----?AIDB'*/&%::消抖延时*/01---->F'2*G/HH/&::再判断2*8/是否有按键输入------FJE/'&%::调处理程序/--)--**--::省略判断2*8*.2*8K)图+,)所示为独立式按键中断方式硬件电路!当电路中某个按键被按下时!触
6、发外部中断/!进入中断程序对按键进行判断处理"68矩阵式键盘接口设计矩阵式键盘适用于按键数量较多的场合!由行线和列线组成!按键位于行列的交叉点上!节省9:;口"'*&矩阵式键盘的工作原理行线通过上拉电阻接到L)M电源上!无按键时!图+,)-独立式按键中断方式硬件电路第!章"按键输入与#$%显示!*行线处于高电平状态%有键按下时!行线电平状态将由与此行线相连的列线电平决定"列线电平为低!则行线电平为低%列线电平为高!则行线电平为高"图+,N所示为一个7O7的行#列结构!可以构成一个含有*N个按键的键盘!很明显在按键数量较多的时候!矩阵式键盘
7、比独立式键盘要节省很多9:;口"'6&按键编码的识别方式图+,N-7O7矩阵式键盘结构不同的按键接口方式对应不同的按键识别方法!但无论哪种接口方式!按键的闭合与否都反映在电压的高低上"对于独立式按键识别方法很简单!只需要检测相应口线的电平即可"没有键按下时为高电平!有键按下时则为低电平"矩阵式按键的识别原理如上面提到的7O7矩阵式键盘!按键设置在行#列的交点上!行列线分别连接到按键开关的两端!行线或列线通过上拉电阻接到L)M电源上"平时无按键动作时!处于高电平状态%而当有键按下时电平状态将发生改变"这一点是按键识别的关键所在!一般有扫描法
8、和线反转法两种方法$*&扫描法识别按键"扫描法识别按键分两步进行$第一步是识别有无按键按下"识别有无按键按下的方法$让所有列线均置为零电平!检查各行线是否有变化"如果有变化!则说明有键被按下!
此文档下载收益归作者所有