文档介绍:第 4 卷第 1 期浙江树人大学学报 Vol. 4 ,No. 1
2004 年 1 月 JOURNAL OF ZHEJIANG SHUREN UNIVERSITY Jan. 2004
基于单片机的硬件编码键盘控制及
显示器接口电路设计
唐颖1 阮文海2
(1. 浙江树人大学信息科技学院,浙江杭州 310015 ; 2. 浙江树人大学生物与环境工程学院,浙江杭州 310015)
摘要:本文主要介绍编码键盘接口芯片 74922 与单片机 AT89C51 及相关译码器构成多键盘、多位数显
示接口电路(以 4 × 4 键盘,8 位数显示接口为例) 。本电路克服了以往并行接口设计中占用较多 I/ O 口
且键盘控制编程较繁的缺点,在构成多按键和多数字显示的较大规模单片机应用系统中有参考和实用
价值。
关键词:单片机;编码键盘;LED 显示;非总线结构
中图分类号:TP368 ;TP334. 7 文献标识码:A 文章编号:1671 - 2714(2004) 01 - 0079 - 03
抖动,从而可使设计者免除一部分软件编程。
74922 芯片有 16 键 IC 和 20 键 IC ,图 1 所示为 4 × 4(16
引言
0 键) 扫描式编码键盘原理图。
键盘、显示接口是单片机应用系统中最常用的基本接
口电路。因单片机自身体积小,引脚少,在设计单片机系
统时,如系统所需的按键较多,需显示的十进制位数较多,
单片机自身的引脚不够用,并且此时串行口又要用作它用
时,在以往的设计中,往往以总线方式外接 8255 或 8155 芯
片,以便扩展并行口。这种方法因使用的芯片的体积大,
引脚多,而使硬件系统较为庞大。另一种方法是将键盘和
显示接口直接与单片机的 I/ O 引脚相接,但这种方法将占
用较多有限的 I/ O 口。为了使有限的 I/ O 口用于实现更
多的系统功能,同时系统的硬件设计和软件设计尽可能简
洁,我们在单片机多键盘、多位数显示接口的应用系统设
图 1 扫描式编码键盘
计电路中选用了片内有存储器的单
, 4KB Flash AT89C51 这种键盘的按键排成矩阵形式,以减少按键联线。如
片机接口采用非总线结构。在显示部分通过译码器控制
, 图中有 16 个键,排列成 4 行 4 列,仅需 8 根引线。时钟发
段码和位线尽量减少口的使用。在键盘部分键盘
, I/ O , 生器的输出送给 4 位计数器进行计数,计数器的低 2 位经
的扫描交给集成芯片来完成使减轻用软件去
74922 , CPU 译码后作为行扫描,高 2 位经译码后作为列扫描。若没有
扫描键盘的负担提高的利用率较好地完成了设计
, CPU , 检出有键闭合,则计数器周而复始反复计数,即反复进行
任务。
扫描,一旦检出有键闭合,就发出一个脉冲使时钟振荡器
停振计数器随即停止计数。单片机通过读取计数器的计
1 74922 芯片内部结构、原理,
数值来获取闭合键所在的行列位置,然后从 ROM 中查表
74922 芯片是专用编码键盘接口芯片,当按下某一按得到按键读数。如果有两个键同时按下,则扫描到第一个
键时,该芯片能自动给出相应的编码信息,并可自动消除闭合键时就停