资源描述:
《单片机应用中的键盘模块设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息技术与信息化开发与应用单片机应用中的键盘模块设计TheTechniqueofKeyboardProcessofMCUApplication3姚德法YAODe2fa摘 要本文针对单片机应用中的不同场合,提出了几种实用的键盘接口方法、按键编码方式和按键识别方法,并在此基础上给出了相关的软件实现方法,最后结合工作实际介绍几种键盘设计实用技巧。关键词键码 抖动 扫描 按键接口AbstractInthisarticle,severalcommonandpracticalmethodsofkeyboardinterf
2、ace,keycodingandkeyidenti2ficationareintroducedforkindsofMCUApplication.Accordingly,thesoftwareimplementationisgiven.Intheend,someskillsofkeyboarddesignareintroduced.KeywordsKeycodeDitheringScanKeyinterface立接口方式可以节省很多I/O资源,相对于专用芯片式可以1 引言节省成本,且更为灵活。缺点就是需要用软件
3、处理消抖、重在单片机应用中,人机交互对话最通用的方法就是通过键等问题。接口示意图如图2所示。矩阵式按键接口根据键盘进行的。操作者通过键盘向系统发送各种指令或置入采用的按键识别方法不同基本有两种接法:线反转法和扫描必要的数据信息。因此键盘模块设计的好坏,直接关系到系法。其中扫描法的列线始终为输入,行线始终为输出;线反统的可靠性和稳定性。目前少见专门针对单片机按键设计转法则需要改变列线和行线的方向。的文档资料,因此本文结合工作实际,系统地介绍了单片机应用中比较有价值的按键设计方法。2 常用按键接口常用的按键接口一
4、般分为“独立式按键接口设计”、“专用芯片式设计”和“矩阵式接口设计”几种。具体采用哪种方式,应该根据所设计系统的实际情况而定。下面分别介绍不同接口方式的优缺点及适用场合。2.1 独立式按键接口设计独立式按键接口设计优点是电路配置灵活,软件实现简单,但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。因此本方法主要用于按键较少或对操作速度要求较高的场合。软件实现时,可以采用中断方式,也可以采用查询方式,示意图如图1所示。2.2 专用芯片式设计专用键盘处理芯片一般功能
5、比较完善,芯片本身能完成图1 独立式按键接口方式对按键的编码、扫描、消抖和重键等问题的处理,甚至象8279还集成了显示接口功能。专用键盘处理芯片的优点很明显,可靠性高,接口简单,使用方便,适合处理按键较多的情况。但在很多应用场合,考虑成本因素,可能并不是最佳选择。2.3 矩阵式接口设计矩阵式按键设计适应于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方式的优点就是相对于独3中国电子科技集团公司第41研究所 2665552005年第6期47开发与应
6、用信息技术与信息化需两步便能获得按键的行列值。第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出为全零电平,则行线中电平由高到低所在行为按键所在行。第二步:同第一步相反,将行线编程为输出线,列线编程为输入线,并使输出线输出为全零电平,则列线中电平由高到低所在行为按键所在列。综合一、二两步的结果,可确定按键所在行和列,从而识别所按的键。该方法的优点是:非常简单适用。图2 矩阵接口方式示意图5 键盘模块处理方式3 按键编码方式单片机应用系统中,键盘扫描只是MCU的工作之一,按键接口方式确定后,需要对按键
7、进行编码。按键编码MCU在忙于各项工作任务时,如何兼顾键盘的输入,取决于没有特殊约定,只要有利于按键处理即可,同时应根据情况确键盘的工作方式。键盘工作方式的选取原则是既要保证能定是否对按键进行缓冲。但对于矩阵式按键接口一般是先获及时响应按键操作,又要不过多占用MCU的工作时间。一得按键的扫描码,然后将其转换为事先约定的按键编码。般而言,有三种工作方式:编程扫描、定时扫描和中断扫描。5.1 编程扫描方式4 按键识别方法本方式中MCU对键盘的扫描采取程序控制方式,一旦不同的按键接口方式对应不同的按键识别方法,但无
8、论进入键扫描状态,则反复地扫描键盘,等待用户从按键上输哪种接口方式,按键的闭合与否都反映在电压的高低上,因入命令或数据。而在执行键入命令或处理键入数据过程中,此系统可以通过检测不同的电平状态来识别按键是否按下。MCU将不再响应键入要求,直到MCU返回重新扫描键盘为实际设计时可以根据需要设定键闭合或断开的电平状态。止。编程扫描程序流程图如图3所示。例如,我们利用低电平表示键按下,高电平表示键释放。对应