电子竞赛培训教程4.2 键盘显示电路设计.docx

上传人:太** 文档编号:72735302 上传时间:2023-02-13 格式:DOCX 页数:14 大小:644.25KB
返回 下载 相关 举报
电子竞赛培训教程4.2 键盘显示电路设计.docx_第1页
第1页 / 共14页
电子竞赛培训教程4.2 键盘显示电路设计.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《电子竞赛培训教程4.2 键盘显示电路设计.docx》由会员分享,可在线阅读,更多相关《电子竞赛培训教程4.2 键盘显示电路设计.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、4.2通用键盘显示电路设计4. 2.1通用可编程键盘和显示器的接口电路芯片8279通用键盘显示电路采用Intel公司生产的通用可编程键盘和显示器的接口电路芯片 8279o 8279可以实现对键盘和显示器的自动扫描,识别闭合键的键号,完成显示器动态显 示,可以节省CPU处理键盘和显示器的时间,提高CPU的工作效率。另外,8279与单片 机的接口简单,显示稳定,工作可靠。所以使用8279的通用键盘显示电路可使系统设计简 单化。1. 8279芯片的信号引脚及功能140RL3239CLK338IRQ437RL4536RL5635RL6 734827933323130292827262524232221

2、891011121314151617181920RL7RESETRD WRDB0DB1DB2DB3DB4DB5DB6DB7VSS8279采用40脚双列直插式封装,引脚封装形式如图421所示。VCCRL1RL0 _CNTL/STBSHIFTSL3SL2SL1SL0OUT B0OUT BlOUT B2OUT B3OUT AOOUT AlOUT A2OUT A3BDCSAO图4.2.1 8279引脚分布图其中:DB0-DB7:双向数据总线。在CPU与8279间做数据与命令的传送。CLK: 8279的系统时钟,lOOKHz为最正确选择。RESET:复位信号,输入线,当RESET=1时,8279复位,其

3、复位状态为:16个字符显示, 编码扫描键盘双键锁定,程序时钟编码1。CS:芯片选择信号,低电平有效。A0:区分信息的特征位。A0=l时,读取状态标志位或写入命令;A0=0时,读写一般数据。RO:读取控制线。RD=Q, 8279会送数据至外部总线。mov dptr, # OFFFFhmovx dptr, amov a, r4;取r4中的低四位内容并送数码管显示anl a, #OfhIcall table mov dptr,# OFEFFh;指向第三位数码管;指向第三位数码管movx dptr, a Icall delay mov a,#82h mov dptr, # OFFFFhmovx dpt

4、r, amov a, #0f7h;显示mov dptr,# OFEFFhmovx dptr,amov a, #83h;指向第四位数码管mov dptr, #7001hmovx dptr, amov a, r3;取r3中的高四位内容并送数码管显示swap aanl a, #OfhIcall table mov dptr, # OFEFFhmovx dptr, aacall delaymov a, #84h;指向第五位数码管mov dptr, # OFFFFhmovx dptr, amov a, r3;取r3中的低四位内容并送数码管显示anl a, #OfhIcall tablemov dptr,

5、 # OFEFFh movx dptr, a acall delay mov a, #85hmov dptr, # OFFFFh movx dptr, a mov a, #0f7hmov dptr,# OFEFFh movx dptr, a mov a,#86hmov dptr, # OFFFFh movx dptr, a mov a, r2 swap aanl a, #Ofh Icall tablemov dptr, # OFEFFh movx dptr, a acall delaymov a, #87hmov dptr, # OFFFFh movx dptr, a;指向第六位数码管;指向第

6、七位数码管;取2中的高四位内容并送数码管显示;指向第八位数码管mov a, r2;取r2中的低四位内容并送数码管显示anl a, #OfhIcall tablemov dptr,# OFEFFhmovx dptr, aIcall delayinc dptr1oop1:movx a, dptr;判断键盘有无程序段anl a, #07hc jne a, #00h, loop2 ajmp lastloop2:mov dptr,# OFEFFh movx a, dptrcjne a, #0clh, loop3mov a, r4add a, #1da amov r4,acjne r4,#24h,loop

