基于项目化教学的键盘接口技术教学设计与实现
2014-06-01金京犬
唐 敏 金京犬
(安徽邮电职业技术学院,安徽 合肥 230031)
基于项目化教学的键盘接口技术教学设计与实现
唐 敏 金京犬
(安徽邮电职业技术学院,安徽 合肥 230031)
单片机应用系统经常需要与外部设备数据通信,键盘作为单片机应用系统中常用必备的输入设备,有很强的通用性。本文采用项目化教学方案设计,从独立式按键设计、一键多功能按键设计、矩阵式按键设计以及中断矩阵式按键设计四个方面开展键盘接口技术的教学设计与实现,以便让学生可以较轻松容易的掌握键盘接口技术,以达到良好的教学效果。
单片机应用系统;键盘接口;独立式按键;矩阵式按键
1 键盘分类
键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件。单片机应用系统经常需要与外部设备数据通信,键盘作为单片机应用系统中常用必备的输入设备。按照键盘结构原理分为触点式开关按键和无触点开关按键两类,前者造价低,后者寿命长。按照接口原理可分为编码键盘和非编码键盘,编码键盘主要是用硬件来实现对按键的识别,硬件结构复杂,非编码键盘主要是由软件来实现按键的定义与识别,硬件结构简单,软件编程量大。本文主要介绍单片机中常用的触点式开关按键、非编码键盘。单片机应用系统通常使用机械触点式按键开关,其主要功能是把机械上的通断转换为电气上的逻辑关系(1和O)。
2 键盘设计注意的问题
机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图1所示,抖动时间的长短与开关的机械特性有关,一般为5~10ms。若有抖动,按键按下会被错误地认为是多次操作,在做单片机应用系统设计时这种情况是不允许发生的。为了消除键盘抖动的影响,可以从软件和硬件两个方面采取措施,对于键盘数量较少的情况下,采用硬件去抖,对于键盘数量多的情况下,采用软件编程思路去抖,在检测到有按键时,执行10ms的延时程序,然后再次检测是否有按键,去抖过程如图2所示。
3 键盘的设计与实现
在单片机应用系统中,如果按键数量使用不多,大多数情况下采用独立式按键处理,单片机应用系统与独立式按键的典型接口电路如图3所示,按下按键,对应的LED点亮。独立式按键特点是每个按键都独占一根I/O端口线,相互独立,每个按键的任务不会影响到其他按键状态。独立式按键的电路配置灵活,软件设计简单实现。通常采用的做法是逐位查询每根I/O端口线的输入状态,如果某一根I/O端口线的输入为低电平,则确认该端口有按键按下,再转该按键的处理程序。
一键多功能按键应用设计也是经常在我们身边应用到的,例如空调上的一些模式按钮。项目化教学过程中模拟了四种功能,在AT89S52单片机的P1端口接有四个发光二极管。上电的时候,接在P1.0管脚上的发光二极管D1在闪烁;当第一次按下按键的时候,接在P1.1管脚上的发光二极管D2在闪烁;再按下按键的时候,接在P1.2管脚上的发光二极管D3闪烁,再按下按键的时候,接在P1.3管脚上的发光二极管D4在闪烁,再按下按键的时候又轮到D1在闪烁了,如此轮流下去,电路图如图4所示。
对于要通过一个按键来识别每种不同的功能,设计思路是给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。
矩阵式键盘与独立式键盘每个按键都占用一个I/O口线不同,矩阵式按键的结构通常由m行n列组成,按键位于行、列的交叉点上,行线和列线分别连接到按键的两端,且行线通过上拉电阻接到+5V电源上。若使用按键较多时,采用矩阵式键盘特点是节省了单片机很多I/O端口资源。对于矩阵式按键教学设计采用常用的4×4结构,16个键分别对应O~9、A~F,对应的键按下在数码管显示相应的数字,电路图如图5所示。最常用的矩阵式键盘识别方法是编程扫描法。矩阵式键盘的教学难点一是要判断是否有键按下,二是要判断是那个键按下,得到相应的键码值,然后转向不同的功能程序。
(1)判断是否有键按下的方法
①向所有的列输出口线输出低电平(不能为高电平,因为若为高电平,按键按下与否都不会引起行线电平的变化),然后将行线的电平状态读入。
②若无键按下,所有的行线仍保持高电平状态;
③若有键按下,行线中至少应有一条线为低电平。
(2)按键识别的扫描方法
往列线上按顺序一列一列的送出低电平。
①先送第O列为低电平,其他列为高电平,读入的行的电平状态就表明了第O列的4个键的情况,若读入的行值全为高电平,则表示无键按下;
②再送第1列为低电平,其他列为高电平,读入的行的电平状态则显示了该行上的4个按键的情况;
③依次轮流给各列送出低电平,直至4列全部送完,再从第O列开始,依此循环。
中断矩阵式按键是在矩阵式按键的一个增强改进型设计,矩阵式按键无论是否按键,CPU都要一直扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入。因此,很多扫描工作是不必要的,浪费了CPU的时间。为了提高CPU的工作效率,可以采用中断扫描工作方式。当没有按键时,CPU工作自己的事情,当有按键时则通过中断处理方式申请中断处理,CPU转去执行键盘扫描函数。中断矩阵式按键电路相对于矩阵式按键电路来说只是添加一个与门电路连接到单片机的外部中断0(P3.0),电路图如图6所示。当键盘无键按下时,与门各输入端为高电平,保持输出端为高电平;当有按键按下时,与门输出为低电平,从而向CPU申请中断。
4 总结
本项目的教学实验设计采用的硬件仿真环境是proteus软件仿真,软件环境为KeilC51,易教易学。笔者通过在高职院校的实际教学中采用项目化教学方法,使同学们较轻松的掌握了基本键盘接口技术原理及应用编程,收到了较好的教学效果。
[1]王静霞.单片机应用技术[M].北京:电子工业出版社,2011.
[2]赵建领.51单片机开发与应用技术详解[M].北京:电子工业出版社,2009.
[3]赵亮.跟我学51单片机(四)——独立-矩阵键盘应用与设计[J].电子制作,2011,(4).
[4]陈铭.单片机矩阵式键盘的设计[J].工业控制计算机,2012,(1).
[5]曹彩萍,李钢.基于单片机的键盘接口的设计与实现[J].电脑知识与技术,2006,(11).
ON THE TEACHING DESIGN AND IMPLEMENTATION OF KEYBOARD INTERFACE TECHNOLOGY BASED ON PROJECT TECHING
TANG Min JIN Jing-quan
(Anhui Post and Telecommunication College,Hefei Anhui 230031)
The application system of single chip microcomputers often needs external equipment for data communication and the keyboard is commonly used as a necessary input equipment with strong versatility.This paper is aimed at providing easier methods for students to master the technology of keyboard interfaces by using the project-oriented teaching scheme from four aspects of separate button designs,multi-function button designs with one button,matrix button designs and interrupted matrix button designs.
application system of MCU;keyboard interfaces;separate button;matrix button
TP3-O
A
1672-2868(2014)06-0029-05
责任编辑:陈 侃
2014-09-09
唐敏(1976-),女,安徽巢湖人。安徽邮电职业技术学院计算机系,讲师,硕士。研究方向:嵌入式、物联网技术。