基于单片机的硬件编码键盘控制及显示器接口电路设计.pdf_第1页
基于单片机的硬件编码键盘控制及显示器接口电路设计.pdf_第2页
基于单片机的硬件编码键盘控制及显示器接口电路设计.pdf_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4卷第1期2004年1月浙江树人大学学报JOURNALOFZHEJIANGSHURENUNIVERSITYVol.4,No.1Jan.2004收稿日期:2003-06-23作者简介:唐颖(1955-),女,上海人,副教授,电子设计自动化、单片机等教学与研究;阮文海(1955-),男,浙江温岭人,副教授.基于单片机的硬件编码键盘控制及显示器接口电路设计唐颖1阮文海2(1.浙江树人大学信息科技学院,浙江杭州310015;2.浙江树人大学生物与环境工程学院,浙江杭州310015)摘要:本文主要介绍编码键盘接口芯片74922与单片机AT89C51及相关译码器构成多键盘、多位数显示接口电路(以44键盘,8位数显示接口为例)。本电路克服了以往并行接口设计中占用较多I/O口且键盘控制编程较繁的缺点,在构成多按键和多数字显示的较大规模单片机应用系统中有参考和实用价值。关键词:单片机;编码键盘;LED显示;非总线结构中图分类号:TP368;TP334.7文献标识码:A文章编号:1671-2714(2004)01-0079-030引言键盘、显示接口是单片机应用系统中最常用的基本接口电路。因单片机自身体积小,引脚少,在设计单片机系统时,如系统所需的按键较多,需显示的十进制位数较多,单片机自身的引脚不够用,并且此时串行口又要用作它用时,在以往的设计中,往往以总线方式外接8255或8155芯片,以便扩展并行口。这种方法因使用的芯片的体积大,引脚多,而使硬件系统较为庞大。另一种方法是将键盘和显示接口直接与单片机的I/O引脚相接,但这种方法将占用较多有限的I/O口。为了使有限的I/O口用于实现更多的系统功能,同时系统的硬件设计和软件设计尽可能简洁,我们在单片机多键盘、多位数显示接口的应用系统设计电路中,选用了片内有4KBFlash存储器的AT89C51单片机,接口采用非总线结构。在显示部分通过译码器控制段码和位线,尽量减少I/O口的使用。在键盘部分,键盘的扫描交给74922集成芯片来完成,使CPU减轻用软件去扫描键盘的负担,提高CPU的利用率,较好地完成了设计任务。174922芯片内部结构、原理74922芯片是专用编码键盘接口芯片,当按下某一按键时,该芯片能自动给出相应的编码信息,并可自动消除抖动,从而可使设计者免除一部分软件编程。74922芯片有16键IC和20键IC,图1所示为44(16键)扫描式编码键盘原理图。图1扫描式编码键盘这种键盘的按键排成矩阵形式,以减少按键联线。如图中有16个键,排列成4行4列,仅需8根引线。时钟发生器的输出送给4位计数器进行计数,计数器的低2位经译码后作为行扫描,高2位经译码后作为列扫描。若没有检出有键闭合,则计数器周而复始反复计数,即反复进行扫描,一旦检出有键闭合,就发出一个脉冲使时钟振荡器停振,计数器随即停止计数。单片机通过读取计数器的计数值来获取闭合键所在的行列位置,然后从ROM中查表得到按键读数。如果有两个键同时按下,则扫描到第一个闭合键时就停止扫描,把该键当作有效按键进行处理。74922芯片(16键IC)的引脚排列如图2所示:X1X4:列线。Y1Y4:行线。OSC:接振荡电容0.1,以便扫描矩阵键盘KM:键盘消除抖动电路,并发出两种信号(1)内部计数器停止计数。(2)若有键按下,使DA脚由未按键时的低电平变为高电平,若按键未放开则一直保持高电平,当按键放开时,才转为低电平。此引脚外接一个电容是OSC所接电容的10倍。图274922(16键)引脚排列图DA:数据有效信号。若无键按下,保持低电平。若有键按下,变为高电平,直到键放开,才转为低电平。/OE:输出使能。DA:按键值输出,按BCD码输出。2电路设计思想在设计单片机系统时,为了实现系统所需的多按键,多位十进制数显示的和节约I/O口资源,简化硬件电路要求,在串行口被用于其它用途的情况下,我们选用了一种新型的键盘、显示接口电路。其设计思想为:在显示部分:用7根I/O线通过七段译码器(7447)和3-8线译码器(74LS138)外接了8个LED数码管即可完成动态显示。其中,段码采用硬件译码,单片机读到的键盘值送到P0口的低4位,经7447七段译码器译成段码送数码管。而位线由P0口的P0.4P0.6三位经74LS138译码器控制。在键盘部分:键盘扫描由74922芯片来完成。设计中用了5个I/O线于74922芯片相接。其中4根I/O线(P1.0P1.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线设计出尽可能大的键盘显示接口电路。电路中,在44键盘中每个按键的值是固定的,具体位置如图4所示,所以编程时只要建立一个TABLE表,就可根据需要设计各种键盘。图4键盘值示意图4程序设计应用实例设显示器缓冲区为40H47H单元,起始时均已清零。每次按键后读取的键值,放在40H单元,而原40H单元的内容(即前一次按键得值)移到41H单元,以此类推。显示子程序对47H40H单元的内容进行动态显示。由此得出针对该硬件电路的键盘显示程序。START:JBP1.4,KEY;检测74922的DA脚=1?,DA=1,表示有键按下AJMPDISP;调用显示子程序SJMPSTARTKEY:JBP1.4,;按键放开否?MOVA,P1;已放开,则读入74922的按键值ANLA,#0FH;取低4位(74922的AD)MOVDPTR,#TABLE;到TABLE表中取码MOVCA,A+DPTRXCHA,40H;现按键值存入(40H)XCHA,41H;旧(40H)值存入(41H)XCHA,42H;旧(41H)值存入(42H)XCHA,43H;旧(42H)值存入(43H)XCHA,44H;旧(43H)值存入(44H)XCHA,45H;旧(44H)值存入(45H)08浙江树人大学学报2004年XCHA,46H;旧(45H)值存入(46H)XCHA,47H;旧(46H)值存入(47H)ACALLDISP;调用扫描子程序AJMPSTARTDISP:MOVA,47H;(47H)显示器D8地址ADDA,#70H;D8数据值加上74LS138位扫描值MOVP0,A;显示D8ACALLTIME;扫描延时MOVA,46H;(46H)显示器D7地址ADDA,#60H;D7数据值加上74LS138位扫描值MOVP0,A;显示D7ACALLTIME;扫描延时MOVA,45H;(45H)显示器D6地址ADDA,#50H;D6数据值加上74LS138位扫描值MOVP0,A;显示D6ACALLTIME;扫描延时MOVA,44H;(44H)显示器D5地址ADDA,#40H;D5数据值加上74LS138位扫描值MOVP0,A;显示D5ACALLTIME;扫描延时MOVA,43H;(43H)显示器D4地址ADDA,#30H;D4数据值加上74LS138位扫描值MOVP0,A;显示D4ACALLTIME;扫描延时MOVA,42H;(42H)显示器D3地址ADDA,#20H;D3数据值加上74LS138位扫描值MOVP0,A;显示D3ACALLTIME;扫描延时MOVA,41H;(47H)显示器D2地址ADDA,#10H;D2数据值加上74LS138位扫描值MOVP0,A;显示D2ACALLTIME;扫描延时MOVA,40H;(40H)显示器D1地址ADDA,#00H;D1数据值加上74LS138位扫描值MOVP0,A;显示D1ACALLTIME;扫描延时RETTABLE:DB00H,01H,02H,03H;键盘码。DB04H,05H,06H,07HDB08H,09H,0AH,0BHDB0CH,0DH,0EH,0FHEND5结论单片机硬件编码键盘控制及显示器接口电路,为非总线接口方式。适用于多位数字显示、键盘数量较大且I/O紧缺的单片机系统设计。能较好的解决较大规模的键盘、显示接口占用大量并行I/O口的问题,避免了编写键盘扫描、读键值等繁琐程序,使编程简单,程序简明直观。同时,根据用户对键盘位置的要求,只要改变TABLE表就可任意设计所需要的键盘,不用对程序进行改动,用起来很方便。可广泛用于单片机的各种测量和检测等应用系统。参考文献:1徐爱军.智能化测量控制仪表原理与设计M.北京:北京航空航天大学出版社,1999.2吴金戍,等.8051单片机实践与应用M.北京:清华大学出版社,2002.3余永权.Flash单片机原理及应用M.北京:电子工业出版社,1997.TheDesignoftheHardwareCodingKeyboardControlandDisplaySystemBasedonMicroprocessorTANGYing&RUANWenhai(1.InformationScience&TechnologyCollege,ZhejiangShurenUniversity,Hangzhou,Zhejiang,310015,China;2.Biology&EnvironmentEngineeringCollege,ZhejiangShurenUniversity,Hangzhou,Zhejiang,310015,China)Abstract:Thisarticleintroduces44keyboardand8LEDdisplayinterfacecircuitconstitutedbycodingkeyboardinterfacechip74922,microprocessorAT89c51anddecoder.ThiscircuitovercomestheshortcomingsinmanyI/Ointerfacesandthecomplicatedkeyboardcontrolprograminabreastinterfacedesignused

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论