7、3mov r4,#00hloop3:cjne a, #0c8h, loop4mov a, r3add a, #1 da amov r3, acjne r3,#60h,loop4mov r3,#00hloop4:cjne a, #0c9h, lastmov a, r2add a, #1 da amov r2,acjne r2,#60h,lastmov r2,#00hlast:1jmp dispdelay:mov r6,#10hdelayO:mov r5,#10h;有按键那么转到loop2;有按键那么将键值送累加器A;判断是否按键O按下;按键0按下那么时加1;判断是否按键0按下;按键1按下那么分加

8、1;判断是否按键0按下;按键2按下那么秒加1;延时子程序delayl:djnz r5,delay1djnz r6,delayO rettable: inc a;查表子程序move a, a+pcretdb Och, 9fh, 4ah, Obh, 99h, 29h, 28hinttO:push pswinttO:push pswdb 8fh, 08h, 09h;中断服务子程序pushaccclrtrOmovthO,#3chmovtlO,#ObOhdjnzr7,next;判断中断次数二20否?movr7, #20mova, r2adda, #1;秒加1daamovr2, acjner2,#60h,

9、nextmovr2,#00h;秒清0mova, r3adda,#l;分加1daamovr3, acjner3,#60h,nextmovr3,#00h;分清0mova, r4adda,#l;时加1daamov r4, acjne r4,#24h,nextmov r4,#00hnext:setb trOpop accpop pswretiendWR:写入控制线。WR=O, 8279会从外部总线捕捉数据。IRQ:中断请求输出线,高电平有效。在键盘工作方式中,当FIFO传感器RAM中有数据 时为“1”,CPU每读一次就变为0,如果RAM中仍有数据那么IRQ又变为力”。在传感 器工作方式中,传感器矩阵无

10、论哪里发生变化都会使IRQ为1”。SL0-SL3:扫描按键开关或传感器矩阵及显示器,可以是编码模式或解码模式。RL0-RL7:回复输入线,它们是键盘或传感器的列(或行)信号输入线;平时保持为“1”, 当矩阵结点上有键(开关)闭合时变为“0”。SHIFT:移位信号输入线,高电平有效。通常用来扩充键开关的功能,可以用作键盘上、下 档功能键。在传感器方式和选通方式中,SHIFT无效。CNTL/S7B :控制/选通输入线,高电平有效。通常用来扩充键开关的控制功能,作为控制 功能键用。在选通输入方式时,该信号的上升沿可把来自RL0SRL7的数据存 入FIFO/RAM中;在传感器方式下,该信号无效。OUT

11、AO-OUTA3:动态扫描显示的输出口(高四位)。OUTBO-OUTB3:动态扫描显示的输出口(低四位)。BD:消隐输出线,低电平有效,当显示器切换或使用显示消隐命令时,将显示器消隐。基于8279的通用键盘和显示电路硬件设计基于8279的通用键盘和显示电路原理图如图4. 2. 2所示。YO Y1 Y2Y3 Y4Y5Y6Y7D D D DooggDD=A B ABCG1G2G2OUTAOOUTA1OUTA2OUTA3G DIRA1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8SIU0012701B02140315204167051770618p07194ALE 3 9CS7 22

12、RD-10 WR-U A8-2101234567 2 Z戏 SAX10 DDDDDDDDIRCRJWN01234567RLIRLRLRLRL-RLRLIRLOUTBOOUTB1OUTB2OUTB367K78-0 12 3 L L L L s s s SCLKRESETSHIFTCNTL/S3637幅8啦铝A、4蛤心774LS245,、7 7 77 7 77 7图键盘与显示器的接口电路图元器件布局图如图4. 2. 3所示,印制板图如图4. 2. 4所示。 S15S13 Sil S1 S3 S5 S7 S9 ! ! ! ! 8279(a) E制板图(顶层)(b)印制板图(底层)图4. 2. 4键盘

