为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

一种用N_1个I_O口实现的N_N矩阵式键盘

2010-11-17 3页 pdf 449KB 129阅读

用户头像

is_061926

暂无简介

举报
一种用N_1个I_O口实现的N_N矩阵式键盘 一种用 N+1 个 110 口实现的 . X N矩阵式锥盘 . 北京航空航天大学 张雪峰 李荣源 袁海文 引 言 随着微机系统应用领域的扩大 , 操作人员与微机 系统需要交流的信息越来越多 , 用来交流的手段和途 径也更为灵活多样 ; 而键盘输入作为最常用的输入设 备仍有其不可替代的作用 。 因此 , 探讨一些键盘的 特殊结构 , 用尽可能少的输入输出端 口实现较多数量 的按键数仍具有重要的应用价值 。 有些特殊情况下 , 在组成一个最小的单片机系统 的过程中 , 由于通用的 1/ 0 口有限 , 而又需要大量的 按键...
一种用N_1个I_O口实现的N_N矩阵式键盘
一种用 N+1 个 110 口实现的 . X N矩阵式锥盘 . 北京航空航天大学 张雪峰 李荣源 袁海文 引 言 随着微机系统应用领域的扩大 , 操作人员与微机 系统需要交流的信息越来越多 , 用来交流的手段和途 径也更为灵活多样 ; 而键盘输入作为最常用的输入设 备仍有其不可替代的作用 。 因此 , 探讨一些键盘的 特殊结构 , 用尽可能少的输入输出端 口实现较多数量 的按键数仍具有重要的应用价值 。 有些特殊情况下 , 在组成一个最小的单片机系统 的过程中 , 由于通用的 1/ 0 口有限 , 而又需要大量的 按键输入 , 这就要求一种新的键盘结构 , 即用尽量 少的 1/ 0 口实现尽可能多的键盘输入 。 本文将从硬件和软件两个方面介绍一种用 N + 1 个 1/ 0 口实现 N x N 矩阵式键盘的方法 ( 为了与传统键 盘区 分 , 以下 简称新型键盘 ) 。 首先 , 对传统键盘 作一个简单的介绍 。 少与微机接 口的连线数 , 简化结构 , 是一般微机常 用的键盘结构 。 根据矩阵键盘的识键和译键方法的不 同 , 矩阵键盘又可 以分为非编码键盘和编码键盘两 不中 。 令 非编码键盘 非编码键盘主要用软件的方法识键和译键 。 根据 扫描方法的不同 , 可以分为行扫描法 、 列扫描法和 反转法三种 。 令 编码键盘 编码键盘主要用硬件来实现键的扫描和识别 , 通 常使用 8 2 7 9 专用接 口 芯片 , 在硬件上要求较高 。 二 、 新型键盘的硬件和软件实现原理 一 、 传统键盘的介绍川 经过分析 , 实际上用 N +l 个 1/ 0 口 , 辅以适当的 接 口电路 , 是可 以实现 N x N 个按键的 。 现以 6 个 端 口实现 5 x s 的按键为例来叙述 。 1 . 硬件实现 图 1 所示为用 6 个 1/ 0 口来实现 2 5 个按键的示意 键盘的结构通常有两种形式 : 线性键盘和矩阵键 盘 。 在不同的场合下 , 这两种键盘均得到 了广泛的 应用 。 线性键盘由若干个独立的按键组成 , 每个按键的 一端与微机的一个 1/ 0 口相连 。 有多少个键就要有多 少根连线与微机的 1/ 0 口相连 , 因此 , 只适用于按键 少的场合 。 矩阵键盘的按键按 N 行 M 列排列 , 每个按键占 据行列的一个交点 , 需要的 1/ 0 口数目是 N + M , 容 许的最大按键数是 N x M 。 显然 , 矩阵键盘可以减 lllllllllllllllllll 回回口回 口囚囚囚囚囚囚囚囚 p o r t 6 (中断 ))) 国国国口国口口 , 月 口,,, P o r t sss 囚囚国回 回国国 洲d 、‘‘‘ P o r t4 M C UUU 口口回囚口口口口口口口口口 P o r t 333 ,,, 呀 户,,, p o r t ZZZ ~~~~~ d 、‘‘‘ p o r t lll,,, 阅 户尸尸尸尸 曰曰曰‘ 加‘‘‘‘ ,,,,,,,, 阅 户尸尸尸尸 国国国囚囚回回 ‘d 、‘‘‘‘ 黯黯黯 图 1 6个 l / O口实现的 5 X 5按键矩阵的示意图 国口. . M i c r。。。一 & Emb e dd e d Sy s t e m s 3 1 ~ 旦旦。l歹歹’ 杯杯找找’ 仁仁 (仃仃入入月_ S ‘‘ ’甲甲 !??? ’??? ’甲甲’’???????????冈冈初初初初初 : 拣拣___ DZ I川 1 ’丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫丫 ’???置置置J歹歹’ (勺勺’ 林林{挤挤挤,,,亨666 ’??? ’???????闪闪布布布 ’ JJJ ... {郭郭DDD3 1川 l ’丫丫丫丫丫丫丫丫丫丫丫 .....登登登{郭郭{郭郭{不不’ {织织织闪闪骊骊骊 (纤纤’ (箕箕{事事___ D4 )川 l ’丫丫丫丫丫丫丫 ’??? ’?????翼翼翼 J厂厂’ (氮氮氮氮氮玉玉玉畔畔 ’????????? 2 ) 共需要 1 0 只 二极管 、 12 只 电阻和 1 只三极管 。 10 只二极管 按其在电路中所起的作用可分为 两组 : 第一组包括 D 6 、 D 7 、 D S 、 D g 和 D 10 , 用于保证按键 信息的单一流向 ; 第二组包括 D I 、 D Z 、 D 3 、 D 4 和 D S , 它 们在电路上对 N P N 三极管的基 极构成 “或 ” 的逻辑关系 , 对 单 片 机 进 行 初 始 化 。 除 了 P O R T 6 (其要求具有 中断功 能 ) 以外 , 其余的 1/ 0 口均被 置 成高电平 , 这样当有键按下 时 , 三极管的基极 由低变高 , 三极管导通 ; 集电极由高电平 跳变成低电平 , 向单片机发出 中断信号 , 从而启动键盘扫描 程 序 。 2 . 软件实现 图 2 用 6 个 1/ 0 口实现 5 x s 键盘矩阵的原理图 按键的识别主要靠软件来实 现 , 需要编写键盘扫描程序 。 ( 1 ) 键盘扫描原理 为了更好地键盘扫描的 过程 , 假设编号为 51 2 的键 (见 图 2 ) 被按下 , 扫描程序 己经 启动 , 扫描的具体过程如 l 所 列 。 图 。 具体的物理实现电路如 图 2 所示 。 由图 1 和图 2 可见 , 硬件部分分为两块 : 一块是 普通键盘矩阵 , 另外一块是中断和接 口电路 , 主要 由相应数目的二极管和 电阻组成 。 具体对 6 个 1/ 0 口 的情况 , 实现 5 x s 的按键矩阵的中断和接 口电路 ( 图 ( 2 ) 键盘扫描程序的 在启动键盘扫描程序以前首先要对 C P U 进行初始 化 ( 主要是对所使用的中断进行初始化 ) 。 假设 已 经有键按下 , 并引发了相应的中断服务程序 ( 即键 盘扫描程序 ) , 其流程图如图 3 所示 。 PPP lll P 222 P 333 P444 P 555 P 666 说 明明 OOO HHH III III III III III PO RT I 被置成高电平输出 , 其他端 口作为输入入 HHHHH LLL LLL LLL LLL HHH 读入各端口 的值 , 为 10 (XM) 1 , 与编码表进行比较 , 经判断没有有 键键键键键键键键按下 , 继续下一步步 IIIII OHHH III III III III PO RT Z 被置成高电平输出 , 其他端口作为输入入 LLLLL HHH HHH LLL LLL LLL PORT Z 和 PO RT 3 与 51 2 市市目连 , 此时均为高电平 , 读入各端口 的的值值值值值值值值为 01 100 0 , 与编码表比{{{佼 , 可以判断有键按下并且键值唯一一 P 一 PO RT O一输出 1一输入 H 一高电平 L 一低电平 3 2 牟寸‘J 畏入石垂悦未 . 画画. . . 技技术综述述 扫描程序启动 令 该方法还 可以用 于需要大 量开关量测量的场 合 。 鹅 : 将PO R T I 一 6设置成 I/ 0 口 参考文献 M O T O R OL A I n e . M i n im u m l / 0 t o M a t r i x K e y 将P OR TI 设置成输出 , 其余端 口 作为输入 b o a r d w it h D r a g o n B a l lTM E z 3 2 s . 19 96 读入各端 口状态 2 刘乐善 , 叶济忠 , 叶永坚 . 微型计算机接 口 技 术原理及应用 . 湖北 : 华中理工大学出版社 , 1 9 9 6 丽薰瘫蒸牙 到肠 领先 的 嵌人式网绪系统 供应商 读入各端 口状态 是否为第二行按键 土N 记录键值 将P OR T3 设置成输出 , 其余端口作为输入 撼摺软硬 件 研 发 工 程 师 读入各端 口状态 有责任感 , 有 良好的 是否为第三行按键 I N 记录键值 卜 工作踏实认真 , 工作习惯 , 善于交流 , 有合作精神 将P O RT4 设置成输出 , 其余端 口作为输入 读入各端 口状态 卜 计算机 、 电子 、 通信专业本科以上学历 , 研究生优先 ; 英语读写流利 , 有项 目开发经 验者优先 是否为第四行按键 记录键值 将P ORTS 设置成输出 , 其余端 口作为输入 读入各端 口状态 卜 硬件工程师要求 : 精通逻辑 , 至少 熟悉一种 p CB 布线工具 , 具有 8 位 , 16 位或 3 2 位单片机开发经验 , 对一种 3 2 位处理器 有较深入的了解 ; 精通一种汇编语言 , 能熟 练使用 C语言编程 是否为第五行按键 l N 记录键值 将PO R T 6置 为中断 口 , 其余为高电平输出 卜 软件工程师要求 : 熟悉操作系统原理 , 计算机原理 , 有一定的硬件知识 , 精通 W i n 一 d o w s 编程技术 , 能熟练使用 C 语言编程 , 熟 悉 W i n C E 者优先 重新设乱 PU的中断 , 等待键盘中断} 图3 键盘扫描程序流程图 落犀岁何 成必乎台 结束语 令 在 1/ 0 口数量有限的情况下 , 用该方法可以实 多的按键输入 ;现尽可 能 倒哑. . . M , c r o c o n t r o x.e 「s & E m b e dd e d Sy s t e m 、 3 3
/
本文档为【一种用N_1个I_O口实现的N_N矩阵式键盘】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索