基于单片机的硬件编码键盘控制及显示器接口电路设计
收藏
资源目录
压缩包内文档预览:
编号:512544
类型:共享资源
大小:149.47KB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
基于单片机的硬件编码键盘控制及显示器接口电路设计,毕业设计
- 内容简介:
-
第 4 卷第 1 期2004 年 1 月浙江树人大学学报JOURNAL OF ZHEJ IANG SHUREN UNIVERSITYVol. 4 ,No. 1Jan. 2004收稿日期 :2003 - 06 - 23作者简介 :唐颖 (1955 - ) ,女 ,上海人 ,副教授 ,电子设计自动化、单片机等教学与研究 ;阮文海 (1955 - ) ,男 ,浙江温岭人 ,副教授 .基于单片机的硬件编码键盘控制及显示器接口电路设计唐颖 1 阮文海 2(1. 浙江树人大学 信息科技学院 ,浙江 杭州 310015 ; 2.浙江树人大学 生物与环境工程学院 ,浙江 杭州 310015)摘 要 :本文主要介绍编码键盘接口芯片 74922 与单片机 AT89C51 及相关译码器构成多键盘、多位数显示接口电路 (以 4 4 键盘 ,8 位数显示接口为例 ) 。本电路克服了以往并行接口设计中占用较多 I/ O 口且键盘控制编程较繁的缺点 ,在构成多按键和多数字显示的较大规模单片机应用系统中有参考和实用价值。关键词 :单片机 ;编码键盘 ;LED 显示 ;非总线结构中图分类号 :TP368 ;TP334. 7 文献标识码 :A 文章编号 :1671 - 2714(2004) 01 - 0079 - 030 引 言键盘 、显示接口是单片机应用系统中最常用的基本接口电路。因单片机自身体积小 ,引脚少 ,在设计单片机系统时 ,如系统所需的按键较多 ,需显示的十进制位数较多 ,单片机自身的引脚不够用 ,并且此时串行口又要用作它用时 ,在以往的设计中 ,往往以总线方式外接 8255 或 8155 芯片 ,以便扩展并行口。这种方法因使用的芯片的体积大 ,引脚多 ,而使硬件系统较为庞大。另一种方法是将键盘和显示接口直接与单片机的 I/ O 引脚相接 ,但这种方法将占用较多有限的 I/ O 口。为了使有限的 I/ O 口用于实现更多的系统功能 ,同时系统的硬件设计和软件设计尽可能简洁 ,我们在单片机多键盘、多位数显示接口的应用系统设计电路中 ,选用了片内有 4KB Flash 存储器的 AT89C51 单片机 ,接口采用非总线结构。在显示部分通过译码器控制段码和位线 ,尽量减少 I/ O 口的使用。在键盘部分 ,键盘的扫描交给 74922 集成芯片来完成 ,使 CPU 减轻用软件去扫描键盘的负担 ,提高 CPU 的利用率 ,较好地完成了设计任务。1 74922 芯片内部结构 、原理74922 芯片是专用编码键盘接口芯片 ,当按下某一按键时 ,该芯片能自动给出相应的编码信息 ,并可自动消除抖动 ,从而可使设计者免除一部分软件编程。74922 芯片有 16 键 IC和 20 键 IC ,图 1 所示为 4 4 (16键 )扫描式编码键盘原理图。图 1 扫描式编码键盘这种键盘的按键排成矩阵形式 ,以减少按键联线。如图中有 16 个键 ,排列成 4 行 4 列 ,仅需 8 根引线。时钟发生器的输出送给 4 位计数器进行计数 ,计数器的低 2 位经译码后作为行扫描 ,高 2 位经译码后作为列扫描。若没有检出有键闭合 ,则计数器周而复始反复计数 ,即反复进行扫描 ,一旦检出有键闭合 ,就发出一个脉冲使时钟振荡器停振 ,计数器随即停止计数。单片机通过读取计数器的计数值来获取闭合键所在的行列位置 ,然后从 ROM 中查表得到按键读数。如果有两个键同时按下 ,则扫描到第一个闭合键时就停止扫描 ,把该键当作有效按键进行处理。nts74922 芯片 (16 键 IC)的引脚排列如图 2 所示 :X1 X4 :列线。Y1 Y4 :行线。OSC :接振荡电容 0. 1 ,以便扫描矩阵键盘KM:键盘消除抖动电路 ,并发出两 种信号 (1) 内部计数器停止计数。 (2)若有键按下 ,使 DA 脚由未按键时的低电平变为高电平 ,若按键未放开则一直保持高电平 ,当按键放开时 ,才转为低电平。此引脚外接一个电容是 OSC 所接电容的 10 倍。图 2 74922(16 键 )引脚排列图DA :数据有效信号。若无键按下 ,保持低电平。若有键按下 ,变为高电平 ,直到键放开 ,才转为低电平。/ OE:输出使能。D A :按键值输出 ,按 BCD 码输出。2 电路设计思想在设计单片机系统时 ,为了实现系统所需的多按键 ,多位十进制数显示的和节约 I/ O 口资源 ,简化硬件电路要求 ,在串行口被用于其它用途的情况下 ,我们选用了一种新型的键盘、显示接口电路。其设计思想为 :在显示部分 :用 7 根 I/ O 线通过七段译码器 (7447)和 3 - 8 线译码器 (74LS138) 外接了 8 个 LED数码管即可完成动态显示。其中 ,段码采用硬件译码 ,单片机读到的键盘值送到 P0 口的低 4 位 ,经 7447 七段译码器译成段码送数码管。而位线由 P0 口的 P0. 4 P0. 6三位经74LS138 译码器控制。在键盘部分 :键盘扫描由 74922 芯片来完成。设计中用了 5 个 I/ O 线于 74922 芯片相接。其中4 根 I/ O 线 (P1. 0 P1. 3)接 74922 的 A、 B、 C、 D 引脚 ,向单片机传送键值的 BCD 码。 P1. 4接 74922 的 DA 引脚 ,作为是否有键按下和按键是否放开的识别端。程序中只要检测 DA脚由低电平 高电平 (有键按下 ) 、高电平 低电平 (键放开 ) , 就将 74922 的 D、 C、 B、 A (键值的 BCD 码 ) 读入AT89C51。这个键值再由 P0 口的低 4 位送给七段译码器7447 ,硬件译码后的段码送给数码管显示。使得键盘控制程序相当简单 ,减轻了 CPU 用软件去扫描键盘 ,读取键值的负担 ,从而提高了 CPU 的利用率。3 硬件电路设计键盘 、显示硬件电路如图 3 所示。图 3 键盘、显示接口电路本电路的特点是 :不采用通常的总线接口方式 ,而是采用了非总线结构。其优点在于减少了扩展 I/ O 口部分的芯片使用 ,用单片机的 I/ O 线直接与外部芯片连接 ,使得硬件设计和软件编程相对简单。同时在外部芯片的选用中 ,采用硬件译码和硬件编码键盘控制芯片 ,实现了用尽可能少的 I/ O 线设计出尽可能大的键盘显示接口电路。电路中 ,在 4 4 键盘中每个按键的值是固定的 ,具体位置如图 4 所示 ,所以编程时只要建立一个 TABLE 表 ,就可根据需要设计各种键盘。图 4 键盘值示意图4 程序设计应用实例设显示器缓冲区为 40H 47H 单元 ,起始时均已清零。每次按键后读取的键值 ,放在 40H 单元 ,而原 40H 单元的内容 (即前一次按键得值 ) 移到 41H 单元 ,以此类推。显示子程序对 47H 40H 单元的内容进行动态显示。由此得出针对该硬件电路的键盘显示程序。START:JB P1. 4 , KEY ;检测 74922 的 DA 脚 = 1 ?,DA = 1 ,表示有键按下AJMP DISP ;调用显示子程序SJMP STARTKEY:JB P1. 4 , ;按键放开否 ?MOV A ,P1 ;已放开 ,则读入 74922 的按键值ANL A , # 0FH ;取低 4 位 (74922 的 A D)MOV DPTR , # TABLE ;到 TABLE表中取码MOVC A , A + DPTRXCH A ,40H ;现按键值存入 (40H)XCH A ,41H ;旧 (40H)值存入 (41H)XCH A ,42H ;旧 (41H)值存入 (42H)XCH A ,43H ;旧 (42H)值存入 (43H)XCH A ,44H ;旧 (43H)值存入 (44H)XCH A ,45H ;旧 (44H)值存入 (45H)08 浙江树人大学学报 2004 年ntsXCH A ,46H ;旧 (45H)值存入 (46H)XCH A ,47H ;旧 (46H)值存入 (47H)ACALL DISP ;调用扫描子程序AJMP STARTDISP :MOV A ,47H ; (47H)显示器 D8 地址ADD A , # 70H ;D8 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D8ACALL TIME;扫描延时MOV A ,46H ; (46H)显示器 D7 地址ADD A , # 60H ;D7 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D7ACALL TIME;扫描延时MOV A ,45H ; (45H)显示器 D6 地址ADD A , # 50H ;D6 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D6ACALL TIME;扫描延时MOV A ,44H ; (44H)显示器 D5 地址ADD A , # 40H ;D5 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D5ACALL TIME;扫描延时MOV A ,43H ; (43H)显示器 D4 地址ADD A , # 30H ;D4 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D4ACALL TIME;扫描延时MOV A ,42H ; (42H)显示器 D3 地址 ADD A , # 20H ;D3 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D3ACALL TIME;扫描延时MOV A ,41H ; (47H)显示器 D2 地址ADD A , # 10H ;D2 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D2ACALL TIME;扫描延时MOV A ,40H ; (40H)显示器 D1 地址ADD A , # 00H ;D1 数据值加上 74LS138 位扫描值MOV P0 ,A ;显示 D1ACALL TIME;扫描延时RETTABLE:DB 00H ,01H ,02H ,03H ;键盘码。DB 04H ,05H ,06H ,07HDB 08H ,09H ,0AH ,0BHDB 0CH ,0DH ,0EH ,0FHEND5 结 论单片机硬件编码键盘控制及显示器接口电路 ,为非总线接口方式。适用于多位数字显示、键盘数量较大且 I/ O 紧缺的单片机系统设计。能较好的解决较大规模的键盘、显示接口占用大量并行 I/ O 口的问题 ,避免了编写键盘扫描、读键值等繁琐程序 ,使编程简单 ,程序简明直观。同时 ,根据用户对键盘位置的要求 ,只要改变 TABLE 表就可任意设计所需要的键盘 ,不用对程序进行改动 ,用起来很方便。可广泛用于单片机的各种测量和检测等应用系统。参考文献 :1 徐爱军 . 智能化测量控制仪表原理与设计 M .北京 :北京航空航天大学出版社 ,1999.2 吴金戍 ,等 . 8051 单片机实践与应用 M .北京 :清华大学出版社 ,2002.3 余永权 . Flash 单片机原理及应用 M .北京 :电子工业出版社 ,1997.The Design of the Hardware Coding KeyboardControl and Display System Based on MicroprocessorTANG Ying & RUAN Wenhai(1. Information Science & Technology College , Zhejiang Shuren University , Hangzhou , Zhejiang , 310015 , China ;2. Biology & Environment Engineering College , Zhejiang Shuren University , Hangzhou , Zhejiang , 310015 , China)Abstract :This article introduces 4 4 keyboard and 8 LED display interface circuit constituted by coding keyboard interface chip 74922 ,microprocessor AT89c51 and decoder. This circuit overcomes the shortcomings in many I/ O interfaces and the complicated keyboardcontrol program in abreast interface design used b
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。