13、与显示器的接口电路印制板图4. 2. 3 8279与单片机最小系统电路板的连接本系统板设置了一个8279的接口电路J2,供用户扩展键盘和显示器所用,如图4.2.5 所示。ALE信号作为8279的时钟信号,从而与系统时钟同步。8279的中断信号IRQ接到单 片机的INTO引脚。缓冲器地址A0接到单片机的地址线A8,信号在那么接到74LS138译码器 的CS7引脚,这样8279的命令地址为OXFFFFH,数据口地址为OXFEFFH。读写信号分别和 单片机的RD和WR相连。8279的数据线D0-D7与单片机的数据线直接相连。图4. 2. 5 单片机最小系统电路板上的8279接口电路8279与80C5

14、1的许多信号是兼容的,可直接连接,十分方便。连接例如图如图422所示。8279的8位数据线(DB0-DB7)直接接80C51的P0 口。RD、WR与80C51的读 写信号(RD、WR )直接连接。80C51的地址锁存信号ALE接8279的CLK,在内局部频 后产生其内部时钟信号。8279的中断请求信号(IRQ)经一个反相器反相后接80c51的WT1。 8279的三个可寻址的寄存器只需两个地址,即:命令/状态寄存器地址和数据寄存器地址。8279中与地址有关的信号为A0和西,它们的连接情况直接决定着寄存器的地址,一旦硬 件电路确定,寄存器的地址也就确定下来了。在图4. 2. 2中,命令和状态区分信

15、号A0接80C51的P2. 0,片选信号在接CS7。当P2. 0=1 时,对应命令/状态寄存器;当P2.0R时,对应数据寄存器;CS7=0时8279芯片被选通。 因此,命令/状态寄存器的地址为OFFFFH,数据寄存器的地址为OFFFFH。基于8279的通用键盘和显示电路程序设计8279的编程可分为初始化、向显示RAM中写入数据和读键盘数据三局部。在实际应用中,通常初始化编程在主程序中完成;显示局部一般作为子程序;而键盘读入局部作为中断服务程序编写。在此主要介绍8279的初始化编程。初始化编程是向8279写入工作方式 命令字,确定其工作方式及相关操作功能。1. 8279的命令及格式8279共有8

16、条命令,均为8位,各命令的格式及功能分述如下:(1)键盘/显示器方式设置命令此命令用于设置键盘与显示器的工作方式,其各位定义为:d7 d6 d5=ooo为此命令的特征位或称命令码。D4D3用来设定显示方式008个LED显示器,从左端输入0116个LED显示器,从左端输入108个LED显示器,从右端输入1116个LED显示器,从右端输入D2 Di Do用来设定键盘、传感器矩阵、显示器操作方式000编码扫描键盘,双键锁定001译码扫描键盘,双键锁定010编码扫描键盘,N键依次读出011译码扫描键盘,N键依次读出100编码扫描传感器矩阵101译码扫描传感器矩阵110选通输入,编码显示扫描111选通输

17、入,译码显示扫描译码方式即为内部译码方式;编码方式即为外部译码方式。(2)程序时钟命令此命令用来设置分频系数,其定义为:d7 d6 d5=ooi为此命令的命令码。必1)0=231此5位用来设定对外部输入时钟CLK进行分频值,用以产生100kHz的频率信号作为8279的内部时钟,其值可取231。例如:假定CLK为2MHz,为取得100kHz 的内部时钟信号,那么分频系数信MHz/10分Hz系0,应使DDDDD尸10100B,即十进制数20D。(3)读FIFO/传感器RAM命令此命令用来设置读FIFO/传感器RAM,其定义为:d7 d6 d5=oio为此命令的命令码。D4=l设置FIFO/传感器R

