键盘设计与实现.ppt
《键盘设计与实现.ppt》由会员分享,可在线阅读,更多相关《键盘设计与实现.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、项目四项目四 键盘设计与实现键盘设计与实现单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现教学目的教学目的n掌握键盘的接口方法和编程方法掌握键盘的接口方法和编程方法掌握键盘的接口方法和编程方法掌握键盘的接口方法和编程方法 。n了解中断的基本概念和功能。了解中断的基本概念和功能。了解中断的基本概念和功能。了解中断的基本概念和功能。n掌握掌握掌握掌握5151单片机中断系统的结构和控制方式。单片机中断系统的结构和控制方式。单片机中断系统的结构和控制方式。单片机中断系统的结构和控制方式。n掌握中断系统的中断处理过程。
2、掌握中断系统的中断处理过程。掌握中断系统的中断处理过程。掌握中断系统的中断处理过程。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现模块九模块九 独立式键盘设计与实现独立式键盘设计与实现 n n使用使用使用使用AT89S52AT89S52单片机,设计一个具有单片机,设计一个具有单片机,设计一个具有单片机,设计一个具有8 8个按键的独立式键个按键的独立式键个按键的独立式键个按键的独立式键盘,每个按键对应一个发光二极管。功能要求:无键按下盘,每个按键对应一个发光二极管。功能要求:无键按下盘,每个按键对应一个发光二
3、极管。功能要求:无键按下盘,每个按键对应一个发光二极管。功能要求:无键按下时,键盘输出全为时,键盘输出全为时,键盘输出全为时,键盘输出全为“1”1”,发光二极管全部熄灭;有键按,发光二极管全部熄灭;有键按,发光二极管全部熄灭;有键按,发光二极管全部熄灭;有键按下时,其所对应发光二极管点亮。下时,其所对应发光二极管点亮。下时,其所对应发光二极管点亮。下时,其所对应发光二极管点亮。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现认识键盘认识键盘u键盘是键盘是键盘是键盘是单片机应用系统中人机交流不可缺少的单片机应用
4、系统中人机交流不可缺少的单片机应用系统中人机交流不可缺少的单片机应用系统中人机交流不可缺少的输输输输入设备入设备入设备入设备。u键盘由一组规则排列的按键组成,一个按键实际键盘由一组规则排列的按键组成,一个按键实际键盘由一组规则排列的按键组成,一个按键实际键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件。键盘通常使用上是一个开关元件。键盘通常使用上是一个开关元件。键盘通常使用上是一个开关元件。键盘通常使用机械触点式按机械触点式按机械触点式按机械触点式按键开关键开关键开关键开关,其主要功能是把机械上的通断转换为电,其主要功能是把机械上的通断转换为电,其主要功能是把机械上的通断转换为电,其
5、主要功能是把机械上的通断转换为电气上的逻辑关系气上的逻辑关系气上的逻辑关系气上的逻辑关系(1(1和和和和0)0)。u常见的种类有:常见的种类有:常见的种类有:常见的种类有:查询(独立)式键盘查询(独立)式键盘查询(独立)式键盘查询(独立)式键盘 矩阵式键盘矩阵式键盘矩阵式键盘矩阵式键盘 单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现键盘分类键盘分类 n按键按照结构原理可分为两类按键按照结构原理可分为两类按键按照结构原理可分为两类按键按照结构原理可分为两类n n触点式开关按键触点式开关按键触点式开关按键触点式
6、开关按键,如机械式开关、导电橡胶式开关等;,如机械式开关、导电橡胶式开关等;,如机械式开关、导电橡胶式开关等;,如机械式开关、导电橡胶式开关等;n n无触点开关按键无触点开关按键无触点开关按键无触点开关按键,如电气式按键,磁感应按键等。前,如电气式按键,磁感应按键等。前,如电气式按键,磁感应按键等。前,如电气式按键,磁感应按键等。前者造价低,后者寿命长。按键按照接口原理可分为两者造价低,后者寿命长。按键按照接口原理可分为两者造价低,后者寿命长。按键按照接口原理可分为两者造价低,后者寿命长。按键按照接口原理可分为两类类类类n按键按照接口原理可分为两类按键按照接口原理可分为两类按键按照接口原理可分
7、为两类按键按照接口原理可分为两类 n n编码键盘编码键盘编码键盘编码键盘,主要是用硬件来实现对按键的识别,硬件,主要是用硬件来实现对按键的识别,硬件,主要是用硬件来实现对按键的识别,硬件,主要是用硬件来实现对按键的识别,硬件结构复杂;结构复杂;结构复杂;结构复杂;n n非编码键盘非编码键盘非编码键盘非编码键盘,主要是由软件来实现按键的定义与识别,主要是由软件来实现按键的定义与识别,主要是由软件来实现按键的定义与识别,主要是由软件来实现按键的定义与识别,硬件结构简单,软件编程量大。硬件结构简单,软件编程量大。硬件结构简单,软件编程量大。硬件结构简单,软件编程量大。n这里我们主要介绍单片机中常用的
8、触点式开关按这里我们主要介绍单片机中常用的触点式开关按这里我们主要介绍单片机中常用的触点式开关按这里我们主要介绍单片机中常用的触点式开关按键、非编码键盘。键、非编码键盘。键、非编码键盘。键、非编码键盘。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现独立式独立式键盘电路键盘电路u独立式键盘电路设计时,每个按键的一端与独立式键盘电路设计时,每个按键的一端与独立式键盘电路设计时,每个按键的一端与独立式键盘电路设计时,每个按键的一端与P0P0口口口口的一个引脚相连,另一端接地。的一个引脚相连,另一端接地。的一个引脚
9、相连,另一端接地。的一个引脚相连,另一端接地。u无键按下时,无键按下时,无键按下时,无键按下时,P0P0的的的的8 8个个个个I/OI/O口均通过电阻接高电平,口均通过电阻接高电平,口均通过电阻接高电平,口均通过电阻接高电平,信息为信息为信息为信息为“1”1”,键盘输出全为,键盘输出全为,键盘输出全为,键盘输出全为“1”1”发光二极管全发光二极管全发光二极管全发光二极管全部熄灭。部熄灭。部熄灭。部熄灭。u有键按下,将使对应的有键按下,将使对应的有键按下,将使对应的有键按下,将使对应的I/OI/O口通过该键接地,信息口通过该键接地,信息口通过该键接地,信息口通过该键接地,信息为为为为“0”0”,
10、对应发光二极管点亮。,对应发光二极管点亮。,对应发光二极管点亮。,对应发光二极管点亮。uCPUCPU可以通过可以通过可以通过可以通过检测检测检测检测P0P0的的的的8 8个个个个I/OI/O口线哪个是口线哪个是口线哪个是口线哪个是“0”0”就可以识别是否有键按下就可以识别是否有键按下就可以识别是否有键按下就可以识别是否有键按下,并能识别出是哪一个,并能识别出是哪一个,并能识别出是哪一个,并能识别出是哪一个键按下。键按下。键按下。键按下。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现独立式独立式键盘程序键盘程
11、序u程序要判断是否有程序要判断是否有程序要判断是否有程序要判断是否有2 2个或个或个或个或2 2个以上的键盘同时按下,个以上的键盘同时按下,个以上的键盘同时按下,个以上的键盘同时按下,以免键盘分析错误。以免键盘分析错误。以免键盘分析错误。以免键盘分析错误。u独立式键盘程序独立式键盘程序独立式键盘程序独立式键盘程序u假设假设假设假设8 8个按键分别为个按键分别为个按键分别为个按键分别为1818,试一试能否用数码管显,试一试能否用数码管显,试一试能否用数码管显,试一试能否用数码管显示按下的按键。示按下的按键。示按下的按键。示按下的按键。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言
12、版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现键盘设计应注意的问题键盘设计应注意的问题uu机械式按键在按下或释放时,机械式按键在按下或释放时,机械式按键在按下或释放时,机械式按键在按下或释放时,由于机械弹性作用的影响,由于机械弹性作用的影响,由于机械弹性作用的影响,由于机械弹性作用的影响,通常伴随有一定时间的触点通常伴随有一定时间的触点通常伴随有一定时间的触点通常伴随有一定时间的触点机械抖动,然后其触点才稳机械抖动,然后其触点才稳机械抖动,然后其触点才稳机械抖动,然后其触点才稳定下来。定下来。定下来。定下来。uu其抖动过程如右图所示,抖其抖动过程如右图所示,抖其抖动过
13、程如右图所示,抖其抖动过程如右图所示,抖动时间的长短与开关的机械动时间的长短与开关的机械动时间的长短与开关的机械动时间的长短与开关的机械特性有关,一般为特性有关,一般为特性有关,一般为特性有关,一般为5 5 10ms10ms。uu若有抖动,按键按下会被错若有抖动,按键按下会被错若有抖动,按键按下会被错若有抖动,按键按下会被错误地认为是多次操作。误地认为是多次操作。误地认为是多次操作。误地认为是多次操作。按键触点的机械抖动单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现防抖动措施防抖动措施u为了克服按键触点机械
14、抖动所致的检测误判,必为了克服按键触点机械抖动所致的检测误判,必为了克服按键触点机械抖动所致的检测误判,必为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以须采取去抖动措施,可从硬件、软件两方面予以须采取去抖动措施,可从硬件、软件两方面予以须采取去抖动措施,可从硬件、软件两方面予以考虑。考虑。考虑。考虑。键数较少时,键数较少时,键数较少时,键数较少时,采用硬件去抖采用硬件去抖采用硬件去抖采用硬件去抖;键数较多时,键数较多时,键数较多时,键数较多时,采用软件去抖采用软件去抖采用软件去抖采用软件去抖。软件上采取的措施是在软件上采取的措施是在软件上采取的措施是在软件
15、上采取的措施是在检测到有按键按下检测到有按键按下检测到有按键按下检测到有按键按下时,时,时,时,执执执执行一个行一个行一个行一个10ms10ms左右左右左右左右(具体时间应视所使用的按键进具体时间应视所使用的按键进具体时间应视所使用的按键进具体时间应视所使用的按键进行调整行调整行调整行调整)的延时程序,再确认该键电平是否的延时程序,再确认该键电平是否的延时程序,再确认该键电平是否的延时程序,再确认该键电平是否仍保持仍保持仍保持仍保持闭合状态闭合状态闭合状态闭合状态电平,若仍保持闭合状态电平,电平,若仍保持闭合状态电平,电平,若仍保持闭合状态电平,电平,若仍保持闭合状态电平,则确认则确认则确认则
16、确认该键处于闭合状态,该键处于闭合状态,该键处于闭合状态,该键处于闭合状态,从而消除抖动的影响。从而消除抖动的影响。从而消除抖动的影响。从而消除抖动的影响。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现软件去抖软件去抖 n在检测到有按键按下时在检测到有按键按下时在检测到有按键按下时在检测到有按键按下时n n执行一个执行一个执行一个执行一个10ms10ms10ms10ms左右(具体时左右(具体时左右(具体时左右(具体时间应视所使用的按键进行调间应视所使用的按键进行调间应视所使用的按键进行调间应视所使用的按键进
17、行调整)的延时程序后;整)的延时程序后;整)的延时程序后;整)的延时程序后;n n再确认该键电平是否仍保持再确认该键电平是否仍保持再确认该键电平是否仍保持再确认该键电平是否仍保持闭合状态电平,若仍保持闭闭合状态电平,若仍保持闭闭合状态电平,若仍保持闭闭合状态电平,若仍保持闭合状态电平,则确认该键是合状态电平,则确认该键是合状态电平,则确认该键是合状态电平,则确认该键是处于闭合状态。处于闭合状态。处于闭合状态。处于闭合状态。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现技能训练技能训练4-1n一键多功能按键识
18、别设计与实现一键多功能按键识别设计与实现一键多功能按键识别设计与实现一键多功能按键识别设计与实现n n按键接在按键接在按键接在按键接在P3.0P3.0管脚上,在管脚上,在管脚上,在管脚上,在AT89S52AT89S52单片机的单片机的单片机的单片机的P1 P1 端口接有端口接有端口接有端口接有四个发光二极管。四个发光二极管。四个发光二极管。四个发光二极管。n n上电的时候,接在上电的时候,接在上电的时候,接在上电的时候,接在P1.0P1.0管脚上的发光二极管管脚上的发光二极管管脚上的发光二极管管脚上的发光二极管D1D1在闪烁;在闪烁;在闪烁;在闪烁;n n当第一次按下按键的时候,接在当第一次按
19、下按键的时候,接在当第一次按下按键的时候,接在当第一次按下按键的时候,接在P1.1 P1.1 管脚上的发光二极管脚上的发光二极管脚上的发光二极管脚上的发光二极管管管管D2D2在闪烁;在闪烁;在闪烁;在闪烁;n n再按下按键的时候,接在再按下按键的时候,接在再按下按键的时候,接在再按下按键的时候,接在P1.2 P1.2 管脚上的发光二极管管脚上的发光二极管管脚上的发光二极管管脚上的发光二极管D3D3在闪烁,再按下按键的时候,接在在闪烁,再按下按键的时候,接在在闪烁,再按下按键的时候,接在在闪烁,再按下按键的时候,接在P1.3 P1.3 管脚上的发光管脚上的发光管脚上的发光管脚上的发光二极管二极管
20、二极管二极管D4D4在闪烁,再按下按键的时候,又轮到在闪烁,再按下按键的时候,又轮到在闪烁,再按下按键的时候,又轮到在闪烁,再按下按键的时候,又轮到D1 D1 在闪在闪在闪在闪烁了,如此轮流下去。烁了,如此轮流下去。烁了,如此轮流下去。烁了,如此轮流下去。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现一键多功能按键识别电路设计一键多功能按键识别电路设计 单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现一键多功能按键识别程序
21、设计一键多功能按键识别程序设计 n n对于要通过一个按键来识别每种不同的功能,我们给对于要通过一个按键来识别每种不同的功能,我们给对于要通过一个按键来识别每种不同的功能,我们给对于要通过一个按键来识别每种不同的功能,我们给每个每个每个每个不同的功能模块用不同的不同的功能模块用不同的不同的功能模块用不同的不同的功能模块用不同的IDIDIDID号标识号标识号标识号标识,这样,每按下一次按,这样,每按下一次按,这样,每按下一次按,这样,每按下一次按键,键,键,键,ID ID ID ID 的值是不相同的,所以单片机就很容易识别不同的值是不相同的,所以单片机就很容易识别不同的值是不相同的,所以单片机就很
22、容易识别不同的值是不相同的,所以单片机就很容易识别不同功能的身份了。功能的身份了。功能的身份了。功能的身份了。n n从上面的要求我们可以看出,从上面的要求我们可以看出,从上面的要求我们可以看出,从上面的要求我们可以看出,D1D1D1D1到到到到D4D4D4D4发光二极管在每个时发光二极管在每个时发光二极管在每个时发光二极管在每个时刻的闪烁的时间是受按键来控制,我们给刻的闪烁的时间是受按键来控制,我们给刻的闪烁的时间是受按键来控制,我们给刻的闪烁的时间是受按键来控制,我们给D1D1D1D1到到到到D4D4D4D4闪烁的时闪烁的时闪烁的时闪烁的时段,定义出不同的段,定义出不同的段,定义出不同的段,
23、定义出不同的IDIDIDID号号号号:n nD1D1D1D1在闪烁时,在闪烁时,在闪烁时,在闪烁时,IDIDIDID0 0 0 0;n nD2D2D2D2在闪烁时,在闪烁时,在闪烁时,在闪烁时,IDIDIDID1 1 1 1;n nD3D3D3D3在闪烁时,在闪烁时,在闪烁时,在闪烁时,IDIDIDID2 2 2 2;n nD4D4D4D4在闪烁时,在闪烁时,在闪烁时,在闪烁时,IDIDIDID3 3 3 3;n n很显然,只要每次按下按键时,分别给出不同的很显然,只要每次按下按键时,分别给出不同的很显然,只要每次按下按键时,分别给出不同的很显然,只要每次按下按键时,分别给出不同的IDIDID
24、ID号我们号我们号我们号我们就能够完成上面的任务了。就能够完成上面的任务了。就能够完成上面的任务了。就能够完成上面的任务了。n n一键多功能按键识别程序一键多功能按键识别程序一键多功能按键识别程序一键多功能按键识别程序单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项目项目四四 键盘设计与实现键盘设计与实现矩阵式键盘设计与实现矩阵式键盘设计与实现u4X44X4小键盘,小键盘,小键盘,小键盘,1616个键分别对应个键分别对应个键分别对应个键分别对应0909、AFAF;u有键按下,数码管显示;有键按下,数码管显示;有键按下,数码管显示;有键按下,数码管显
25、示;u无键按下,数码管无显示;无键按下,数码管无显示;无键按下,数码管无显示;无键按下,数码管无显示;u通过输出的列码和读取的行码来判断按下什么键;通过输出的列码和读取的行码来判断按下什么键;通过输出的列码和读取的行码来判断按下什么键;通过输出的列码和读取的行码来判断按下什么键;u有键按下,要有一定的延时,防止由于键盘抖动有键按下,要有一定的延时,防止由于键盘抖动有键按下,要有一定的延时,防止由于键盘抖动有键按下,要有一定的延时,防止由于键盘抖动而引起误操作。而引起误操作。而引起误操作。而引起误操作。单片机应用技术项目教程(单片机应用技术项目教程(C语言版)语言版)计算机科学系计算机科学系 项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 键盘 设计 实现
限制150内