资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,JX44B0,实验系统教案键盘输入与,IO,实验,武汉创维特信息技术有限公司,11/14/2026,提纲,1,3,2,4,5,基础知识,实验目的,实验内容,预备知识,实验设备,6,实验过程,7,实验报告要求,2,一 实验目的,实验目的,学习键盘驱动原理,掌握通过,CPU,的,I/O,扩展键盘的方法,3,二 实验内容,实验内容,编写矩阵键盘扫描程序,并将按键键值在数码管中显示,4,三 预备知识,预备知识,了解,ADT,集成开发环境的基本功能;,了解键盘的构成以及原理,5,四 实验设备,实验设备,JX44B0,教学实验箱,ADT1000,仿真器和,ADT IDE,集成开发环境,串口连接线,6,五 基础知识,键盘实现方案,键盘实现方案,采用专门的芯片实现键盘扫描,采用软件实现键盘扫描,软键盘实现方案,当开关打开时,通过处理器的,I/O,口的一个上拉电阻提供逻辑1;当开关闭合时,处理器的,I/O,口的输入将被拉低到逻辑0。,7,五 基础知识,矩阵键盘电路,一个瞬时接触开关(按钮)放置在每一行与每一列的交叉点。每一行由一个输出端口的一位驱动,每一列由一个电阻器上拉且供给输入端口一位。,8,五 基础知识,按键抖动,开关并不完善,因为当它们被按下或者被释放时,并不能够产生一个明确的1或者0。尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。当触点闭合时,其弹起就像一个球。弹起效果将产生如下图所示的好几个脉冲。弹起的持续时间通常将维持在5,ms30ms,之间。,9,五 基础知识,键盘扫描,键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下,一旦处理器判定有一个键按下,键盘扫描软件将过滤掉抖动并且判定哪个键被按下,每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应该采取什么行动,换句话说,扫描码将告诉应用程序按下哪个键,10,五 基础知识,键盘扫描算法,初始化:所有的行(输出端口)被强行设置为低电平,在没有任何键按下时,所有的列(输入端口)将读到高电平。,任何键的闭合将造成其中的一列变为低电平。,一旦检测到有键被按下,就需要找出是哪一个键。过程很简单,微处理器只需在其中一列上输出一个低电平。如果它在输入端口上发现一个0值,微处理器就知道在所选择行上产生了键的闭合,11,五 基础知识,JX44B0,的键盘模块,JX44B0,具有44的软键盘。原理图如下:,12,五 基础知识,实验说明,键盘处理流程图,依次将键盘的每一行输出低电平,延时一段时间,然后获取该行中各列的输入情况,如果各列全部为1则继续查询下一行,否则延时一段时间并重新扫描一次,如果扫描结果与上次扫描结果相同则调用,key_get_char,获取键码,然后调用,display_num,在,LED,上显示相应键值。,图中通过如下程序将键盘的,row,行输出低电平:,unsigned char*keyboard_port=(unsigned char*)0 x2000000;,*keyboard_port=(0 x00000001 row);,13,六 实验过程,实验过程,14,六 实验报告要求,实验报告要求,键盘扫描有哪几种方式,分别说明其基本原理;,思考使用中断方式如何处理键盘输入,试画出流程图。,15,
展开阅读全文