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

毕业论文-可编程计算机键盘显示器接口电路设计

2017-10-06 44页 doc 186KB 23阅读

用户头像

is_219945

暂无简介

举报
毕业论文-可编程计算机键盘显示器接口电路设计毕业论文-可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 解 放 军防 空 兵 学 院 毕业设计(论文)说明书 题 目:可编程计算机键盘显示器接口 --- 电路设计 作 者: 张兵 学 号: 91591006 系 (院): 计算机科学系 专 业: 计算机科学与技术 指导者: 评阅者: 2005 年 5 月 北 京 - 1 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 可编程计算机键盘显示器接口电路设计 第一章 引言 随着信息技术和互联网的飞速发...
毕业论文-可编程计算机键盘显示器接口电路设计
毕业论文-可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 解 放 军防 空 兵 学 院 毕业设计(论文)说明书 题 目:可编程计算机键盘显示器接口 --- 电路设计 作 者: 张兵 学 号: 91591006 系 (院): 计算机科学系 专 业: 计算机科学与技术 指导者: 评阅者: 2005 年 5 月 北 京 - 1 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 可编程计算机键盘显示器接口电路设计 第一章 引言 随着信息技术和互联网的飞速发展,以及计算机、通讯、数码产品等领域?已经来临。嵌入式设备是数字化时代的主流产品,嵌入式软件是数字化产品的核心,作为嵌入式软件的基础和关键,嵌入式操作系统在产业发展过程中扮演着越来越重要的角色,应用遍及工业自动化、网络通信、航天等领域。可编程计算机键盘显示器接口电路设计就是采用一种8279单片机芯片。 显示可本设计采用8279单片机为控制芯片,8279是一种专用于键盘\编程器的接口电路,能对键盘自动扫描,给出闭合健的键码,能自动向数码管显示器输出显示代码和位代码。 其中键盘接口电路可与64键点阵式键盘连接,具有二键封锁或N键巡回功能,可自动消除按键抖动。 显示器接口电路可与8或16位数码管显示器连接,8279与键盘 、显示器的连接,其中包括一个8键盘和8位LED显示器,代码驱动器选用8708,SL2~SL0信号译码器选用74LS138,时钟信号由单片机的ALE提供。在振荡器频率为12MHZ时ALE输出频率为2MHZ。8279选择2键封锁、编码扫描方式,显示器左端输入。 第二章 LED显示器的结构与原理: 显示器常作为单片机系统中最简单的输出设备,用以显示单片机系统的运行结果与运行状态等。常用的显示器主要有LED数码显示器、LCD液晶显示器和CRT显示器。在单片机系统中,通常用LED数码显示器显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。本节以LED为例,介绍其结构、工作原理及与单片机的接口技术。 LED显示器的结构与原理 LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。单片机系统中通常使用8段LED数码显示器,其外形及引脚如图1(a)所示,由图可见8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括A,F在内的部分英文字母和小数点“(”等字样。 - 2 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称为共阴极LED显示器。如图1(b)所示。 共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的,当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合从而显示各种字符。8个笔划段dpgfedcba对应于1B(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴极LED显示器,当公共阴极接地(为零电平),而阳极dpgfedcba各段为01110011时,显示器显示“P”字符,即对于共阴极LED显示器,“P”字符的字形码是0×73。如果是共阳极LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(0x8C)。这里必须注意的是:很多产品为方便接线,常不按规则的方法去对应字段与位的关系,这时字形码就必须根据接线自行设计了。 LED显示器的显示方法有静态显示与动态显示两种,下面分别予以介绍。 编辑 11.LED静态显示接口 数码管工作在静态显示方式时,共阴极(共阳极)的公共端COM连接在一起接地(电源)。每位的段选线与一个8位并行口相连。只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。这里的8位并行口可以直接采用并行I/O接口片(例如80C51的P1端口、8155和8255的 - 3 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 I/O端口等),也可以采用串行输入/并行输出的移位寄存器。考虑到若采用并行I/O接口,占用I/O资源较多,因而静态显示方式常采用串行接口方式,外接8位移位寄存器74HCl64构成显示电路,图2是通过串行口扩展8位LED显示器静态驱动电路,在TXD(P3.1)运行时钟信号,将显示数据由RXD(P3.0)口串行输出,串行口工作在移位寄存器方式(方式0)。 图2中使用的是共阴极数码管,因而各数码管的公共极COM端接地,要显示某字段,则相应的移位寄存器74HC164的输出线必须是高电平。 显然,要显示某字符,首先要把这个字符转换成相应的字形码,然后再通过串行口发送到74HC164。74HC164把串行口收到的数变为并行输出加到数码管上。 先建立一个字形码表,以十六进制数的次序存放它们的相应字形码,共阴极字形码表如表1所示。 - 4 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 2. LED动态扫描显示接口 LED动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应LED后,即在显示字段上得到显示字形码。这种方式不但能提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。 动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔划段a,dp同名端并联在起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。 在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 图3是一个典型的动态扫描8位LED显示接口电路。该电路由74HC245提供段a,dp的驱动,74LS145提供位COM1,COM8的驱动。请注意89C52的P0.0,P0.7每个口线上有1个10kW的上拉电阻,图中未示出。 3.LED显示器接口: - 5 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 一.LED原理简述 LED显示块是用发光二极管显示字段,单片机应用系统常用的是七段LED, 如下图,它有其阴极和共阳极两种: +5V a a a b b c c f b d d e e g f f e c g g d h ? h h 共阴极 共阳极 例如,要显示‘0’字符,对于共阴极管应输出段码: h g f e d c b a a 0 0 1 1 1 1 1 1 3 F H f b g e c 对于共阳极管则应输出段码: d h. h g f e d c b a 1 1 0 0 0 0 0 0 C 0 H 共阳极管和共阴极管的段码是互为补码的。 二.动态显示的七段LED基本用法: 1. 动态显示的七段LED与单片机的硬件接口 扩展显示器接口实质是输出口的扩展,例如设计一个6位的数码管显示系统, 它需要扩充两个8位输出口,一个输出8段码,一个输出位选码。如下图: 输出段码 +5V 1D 1Q 8 8D 8Q - 6 - 可编程计算机键盘显示器接口电路设计 1#377 CLK E 中国人民解放军防空兵指挥学院毕业论文 8 8 8 8 8 8 A0 FEH WR FDH A1 CLK +5V E 1D 1Q 2#377 8D 8Q 8 由图可知,要显示哪个字符,该字符的段码从1#377输出,要使1#377输出只要A0 = 0即可,因此1#377的地址为FEH。该段码输出到6个数码管上是相同的,要哪个管亮,必须使该管的相应段二极管导通,则由2#377输出的 ,则该管可以亮。要使2#377输出只要A1 = 0,位码控制,对应哪个管为0 2#377的地址为FDH。 在软件设计上将6个LED管轮流点亮,每管延时约1Ms,利用人的视觉残留,则可以看成持续点亮。 2. 动态显示的软件设计: 要点:?代码转换:直接驱动7段LED发光的是段码,而我们习惯的是字符 0、1、2、„F等,因此软件中必须将待显示的字符转换成段码。 ?每次只能输出同样的段码,因此要使某管亮,必须用软件保证逐位 轮流点亮并适当延时,给人的眼睛产生持续发光的效果。 程序中使用的显示缓冲区示意图: 01 02 03 04 05 06 79H 7AH 7BH 7CH 7DH 7EH 显示缓冲区共6个单元,自左至右一一对应6个数码管,其中存放待显示字符在段码表中的查表偏移量。 程序如下: - 7 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 ORG 8100H DISUP: MOV R0 , #79H ;置显示缓冲区首地址 MOV R2 , #0DFH ;11011111 位码初值,最左面管亮 DSP1: MOV A , @R0 MOV DPTR , #TABL MOVC A , @A+DPTR ;查表求段码 MOV R1 , #0FEH ;选1#377 MOVX @R1 , A ;送段码 MOV R1 , #0FDH ;选2#377 MOV A , R2 MOVX @R1 , A ;输出位码,最左面管亮 LCALL D1ms ;延时 1NC R0 ;指向显示缓冲区的下一地址 MOV A , R2 RR A ;位码右移一位 MOV R2 , A XRL A , #7FH ;位码右移6次后为7FH时6管全显示完 JNZ DSP1 ;不为7FH则未显示完,返回送下一个LED RET TABL: 段码转换表略 D1ms: 延时子程序略 三.LED静态显示 在静态显示方式中,数码管的共阴极或共阳极接地或十5V,每一个数码管的8段码需扩展一个8位输出口与之相连接,输出口可将令该管显示某字符的段码锁存,同一时间里,每一位的段码均可不同,即显示不同字符。如图: 8 8 8 8 1#377 2#377 3#377 4#377 8 8 8 8 - 8 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 静态显示方式中,有N位数码管则需扩展N个8位输出口,占用I/O资源较多。它的优点是软件不必动态扫描,送出段码后可锁存,直到需更改显示字符,软件简单,同时由于始终保持显示而亮度较好。 第三章 键盘接口 在单片机应用系统中,为了控制系统的工作状态,或向系统内部输入数据,常设有按键或键盘,使用这些键的开关状态来设置控制功能或输入数据。 键盘的扩展实质是输入口的扩展。 一.键输入过程及软件结构: 当所设置的数字键或功能键按下的时候,单片机应用系统应能完成该键所设定的功能。因此,键输入的信息与软件结构密切相关。不少应用系统键扫描程序是应用程序的核心部分。键输入程序的软件框图大致如下: 键 扫 描 NO 有 键 按 下, YES 判 哪 一 键 按 下 求键值 A (A)=00H (A)=01H 0#键处理程序 1#键处理程序 „ CPU通过查讯或中断方式扫描有无键按下及哪一键按下,将键号送入A,根据A的跳转到该键所应完成的功能的程序中去,键处理完毕后再回到键扫描程序,查找有无另一键按下。 二.键输入接口与软件应解决的问题: 1. 保证键开关状态的可靠输入 键是一种常开式按钮开关,按键和键盘都是利用机械触点的闭合和断开来输入电平信号的,在键的闭合和断开的瞬间的有抖动过程,会出现一系列负脉冲,一般为5,10ms ,为了保证CPU对键的一次闭合只进行一次键处理,必须消除抖动的影响。 通常去抖动措施可分别采用硬件和软件两种方法来解决,硬件的方法是 - 9 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 在按键的硬件电路上增加RS触发器或单稳态电路,这需要增加硬件开销。 较为方便的软件去抖措施是当检测到有键按下时,执行一个延时10ms的子 程序,而后再检测该键是否仍保持闭合状态,若仍闭合才确认为该键按下。 2. 对所有按键进行编码,确定键值或直接确定键号。 给每一按键确定一个键值或编号,当CPU扫描键盘时,可根据接收到 的键输入信息确定是哪一个键按下。 3. 选择键盘监测方法: 在应用系统软件中,键扫描程序、键处理程序只是应用程序的一部分, 在程序运行过程中什么时候查询键输入的情况,可有查询方式和中断方式 两种: ? 查询方式 在程序中以一定的时间间隔扫描键盘输入的情况,无键按下则可执行 其它程序,有键按下则执行键处理程序。 ? 中断方式 中断方式是当有键按下时引起中断,在中断服务程序中进行键处理, 无键按下时CPU不必顾及键盘的工作情况。一般在键盘使用不多的情 况采用中断方式。 4. 编制好键盘处理程序: 它应解决如下问题: ? 扫描有无键按下。 ? 有键按下时,若无硬件去抖措施应以软件延时去抖动。 ? 有可靠的逻辑处理,保证一次只处理一个键,一次键按下只进行一 次键处理。 ? 输出确定的键号,一个键按下后能准确跳转到该键的处理程序,处 理结束后再返回键扫描。 三.独立式按键结构: 指直接用I/O线构成的单个按键电路。每一键互相独立地各自接通一条 输入线,每根I/O线上的按键工作状态不影响其它I/O线的工作状态,此亦 称非编码键盘结构。如下图: +5V P1.0 P1.1 P1.2 P1.3 K3 - 10 - 可编程计算机键盘显示器接口电路设计 8031 中国人民解放军防空兵指挥学院毕业论文 K2 K1 K0 (a)查询式电路 查询I/O输入线0有效 即为0者该线上键闭合 地 +5V P1.0 P1.1 P1.2 P1.3 K3 K2 多输入与门 K1 INT0 8031 K0 (b)中断式电路 任一键按下则INT0触发中断 地 在中断服务程序中查询哪一键按下 独立式按键结构的优点是配置灵活,软件简单,缺点是使用I/O口线多,适于 按键数量不多时使用。 独立式按键的软件结构: STRAT:MOV A,#0FFH MOV P1 , A ;置P1口输入方式 MOV A , P1 ;键状态输入 JNB ACC.0 , P0 ;0号键按下转 JNB ACC.1 , P1 JNB ACC.2 , P2 JNB ACC.3 , P3 - 11 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 LJMP START 键处理程序略 注:该程序中未包括软件去抖措施,实际应用中应考虑去抖动处理。 .行列式键盘结构: 四 1. 键盘工作原理:如图 3 2 1 0 0行 +5V P1.7 P1.6 7 6 5 4 1行 B A 9 8 2行 P1.5 F E D C 3行 P1.4 3列 P1.3 2列 P1.2 1列 P1.1 0列 P1.0 用I/O口线组成行列式结构,按键设置在行列的交叉点上,2×2的键盘结构可构成4个键的键盘,4×4的键盘结构可构成16个键的键盘。 键扫描的过程: ? 判断有无键按下 列线输出全0码(D0,D3),将行线状态读入累加器A(D4,D7),若读入状态 不全为1则有键按下,否则无键按下。 ? 当有键按下时,判断哪一键按下: 由列线逐列置0,检查行输入状态。例如列线输出D3,D0为1110,即D0=0, 读入行线状态D7,D4,若为0111,即D7=0,则可判断为0键按下,若此时 - 12 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 读出行线状态为全1,则本列无键按下,即0、4、8、C均未按下。接着再将 下一列线置0输出,检查下一列键是否有键按下„„,直到每一列均查完为 止。 键盘上每一个键均有一个唯一的键值,一般用直接赋值方法定义键值,每个键的键值为当它按下时,键扫描程序的列码和行码按一定顺序由二进制数排列。 例如当0键按下时,键扫描程序输出的列码为1110,读入的行码为0111,将它们按D7,D0的顺序排列为:01111110,则0键的键值定义为7EH。类似的方法可得到: 1键的键值为7DH 4键的键值为BEH F键的键值为E7H 键扫描程序中只要将列码输出,再读入行码,然后将行列码拼接,与键值比较,即可确定为哪一键按下。 键扫描的方式可采取编程扫描、定时扫描或中断方式 定时器中断原理: 中断的原理有关中断的概念 什么是中断,我们从一个生活中的例子引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。 仔细研究一下生活中的中断,对于我们学习单片机的中断也很有好处。 第一、什么可经引起中断,生活中很多事件可以引起中断:有人按了门铃 了,电话铃响了,你的闹钟闹响了,你烧的水开了„.等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单片机中也有一些可以引起中断的 事件,8031中一共有5个:两个外部中断,两个计数/定时器中断,一个串 行口中断。 第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响 了,同时又有人按了门铃,你该先做那样呢,如果你正是在等一个很重要 的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人, 则可能就不会去理会电话了。如果不是这两者(即不等电话,也不是等人 上门),你可能会按你通常的习惯去处理。总之这里存在一个优先级的问 题,单片机中也是如此,也有优先级的问题。优先级的问题不仅仅发生在 两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生 的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又 有电话响了情况。考虑一下我们会怎么办吧。 第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住 现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同 的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放 电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在 不同的地点处理,而这个地点通常还是固定的。计算机中也是采用的这种 - 13 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。具体地说,中断响应可以分为以下几个步骤:1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。2、寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。 究竟单片机是怎么样找到中断程序所在位置,又怎么返回的呢,我们稍后再谈. MCS-51中断系统的结构: 由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成,包括5个中断请求源,4个用于中断控制的寄存器IE、IP、ECON和SCON来控制中断 类弄、中断的开、关和各种中断源的优先级确定。 中断请求源: (1)外部中断请求源:即外中断0和1,经由外部引脚引入的,在单 、INT1,也就是P3.2、P3.3这两个引脚。片机上有两个引脚,名称为INT0 在内部的TCON中有四位是与外中断有关的。 IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。这两种方式的差异将在以后再谈。 IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。 IT1、IE1的用途和IT0、IE0相同。 (2)内部中断请求源 TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0 。当CPU响应中断后,再由硬件将TF0清0。 TF1:与TF0类似。 TI、RI:串行口发送、接收中断,在串口中再讲解。 2、中断允许寄存器IE - 14 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 在MCS,51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位 中断允许寄存器IE来控制的。见下表 EA x x ES ET1 EX1 ET0 EX0 其中EA是总开关,如果它等于0,则所有中断都不允许。 ES,串行口中断允许 ET1,定时器1中断允许 EX1,外中断1中断允许。 ET0,定时器0中断允许 EX0,外中断0中断允许。 如果我们要设置允许外中断1,定时器1中断允许,其它不允许,则IE可 以是 EA x x ES ET1 EX1 ET0 EX0 1 0 0 0 1 1 0 0 即8CH,当然,我们也可以用位操作指令 SETB EA SETB ET1 SETB EX1 来实现它。 3、五个中断源的自然优先级与中断服务入口地址 外中断0:0003H 定时器0:000BH 外中断1:0013H - 15 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 定时器1:001BH 串口 :0023H 它们的自然优先级由高到低排列。 写到这里,大家应当明白,为什么前面有一些程序一始我们这样写: ORG 0000H LJMP START ORG 0030H START: 。 。 这样写的目的,就是为了让出中断源所占用的向量地址。当然,在程序中没用中断时,直接从0000H开始写程序,在原理上并没有错,但在实际工作中最好不这样做。 优先级:单片机采用了自然优先级和人工设置高、低优先级的策略,即可以由程序员设定那些中断是高优先级、哪些中断是低优先级,由于只有两级,必有一些中断处于同一级别,处于同一级别的,就由自然优先级确定。 开机时,每个中断都处于低优先级,我们可以用指令对优先级进行设置。看表2 中断优先级中由中断优先级寄存器IP来高置的,IP中某位设为1,相应 的中断就是高优先级,否则就是低优先级。 x x x PS PT1 PX1 PT0 PX0 例:设有如下要求,将T0、外中断1设为高优先级,其它为低优先级,求IP的值。 IP的首3位没用,可任意取值,设为000,后面根据要求写就可以了 x x x PS PT1 PX1 PT0 PX0 0 0 0 0 0 1 1 0 - 16 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 第四章 8279的内部结构原 Intel8279芯片是一种通用的可编程序的键盘、显示接口器件,单个芯片就能完成键盘输入和LED 显示控制两种功能。其内部结构如图6-10-1所示。8279包括键盘输入和显示输出两个部分。 键盘部分提供的扫描方式,可以和64个按键或传感器的阵列相连。能自动消除开关抖动以及N个键 同时按下的保护。 显示部分按扫描的方式工作。可以显示8或16位LED显示块。 一、8279电路工作原理 单片机系统中有两种 LED显示方式,即静态显示和动态显示,静态显示的优点是显示效果好,编程简单,但由于输出的每一位都需要锁存,使用的硬件较多;动态显示方式中,各位数码管的a–h端并连在一起,每一时刻只有一位数码管被点亮,各位依次轮流被点亮,硬件电路简单,但由于需要不停地进行刷新显示,降低了CPU的效率,而且编程的工作量很大。为了解决动态显示中存在的问题,Intel 公司研制出了专用的键盘、显示器接口电路芯片8279,该芯片能自动完成对显示的刷新,同时还可以对键盘自动扫描,识别闭合键的键号,使用非常方便。8279用A0来区分信息特征,当A0为0时,CPU从8279读出的是状态,写入的是命令,且每个命令也有自己的特征;当A0=1时读出和写入的都是数据。8279内部有两个缓冲区,即一个8字节的FIFO(First In First Out)键盘RAM和一个16字节的显示RAM,显示数据时只要将待显示数据的段码写入显示RAM即可;当有键闭合时,8279会自动执行去抖、得到键值、等待按键释放等操作,最后,将键值存入FIFO RAM中,程序只需从FIFO中读取键值即可,编程十分简单,具体实验线路图17所示。 - 17 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 8279键盘、显示器接口器件是实现人机对话的主要部件,它已为广大用户欢迎和广泛应用。然而在有些应用场合,既要键盘具有普通的数据输入和控制功能,又要键盘具备按钮功能。例如,微机控制的注塑机,在手动控制时需要有点动功能:按钮按下进行调模运动,按钮松开,调模运动停止。本文介绍使8279构成的键盘具有以上功能的实现方法,供读者参考使用。 为了使8279具有合适的键盘、显示功能,首先要对芯片初始化。可适当地挑选8279的控制字,例如:使8279具有8位显示、右端输入、编码键盘、双键锁定时可选控制字10H.这时每次按键都将产生键特征码,并且存放在FIFOROM中,同时使8279的IRQ引脚变为高电平,可作为向CPU申请中断信号,如果CPU是中断开放的,则转向中断服务程序,可在中断服务程序中读取特征码。每当CPU读取FIFOROM中的数据后,8279自动撤消IRQ信号,IRQ引脚变为低电平。CPU返回主程序后,可由键特征码来决定程序的流向。问题是,当CPU从8279的FIFOROM中读取键特征码后,IRQ虽然恢复底电平,但FIFOROM中的数据并没有消失,仍保存在里面,这时即使使用对改8279清除的指令D3H,也不能将FIFOROM中的数改变,只有按其它键才能改变FIFOROM中的数据,因这样是无法实现按钮功能的。 为了使键盘具有按钮功能,应该利用8279的传感方式功能,在传感器 - 18 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 方式中,8279每当检测到传感状态变化时,IRQ就变为高电平,图1是以 8031CPU构成的系统为例,说明IRQ引脚电平的翻新过程。 8279的IRQ端经 反相器接到8031的 INT1端(即P3.3引 脚)。先将8279设置成 编码键盘,允许INT1 中断,当键按下时,反 相器输出低电平,CPU 进入中断服务程序,读 取键特征码后,又为高 电平。返回主程序后, 转向功能程序(例如调 模进)。输出控制信号 (例如P1.0为“1”时 调模进电磁阀得电) 后,将8279设置为传 感器方式,并且不允许 INT1中断,然后调试 P3.3是否为低电平。如 果按键松开,8279将测 出传感器状态发生变 化,而使IRQ由低电平 转为高电平。也就是说 P3.3脚为低电平时,按 键已经松开,程序重新 设置8279为编码键盘, INT1中断开放,以便使 键盘脱离按钮功能。 实现以上功能的 程序清单如下: 根据结构框图,分别介绍各部分电路工作原理。 1.I/O控制及数据缓冲器 数据缓冲器是双向缓冲器,连接内、外总线,用于传送CPU和8279 之间的命令或数据;I/O控制线是 CPU对8279进行控制的引线。CS是8279的片选信号,CS=0时,8279才被 允许读出或写入信息。WR、RD为来自 CPU的控制信号。 A0用于区别信息特性:A0=1时,表示数据缓冲器输入为指令、输出 - 19 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 为状态字;A=0时,输入、输出皆为数据。 2.控制与定时寄存器及定时控制 控制与定时寄存器用来寄存键盘及显示的工作方式,以及由CPU编程的其它操作方式。这些寄存器一旦接受并锁存送来的命令,就通过译码产生相应的信号,从而完成相应的控制功能。 定时控制包含基本记数键。首级计数器是一个可编程的N级计数器。N可以2~31之间由软件编程,以便 从外界时钟CLK分频得到内部所需要的100KHZ时钟。然后再经过分频为键盘扫描提供适当的逐行扫描频率和显示扫描时间。 3.扫描计数器 扫描计数器有两种工作方式。按编码方式工作时,计数器作二进制记数。4位记数状态从扫描线SL0~SL3 输出,经外部译码器译码后,为键盘和显示器提供扫描线;按译码方式工作时,扫描计数器的最低二位被译码后,从SL0~SL3输出。因此,SL0~SL3提供了4中取1的扫描译码。 4.回复缓冲器、键盘去抖及控制 来自RL0~RL3的8根回复线的回复信号,由回复缓冲器缓冲并锁存。 在键盘工作方式中,回复线作为行列式键盘的行列输入线。在逐行列 输入时,在逐行列扫描时,回复线用来搜索每一行列中闭合的键。当某一键闭合时,去抖电路被置位,延时等待10ms后,再检验该键是否继续闭和,并将该键的地址和附加的移位、控制状态一起形成键盘数据被送入8279内部FIFO(先进先出)存储器。键盘数据格式如下: D7 D6 D5 D4 D3 D2 D1 D0 控制 移位 扫描 回复 控制和移位(D6、D7)的状态由两个独立的附加开关决定,而扫描(D5、D4、D3)和回复(D2、D1、D0)则是被按键置位的数据。D5、D4、D3来自动扫描计数器,是按下键的行列编码,而(D7D7D7)则来自行/列计数器,它们是根据回复信号而确定的行/列编码。 在传感器开关状态矩阵方式中,回复线的内容直接被送往和相应的传感器RAM(即FIFO存储器)。 在选通输入方式中,回复线的内容在CNTL/STB线的脉冲上升沿被送入FIFO存储器。 5.FIFO/传感器及其状态寄存器 FIFO/传感器RAM是一个双重功能的8×8RAM。 在键盘或选通方式工作时,它是FIFO存储器,其输入或读出遵循先入先出的原则。FIFO状态寄存器用于存放FIFO的工作状态。例如,RAM是满还是空;其中存有多少数据;是否操作出错等。当FIFO存储器不空,状态逻辑将产生IRQ=1信号向CPU申请中断。 在传感器矩阵方式工作时,这个存储器以是传感器不是存储器。它存放着传感器矩阵中的每一个传感器状态。在此方式中,若检索出传感器的变化,IRQ信号变为高电平,向CPU申请中断。 - 20 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 6.显示RAM和显示地址寄存器 显示RAM用来存储显示数据。容量为16×8位。在显示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器分别为A、B两组,OUTA0~3和OUTB0~3可以单独送数,也可以组成一个8位的字。显示寄存器的输出与显示扫描配合,不断从显示RAM中读出显示数据,同时轮流驱动被选中的显示器件,以达到多路复用的目的,使显示器件呈现稳定的显示状态。 显示地址寄存器用来寄存由CPU进行读/写显示RAM的地址,它可以由命令设定,也可以设置成每次读写或写入之后自动递减。 二.管脚、引线与功能 8279采用40引脚封装,其管脚、引线功能如图6-10-2所示。其引脚功能如下: D0~D7(数据总线):双向、三态总线,和系统数据总线相连;用于CPU和8279间的数据/命令传递。 CLK(系统时钟):输入线,为8279提供内部时钟的输入端。 RESET(复位):输入线,当RESET=1时,8279复位,其复位状态为: 16个字符显示; 编码扫描键盘--双键锁定; 。 程序时钟编码为31 CS(片选):输入线,当CS=0时8279被选中,允许CPU对其读、写,否则被禁止。 A0(数据选择):输入线。当A0=1时CPU写入数据为命令字,读出数 据为状态字;A0=0时CPU读、写的字节均为数据。 RD、WR(读、写信号):输入线。低电平有效,来自CPU的控制信号,控制8279的读、写操作。 IRQ(中断请求):输出线。高电平有效。 在键盘工作方式中,当FIFO/传感器RAM存有数据时,IRQ为高电平。CPU每次从RAM中读出数据时,IRQ变为低电平。若RAM中仍有数据,则IRQ再次恢复高电平。 在传感器工作方式中,每当检测到传感器状态变化时,IRQ就出现高电平。 SL0~SL3(扫描线):输出线。用来扫描键盘和显示器。它们可以编程设定为编码(4中取1)或译码输出(16取1)。 RL0~RL7(回复线):输入线。它们是键盘矩阵或传感矩阵的列(或行)信号输入线。 SHIFT(移位信号):输入线、高电平有效。该输入信号是键盘数据的最高位(D7),通常用来扩充键开关的功能,作为控制功能键用。 在选通输入方式时,该信号的上升沿可将来自RL0~RL7的数据存入FIFO RAM中。 在传感器输入下,该信号无效。 OUTA0~OUTA3(A组显示信号):输出线。 OUTB0~OUTB3(B组显示信号):输出线。 这两组引线都是显示数据输出线,与多位数字显示的扫描线SL0~SL3同步,两组可以独立使用,也可以合并使用。 BD(显示消隐):输出线。低电平有效。该信号在数字切换显示或使 - 21 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 用消隐命令时,将显示消隐。 三、命令格式与命令字 8279的操作方式是通过CPU对8279送入命令时来实现编程的。当数据选择端A0置1时,CPU对8279写入数据为命令字,读出的数据为状态字。 8279共有八条命令。其功能及命令字定义分述如下。 1.键盘/显示方式设置命令字 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 D D K K K 其中: D7、D6、D5=000方式设置命令特征位。 D D(D4、D3):来设定显示方式,其定义如下: 00:8个字符显示,左入口 00:16个字符显示,左入口 00:8个字符显示,右入口 00:16个字符显示,右入口 所谓左入口,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列; 所谓右入口,即显示位置从最右一位(最低位)开始,以后逐次输入的显示字符时,已有的显示字符逐个向左顺序移动。 KKK(D2、 D1、 D0):用来设定七种键盘、显示工作方式: 000 编码扫描键盘,双键锁定 001 译码扫描键盘,双键锁定 010 编码扫描键盘,N键轮回 011 译码扫描键盘,N键轮回 100 编码扫描传感器矩阵 101 译码扫描传感器矩阵 110 选通输入,编码显示扫描 111 选通输入,译码显示扫描 双键锁定与N键轮回是多键按下时的两种不同的保护方式。双键锁定为两键同时按下提供的保护方法。再消颤周期里,如果有两键同时按下,则只有其中一个键弹起,而另一个键保持在按下位置时,才被认可。N键轮回为N键同时按下的保护方法。当有若干键按下时,键盘扫描能够根据发现他们的顺序,依次将它们的状态送入FIFO RAM中。 2.程序时钟命令 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 - 22 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 0 0 1 P P P P P 其中: D7、D6、D5=001为时钟命令特征位。 PPPPP( D4、D3、D2、D1、D0)用来设定外部输入CLK端的时钟进行分频的分频数N。N取值为2~31。例如外部时钟频率为2MHZ,PPPPP被置为10100(N=20),则对输入的外部时钟20分频,以获得8279内部要求的100KMZ的基本频率。 3.读FIFO/传感器RAM命令 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 AI X A A A 其中: D7D6D5 =010为读FIFO/传感器RAM命令特征位。该命令字只在传感器方式时使用。在CPU读传感器RAM之前,必须使用这条命令来设定传感器RAM中的8个地址(每个地址一个字节)。 AAA(D2、D1、D0)为传感器RAM中的八个字节地址。 AI(D4)为自动增量特征位。当AI=1时,每次读出传感器RAM后地址自动加1使地址指针指向下一个存储单元。这样,下一个数据便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。 在键盘工作方式中,由于读出操做严格按照先入先出顺序,因此,不需使用此命令。 4.读显示RAM命令 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 1 1 AI A A A A 其中: D7D6D5 =011为读显示RAM命令字的特征位。该命令用来设定将要读出的显示RAM地址。 AAAA(D3、D2、D1、D0)用来寻址显示RAM命令字的特征位。由位显示RAM中有16个字节单元故需要4位寻址。 AI(D4)为自动增量特征位。当AI=1时,每次读出后地址自动加1指向下一地址。 5.写显示RAM命令 命令格式: - 23 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 AI A A A A 其中: D7D6D5 =100为写显示RAM命令字的特征位。在写显示器RAM之前用该命令用来设定将要写入的显示RAM地址。 AAAA(D3、D2、D1、D0)为将要写入的存储单元地址。 AI(D4)为自动增量特征位。当AI=1时,每次写入后地址自动加1指向下一次写入地址。 6.显示禁止写入/消隐命令特征位 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 IW IW BL BL 1 0 1 X A B A B 其中: D7D6D5 =101为显示禁止写入/消隐命令特征位。 IW/A、IW/B(D3、D2)为A、B组显示RAM写入屏蔽位。由于显示寄存器分成A、B两组,可以单独送数,故用两位来分别屏蔽。当A组的屏蔽位D3=1时,A组的显示RAM禁止写入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个双四位显示器是相互独立的。为了给其中一个双四位显示器输入数据而又不影响另一个四位显示器,因此必须对另一组的输入实行屏蔽。 BL/A、BL/B(D1、D0)为消隐显示位。用于对两组显示输出消隐。若BL=1时,对应组的显示输出被消隐。当BL=0时,则恢复显示。 7.清除命令 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 CD CD CD CF CA 其中: D7D6D5 =110清除命令特征位。 CDCDCD(D4D3D2)用来设定清除显示RAM方式。共有四种消除方式,见表6-10-1。 CF(D1)用来置空FIFO存储器,当=1时,执行清除命令后,FIFO RAM被置空,使中断输出线复位。同时,传感器RAM的读出地址也被置0。 - 24 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 CA(D0)为总清的特征位。它兼有CD和CF的联合效能。在CD=1时,对显示的清除方式由D3、D2的编码决定。 清除显示RAM约需160µS。在此期间FIFO状态时的最高位DU=1,表示显示无效。CPU不能向显示RAM写入数据。 8.结束中断/错误方式设置命令 命令格式: D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 E × × × × 其中: D7D6D5 =111为该命令的特征位。此命令有两种不同的作用。 (1)作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路将其状态写入传感器RAM,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址的自动递增特征没有置位(AI=0),则中断请求IRQ在CPU第一次从传感器RAM读出数据时就被清除。若自动递增特征已置位(AI=1),则CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令才能使IRQ变低。因此在传感器工作方式中,此命令用来结束传感器RAM的中断请求。 (2)作为特定错误方式设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期内,如果发现多个按键同时按下,则FIFO状态字中的错误特征位S/E ,并产生中断请求信号和阻止写入FIFO RAM。 将置1 上述八种用于确定8279操作方式的命令字皆由D7D6D5特征位确定,输入8279后能自动寻址相应的命令寄存器。因此,写入命令字时唯一的要求是使数据选择信号A0=1。 四、状态格式与状态字 8279的FIFO状态字,主要用于键盘和选通工作方式,以指示FIFO RAM中的字符数和有无错误发生。其格式为: D7 D6 D5 D4 D3 D2 D1 D0 DU S/E O U F N N N 其中: DU( D7)为显示无效特征位。当DU=1表示显示无效。当显示RAM由于清除显示或全清命令尚未完成时,DU=1。 表6-10-1 CD位定义的清除方式 - 25 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 D4 D3 D2 清除方式 0 × 将显示RAM全部清零 1 1 0 将显示RAM清成20H(A组=0010;B组=0000) 1 1 将显示RAM全部置1 0 不清除(若CA=1,则D3、D2仍有效) 2、8279的引脚功能: 采用单?5V电源供电,40脚封装。 DB0,DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。 CLK:时钟输入线,用以产生内部定时的时钟脉冲。 RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。 CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。 A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态, 当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。 RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。 WR:写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。 可按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU接口功能块控制功能块包括控制和定时寄存器,定时和控制,扫描计数器三部分,它主要用来控制键盘和显示功能块工作. ::控制和定时寄存器:用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能. ::定时和控制:它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5. 1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数. ::扫描计数器:扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为显示器和键盘的译码扫描. - 26 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 3、8279的工作方式: 键盘的工作方式 通过对键盘方式命令字的设置,可置为双键互锁和N键巡 回方式。 1) 键盘扫描方式,双键互锁 在双键互锁方式下,如果只有一个按键被按下,此键值 连同CNTL及SHIFT的状态一起送入FIFO RAM。若有两个或两个以上的键同时按下,不管这些键是以什么次序按下,它只识别最后一个释放的键,并把此键值送入FIFO RAM。 2) 键盘扫描方式,N键巡回 在N键巡回方式下,各键的处理与其他键无关。在这种方式,一次可以按下任意个键,这些键均被识别,并按键扫描的顺序把键值送入FIFO RAM。 3) 键盘扫描,特殊出错方式 在N键巡回方式下,用户可通过“中断结束/设置出错方式命令将8279键盘扫描设定为特殊出错工作方式。在这种方式下,去抖动周期和按键有效性检查与N键巡回方式相同。但是,如果在一个去抖动周期中发现有多键按下,则置出错标志,阻止其信息进入先进先出寄存器,并建立中断标志。在这种方式下,可通过读FIFO状态字来检查出错标志。若发CF=1的清除命令,可使出错标志复位。 2、显示器工作方式 - 27 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 CPU将显示数据写入显示缓冲器时有左端送入和右端送入种方式 1) 左端送入 左端送入方式是简单的显示形式。在这种方式中各显示位直接 与显示器RAM中的一个字节(或半字节)单元对应。RAM中地址0对应最左边的显示字符,而地址15(或7)对应最右边的显示字符。字符送入时第一个字符装入地址0,第二个字符装入地址1,其后依次装入。等到第17(或9)个字符装入时,又从最左边(即地址0)开始。在左端送入时,地址自动加1。例如,选择8个显示器,从左端依次输入10个字符。若设定AI=1,AAAA=0000, 2) 右端送入 右端送入是第一个送入的字符装入到最右边的位置,第二个字符装入时第一个字符左移一位,依次类推。显示字符的个数大于16(或8)时,最左边的字符移出丢失。在右端装入时,地址自动加1。例如,选择8个显示器,从右端输入,若设定AI=1,AAAA=0000,依次送入10个字符,其写入过程如下。 3) 自动加1 在左端送入方式下自动加1使CPU下一次写入地址加1,字符出现在下一单元中。在非自动加1方式下,送入的信息将出现在出 - 28 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 现在RAM中同一地址单元和同一显示位置。在自动加1方式下,信息送入任意地址单元时,其后即从加1单元依次送入。在右端送入方式下,除非地址顺序中断,否则自动加1和非自动加1方式与左端送入时相同。如果右端送入时地址改变,则从新地址开始再依次自动加1。 8279的全部工作都是通过写入8279控制部件中的控制命令来实现。这些控制命令包括工作方式的设置、时钟设 置、读FIFO/传感器RAM、读显示器RAM、写显示器RAM、显示器写禁止/熄灭、清除、中断结束及设置出错方式等。这些控制命令是在芯片引脚CS(片选)为低电平,A(地址最低位)为高电平时由0 数据总线送来,在WR的上升沿写入到相应的部件中。 - 29 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 1、 键盘/显示器工作方式设置命令 命令格式为: D D D D D D D D76543210 其中D、D、D全为零是此命令的特征位;DD(D、D)表 76543 示显示器工作方式;KKK(DDD)表示键盘工作方式。其功能210 如下。 D D D、D) 43 0 0 8位字符显示,左端输入 0 1 16位字符显示,左端输入(复位后的状态) 1 0 8位字符显示,右端输入 1 1 16位字符显示,右端输入 左端输入,指显示位置从最左一位开始,以后输入的字符逐个向右顺序排列。右端输入的显示方向正好相反。 复位后DD=01,即进入16位字符显示,左端输入方式。在键盘工作方式设定为译码扫描方式时,显示器减少为4位字符,与显示方式无关。 K K K (D、D、D) 210 0 0 0 编码扫描键盘,双键所定(复位后的状态) 0 0 1 译码扫描键盘,双键所定 0 1 0 编码扫描键盘,N键巡回 0 1 1 译码扫描键盘,N键巡回 1 0 0 编码扫描传感器距阵 - 30 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 1 0 1 译码扫描传感器距阵 1 1 0 选通输入,编码显示器扫描 1 1 1 选通输入,译码显示器扫描 复位后KKK=000,即进入编码扫描键盘,双键锁定方式。在选择编码扫描方式时,可外接8*8的键盘或传感器距阵;在选择译码扫描方式时,只能接4*8的键盘或传感器距阵。在选择选通工作方式时,CNTL/STB为选通脉冲输入端,而RL-RL为信号70输入口。 双键锁定与N键巡回是多键按下时的两种不同保护方式。双键锁定为两键同时按下提供的保护方式。在消抖动周期里,如果有两键同时被按下,则只有其中一个键弹起,而另一个键保持在按下位置时才被认可。N键巡回为N键同时按下的保护方式。当有若干键按下时,键盘扫描能够根据它们按下的顺序,依次将它们的状态送入FIFO RAM中。 2、 时钟设置命令 命令格式为: D D D D D D D D 76543210 0 0 1 P P P P P 其中D、D、D为001是此命令的特征位;PPPP(DDDDD )76543210是预分频定标值,为2—31。预分频定标器对外部时钟进行PPPP分频,以产生内部时钟基频。若设定的时钟基频为100KHz时,将给出规定的扫描与去抖动时间。例如外部输入CLK为2MHz时, - 31 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 若设置PPPPP=10100,将产生100KHz的内部时钟。复位后分频定标值为31。 3、 读FIFO/传感器RAM命令 命令格式为: D D D D D D D D 76543210 0 1 0 AI X A A A 其中D、D、D为010是此命令的特征位;X为任意项;AI (D)7654为FIFO/传感器RAM地址自动加1标志位;AAA(DDD )为210RAM地址。该命令在传感器距阵方式下用来对传感器RAM进行读出。当AI=0时,CPU对地址为AAA的单元读数,读完后地址自动加1,以后RAM中的内容按照先进先出的顺序读出。这时若需要读选择单元之外的内容时,须使用其他命令。地址自动加1对显示器没有影响。 4、 读显示器用RAM命令 命令格式为:D D D D D D D D 76543210 0 1 1 AI A A A A 其中D、D、D为011是此命令的特征位;X为任意项;765 AI (D)为显示器用RAM地址自动加1标志位;AAAA(DDD 4321D )为RAM地址。该命令对显示器RAM进行读出。在读出时,0 若AI=1,读出后RAM地址自动加1,即指示下一单元(读出字符)。5、写显示器用RAM命令 命令格式为:D D D D D D D D 76543210 - 32 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 1 0 0 AI A A A A 其中D、D、D为100是此命令的特征位;AI(D)为显示7654 器用RAM地址自动加1标志位;AAAA(DDD D )为RAM3210地址。该命令对显示器RAM进行写入。在写入时,若AI=1,写入后RAM 地址自动加1,即指示下一写入单元。启动显示器用RAM写入时,首先向8279写入该命令(A0=1),其后写入数据进入RAM单元。 5、 显示器写禁止/熄灭命令 命令格式为:D D D D D D D D 76543210 1 0 1 X IWA IWB BLA BLB 其中D、D、D为101是此命令的特征位;X为任意项;IW765 (DD)表示禁止写(半字节A或B);BL(D D )表示熄3210 灭(半字节A或B)。在双4位显示器使用时,即OUTA—3 OUTA和OUTB—OUTB独立地作为两个半字节输出。如果030 显示内容仅供一个4位显示器使用时,则必须将另外半字节屏 蔽掉。IW标志位就是用来屏蔽其中的半字节。如果要求其中 一半不显示,可用BL标志使其熄灭(或称空格)。若要使8 位显示器熄灭,可将两个BL标志位全置1。 6、 清除命令 命令格式为:D D D D D D D D 76543210 1 1 0 CD CD CD CF CA - 33 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 其中D、D、D为110是此命令的特征位;CD表示清除显765 示位,用来对显示器RAM进行状态设置;CF表示清除FIFO状态(包括中断)位;CA表示总清。CD作用如下。 CD CD CD (D、D、D) 432 1 0 X 全部清0(其中X表示任意) 1 1 0 将显示器RAM清成20H(A组=0010,B组=0000) 1 1 1 全部置1 0 X X 不清除(若CA=1,仍进行清除,清楚方法同上) 清除显示器需要一次显示扫描时间,在这一段时间中,CPU 不能向显示器RAM进行写入,且FIFO状态字的最高位置1。CF用来将FIFO状态清除,使中断标志复位,传感器RAM 指示器指向第0单元。CA相当于CD和CF的结合,CA利用CD码决定如何对RAM进行清除,同时清除FIFO状态字,并使内部定时计数器链复位,以实现新的同步。 8、中断结束/设置出错方式命令 命令格式为:D D D D D D D D 76543210 1 1 1 E X X X X 其中D、D、D为111是此命令的特征位;X表示任意项。765 在传感器距阵方式下,该命令使IRQ标志变成低电平(即中断结束),允许再次对RAM进行写入(在检测到传感器数据变化后,IRQ线可能已经变成高电平,这样就会禁止在复位前 - 34 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 将信息再度写入RAM)。在N键巡回工作方式下,若将E置“1”,8279将在“特殊出错方式”下运行。 以上介绍了8279的控制命令字,对于8279的所有控制操作都是通过命令字来进行。而8279的一些状态特征则反映在状态字中,如FIFO的状态、出错以及显示器不能用等。CPU可在A为高电平,(CS和RD为低电平时读状态字,以检测82790 的当前状况;在A0、CS和RD为低电平时,读出8279中的数据,读出单元由读FIFO或读显示器命令字来确定。在读出操作中,如果自动加1标志位AI为1,则在RD的后沿RAM地址加1。如果不出错,在读FIFO时地址总是自动加1,与AI无关。当A0、CS和WR为低电平时,CPU可对显示用RAM进行写如操作,写入地址由写显示器RAM控制命令字来确定,如果自动加1标志位AI为1,则WR在后沿RAM地址加1。 9、8279的数据格式 对8279输入数据时(如显示数据、键输入数据、传感器距阵数据等),要选择数据输入输出口地址。8279的数据输入输出口地址有CS=0、A0=0确定。 (1) 在键盘扫描方式下,进入先进先出寄存器的数据对应 于该键在键盘上的位置以及CNTL和SHIFT线的状 态。其中CNTL状态在最高位,SHIFT在次高位,接 下去的3位来自扫描计数器,表示该键所在的行,最 - 35 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 后3位来自列计数器,表示与该键连接的回送线。8279 中键输入数据按下列格式存放。 D D D D D D D D 76543210 CNTL SHIFT 扫描 回送 (2) 在传感器距阵方式下,回送线上的数据直接送入传感 器RAM内对应于阵列中该扫描行的那一单元中。因 此,每个开关的位置直接映射为传感器RAM中的一 个单元,而不理会CNTL和SHIFT输入。在这种方式 下,回送线上连接的不限于按键开关,还可连接其他 可扫描元件。这样,可在回送线上接入8个多路转换 输入口,由8279扫描。扫描数据入下。 D D D D D D D D 76543210RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0 (3)在选通输入方式下,数据也从回送线上送入先进先出寄存器,由CNTL/STB脉冲的上升沿送入。这些数据可能来自另一编码键盘或简单的开关距阵。在这种情况下,回送线亦可作为通用选通输入来使用。输入数据的格式与上述传感器距阵方式相同。 - 36 - 可编程计算机键盘显示器接口电路设计 中国人民解放军防空兵指挥学院毕业论文 - 37 - 可编程计算机键盘显示器接口电路设计
/
本文档为【毕业论文-可编程计算机键盘显示器接口电路设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索