18、AM地址读后自动力口 1。d4=o读后地址保持不变。Ds位没有定义,可为任意。D2 Di Do在传感器方式及选通输入方式时该三位为FIFO RAM的地址。在键盘扫描方式时,每次读取数据总是按先进先出的原那么依次读出的,必位和此3位无 关。(4)读显示RAM命令此命令用来设置读显示RAM,各位定义为:D7 D6 D5 =011 为此命令的命令码。D4位定义同上。D3 D2 Di Do:为显示RAM的存储单元地址。当D1设为1时,每次读出显示RAM后地址 自动加1,指向下一个单元地址,D,为0时读出后地址保持不变。(5)写显示RAM命令此命令用来设置写显示RAM,其各位定义为:D7 I)6 D5

19、=100为此命令的命令码。D.Do定义同上。(6)显示禁止写入/熄灭(消隐)命令此命令用来禁止数据写入显示RAM或向显示RAM写入空格(即熄灭),其各位定义为:d7 d6 d5=ioi为此命令的命令码。D没有定义,可以任意。D3 D2位分别A、B组显示RAM或写入屏蔽位,设为“1”时禁止写入。这样可以使得A、 B组显示RAM单独送数,而又不影响另一组的显示。D。两位分别为A、B组的熄灭设置位,假设设为1,那么对应组的显示输出被熄灭;假设设 为0那么被恢复显示。(7)清除命令此命令用来清除显示器RAM和FIFO RAM,其格式为:d7 d6 d5=ho为此命令命令码。Di=l清除显示RAM有效,

20、与D3 D2配合使用。D3 D2用来设定清除显示RAM的方式。0 x将显示RAM全部清010将显示RAM置为20H (即A组=0010, B组=0000)11将显示RAM全部置1假设 片0,那么不清除显示RAM, D3D2位设置无效;但假设Do=l,那么D3D2的设置仍有效。D尸1清除FIFO RAM存储器,并使中断输出线复位;同时传感器RAM的读出地址也被置0。D。位为中断清除标志位。(8)中断结束/出错方式设置命令此命令用来设置中断结束及出错方式,其格式为:D7 D6 D5=lll为此命令的命令码。DfL时,对N键依次读出方式可工作在特殊出错方式(多重按键按下时出错)。对于传 感器工作方式

21、,此命令使IRQ变低,而结束中断,并允许FIFO RAM的再次写入。D3Do位没有定义,可为任意。8279这8条命令根据程序的需要可在主程序,显示子程序和中断服务程序中使用。2. 8279编程举例下面是一个带键盘设定时间的时钟程序。该程序详细说明了对8279进行编程的方法, 同时给出了使用键盘和显示器的方法。在程序设计中首先进行8279初始化,其中包括:指 定8279的数据和控制口、设置键盘/显示器方式、设置分频系数、清除8279内部显示RAM、 指向显示的数码管位置等。接着是运行显示程序,通过调用查表子程序将要显示的内容显 示在数码管上。最后是运行键盘扫描程序,测试是否有闭合键出现。中断服务

22、子程序主要 是每隔一秒中断一次,实现时、分、秒自动加一。(1)汇编语言程序汇编语言编写的程序如下:org OOOOha.jmp mainorg OOObhajmp inttOorg OlOOhmov tmod, #01h;计数器方式选择mov thO,#3chmov tlO,#ObOhmov r7,#20mov r2,#30hmov r3,#59hmov r4,#23h setb ea setb etO setb trOmov dptr, # OFFFFhmov a, #00hmovx dptr, amov a,#32h movx dptr, a mov a, #Odfh movx dptr,

23、 a loop:movx a, dptrjb acc. 7, loop disp:mov dptr, # OFFFFhmov a, #80h;T0计数器初始化;工作寄存器初始化每20次中断(1秒);初始值设定;开总中断;允许T0溢出中断;T0开始计数;指向8279控制口;设定8279显示/键盘方式;设定分频系数;清除8279内部显示RAM;显示RAM清除完毕吗?;显示程序段;指向第一位数码管movx dptr, amov a, r4;取r4中的高四位内容并送数码管显示swap aanl a, #OfhIcall tablemov dptr, # OFEFFhmovx dptr, aIcall delay

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