欢迎来到天天文库
浏览记录
ID:35612294
大小:436.50 KB
页数:60页
时间:2019-04-01
《单片机应用技术项目教程(C语言版)-项目四 键盘设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、项目四键盘设计与实现教学目的掌握键盘的接口方法和编程方法。了解中断的基本概念和功能。掌握51单片机中断系统的结构和控制方式。掌握中断系统的中断处理过程。模块九独立式键盘设计与实现使用AT89S52单片机,设计一个具有8个按键的独立式键盘,每个按键对应一个发光二极管。功能要求:无键按下时,键盘输出全为“1”,发光二极管全部熄灭;有键按下时,其所对应发光二极管点亮................认识键盘键盘是单片机应用系统中人机交流不可缺少的输入设备。键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件。键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换为电气上的逻辑关系
2、(1和0)。常见的种类有:查询(独立)式键盘矩阵式键盘键盘分类按键按照结构原理可分为两类触点式开关按键,如机械式开关、导电橡胶式开关等;无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。按键按照接口原理可分为两类按键按照接口原理可分为两类编码键盘,主要是用硬件来实现对按键的识别,硬件结构复杂;非编码键盘,主要是由软件来实现按键的定义与识别,硬件结构简单,软件编程量大。这里我们主要介绍单片机中常用的触点式开关按键、非编码键盘。独立式键盘电路独立式键盘电路设计时,每个按键的一端与P0口的一个引脚相连,另一端接地。无键按下时,P0的8个I/O口均通过电阻接高电平,信息为“1
3、”,键盘输出全为“1”发光二极管全部熄灭。有键按下,将使对应的I/O口通过该键接地,信息为“0”,对应发光二极管点亮。CPU可以通过检测P0的8个I/O口线哪个是“0”就可以识别是否有键按下,并能识别出是哪一个键按下。独立式键盘程序程序要判断是否有2个或2个以上的键盘同时按下,以免键盘分析错误。独立式键盘程序假设8个按键分别为1~8,试一试能否用数码管显示按下的按键。键盘设计应注意的问题机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如右图所示,抖动时间的长短与开关的机械特性有关,一般为510ms。若有抖动,按键按下
4、会被错误地认为是多次操作。按键触点的机械抖动防抖动措施为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。键数较少时,采用硬件去抖;键数较多时,采用软件去抖。软件上采取的措施是在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而消除抖动的影响。软件去抖在检测到有按键按下时执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后;再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键是处于闭合状态。
5、技能训练4-1一键多功能按键识别设计与实现按键接在P3.0管脚上,在AT89S52单片机的P1端口接有四个发光二极管。上电的时候,接在P1.0管脚上的发光二极管D1在闪烁;当第一次按下按键的时候,接在P1.1管脚上的发光二极管D2在闪烁;再按下按键的时候,接在P1.2管脚上的发光二极管D3在闪烁,再按下按键的时候,接在P1.3管脚上的发光二极管D4在闪烁,再按下按键的时候,又轮到D1在闪烁了,如此轮流下去。一键多功能按键识别电路设计一键多功能按键识别程序设计对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以
6、单片机就很容易识别不同功能的身份了。从上面的要求我们可以看出,D1到D4发光二极管在每个时刻的闪烁的时间是受按键来控制,我们给D1到D4闪烁的时段,定义出不同的ID号:D1在闪烁时,ID=0;D2在闪烁时,ID=1;D3在闪烁时,ID=2;D4在闪烁时,ID=3;很显然,只要每次按下按键时,分别给出不同的ID号我们就能够完成上面的任务了。一键多功能按键识别程序矩阵式键盘设计与实现4X4小键盘,16个键分别对应0~9、A~F;有键按下,数码管显示;无键按下,数码管无显示;通过输出的列码和读取的行码来判断按下什么键;有键按下,要有一定的延时,防止由于键盘抖动而引起误操作。矩阵式键盘电路键盘
7、的结构与原理矩阵式键盘单片机系统中,若使用按键较多时,通常采用矩阵式键盘,其结构如下图所示。由图可知,一个4×4的行、列结构,可以构成一个含有16个按键的键盘,节省了很多I/O口。控制方式:先判断是否有键按下。如有,再判断哪一键按下,并得到键码值,然后根据键码值转向不同的功能程序。最常用的识别方法是键盘扫描法。判断按键按下的方法判断是否有键按下的方法是:向所有的列输出口线输出低电平(不能为高电平,因为若为高电平,按键按下与否都不会引起行线电平的
此文档下载收益归作者所有