单片机8279键盘显示实验.doc_第1页
单片机8279键盘显示实验.doc_第2页
单片机8279键盘显示实验.doc_第3页
单片机8279键盘显示实验.doc_第4页
单片机8279键盘显示实验.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

6.4 可编程键盘/显示器接口Intel 8279Intel 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。显示输出时,它有一个168位显示RAM,其内容通过自动扫描,可由8位或16位LED数码管显示。 18279的内部结构和工作原理8279的内部结构框图如图6.28所示。下面分别介绍电路各部分的工作原理。1) I/O控制及数据缓冲器数据缓冲器是双向缓冲器,连接内外总线,用于传送CPU和8279之间的命令或数据,对应的引脚为数据总线D0D7。I/O控制线是CPU对8279进行控制的引线,对应的引脚为数据选择线A0、片选线、读/写信号线和。2) 控制与定时寄存器及定时控制控制与定时寄存器用来寄存键盘及显示工作方式控制字,同时还用来寄存其它操作方式控制字。这些寄存器接收并锁存各种命令,再通过译码电路产生相应的信号,从而完成相应的控制功能。与其对应的引脚为时钟输入端CLK及复位端RESET。定时控制电路由N个基本计数器组成,其中,第一个计数器是一个可编程的N级计数器,N为231之间的数。定时控制经软件编程,将外部时钟CLK分频,得到内部所需的100 kHz时钟,为键盘提供适当的扫描频率和显示扫描时间。与其相关的引脚是显示熄灭控制端。3) 扫描计数器扫描计数器由键盘和显示器共用,为它们提供扫描信号。扫描计数器有两种工作方式:编码方式和译码方式。按编码方式工作时,计数器作二进制计数,4位计数状态从扫描线SL0SL3输出,经外部译码器译码后,为键盘和显示器提供扫描信号。按译码方式工作时,扫描计数器的最低两位被译码后,从SL0SL3输出,提供了4选1的扫描译码。与其相关的引脚是扫描线SL0SL3。4) 回复缓冲器、键盘去抖及控制在键盘工作方式下,回复线作为行列式键盘的列输入线,相应的列输入信号称为回复信号,由回复缓冲器缓冲并锁存。在逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖电路被置位,延时等待10 ms后,再检查该键是否仍处在闭合状态。如不闭合,则当作干扰信号不予理睬;如闭合,则将该键的地址和附加的移位、控制状态等键盘数据送入8279内部的FIFO(先进先出)存储器。键盘数据格式如下:控制和移位(D6、D7)的状态由两个独立的附加开关决定,而扫描(D5、D4、D3)和回复(D2、D1、D0)则是被按键置位的数据。D5、D4、D3来自扫描计数器,它们是根据回复信号而确定的行/列编码。在传感器矩阵方式下,回复线的内容直接被送往相应的传感器RAM(即FIFO存储器)。在选通输入方式工作时,回复线的内容在CNTL/STB线的脉冲上升沿被送入FIFO存储器。与其相关的引脚是回复线RL0RL7,控制/选通线CNTL/STB。5) FIFO/传感器RAM及其状态寄存器FIFO/传感器RAM是一个双重功能的88 RAM。在键盘选通工作方式下,它是FIFO存储器,其输入/输出遵循先入先出的原则。此时,FIFO状态寄存器用来存放FIFO的工作状态,如RAM是满还是空,其中存有多少数据,操作是否出错等。当FIFO存储器中有数据时,状态逻辑将产生IRQ=1信号,向CPU申请中断。在传感器矩阵方式下,这个存储器用作传感器存储器,它存放着传感器矩阵中的每一个传感器状态。在此方式下,若检测出传感器有变化,IRQ信号就变为高电平,向CPU申请中断。与其相关的引脚是中断请求线IRQ。6) 显示RAM和显示寄存器显示RAM用来存储显示数据,容量为168位。在显示过程中,显示RAM存储的显示数据轮流从显示寄存器输出。显示寄存器分为A、B两组,OUTA0OUTA3和OUTB0OUTB3。它们既可单独送数,也可组成一个8位(A组为高4位,B组为低4位)的字。显示寄存器的输出与显示扫描配合,不断从显示RAM中读出显示数据;同时轮流驱动被选中的显示器件,以达到多路复用的目的,使显示器件呈稳定显示状态。与其相关的引脚是数据显示线OUTA0OUTA3和OUTB0OUTB3。显示地址寄存器用来寄存由CPU进行读/写显示的RAM地址,它可以由命令设定,也可以设置成每次读出或写入后自动递增。28279的引脚和功能8279采用40引脚双列直插封装,其引脚排列及功能分别如图6.29(a)、(b)所示。8279的引脚功能如下:D0D7:数据总线,双向三态总线。CLK:系统时钟输入端。RESET:系统复位输入端,高电平有效。复位状态为:16个字符显示;编码扫描键盘,双键锁定;程序时钟编程为31。:片选输入端,低电平有效。A0:数据选择输入端。A0=1时,CPU写入的数据为命令字,读出的为状态字;A0=0时,CPU读、写的均为数据。、:读、写信号输入端,低电平有效。IRQ:中断请求输出端,高电平有效。SL0SL3:扫描输出端,用于扫描键盘和显示器。可编程设定为编码(4选1)或译码输出(16选1)。RL0RL7:回复线,它们是键盘或传感器的列信号输入端。SHIFT:移位信号输入端,高电平有效。它是8279键盘数据的次高位(D6),通常用作键盘上、下挡功能键。在传感器和选通方式下,SHIFT无效。CNTL/STB:控制/选通输入端,高电平有效。在键盘工作方式下,它是键盘数据的最高位,通常用作控制键。在选通输入方式下,它的上升沿可把来自RL0RL7的数据存入FIFO/传感器RAM中。在传感器方式下,它无效。OUTA0OUTA3:A组显示信号输出端。OUTB0OUTB3:B组显示信号输出端。:显示熄灭输出端,低电平有效。它在数字切换显示或使用熄灭命令时关显示。3. 8279的工作方式 8279工作方式的确定是通过CPU对8279送入命令字来实现的。当数据选择端A0置1时,CPU对8279写入的数据为命令字,读出的数据为状态字。在叙述命令字、状态字前,先说明8279的几种工作方式。1) 键盘工作方式通过对键盘/显示方式命令字的设置,可置8279为双键互锁方式和N键巡回方式。双键互锁是为两键同时按下提供的保护方法。若有两键或多个键同时按下,则无论这些键是以什么次序按下的,它只识别最后一个释放的键,并把该键值送入FIFO/传感器RAM中。N键巡回是为N个键同时按下时提供的保护方法。若有多个键同时按下,则键盘扫描时可按按键先后顺序依次将键值送入FIFO/传感器RAM中。2) 显示器工作方式通过对键盘/显示方式命令字和写显示RAM命令字的设置,可将显示数据写入显示缓冲器的方式置为左端送入和右端送入两种方式。左端送入为依次填入方式,右端送入为移位方式。3) 传感器矩阵方式通过对读FIFO/传感器RAM命令字的设置可将8279设置成传感器矩阵方式,此时,传感器的开关状态直接送到传感器RAM中。CPU对传感器阵列扫描时,如果检测到某个传感器状态发生了变化,则使中断申请信号IRQ变为高电平。如果AI(D4)=0,则对传感器RAM的第一次读操作即清除IRQ;如果AI(D4)=1,则由中断结束命令清除IRQ。4. 8279的命令格式和命令字 A0=18279共有8条命令,其格式及功能如下所述。1) 键盘/显示方式设置命令字键盘/显示方式设置命令字的命令格式如下:其中:D7 D6 D5为000,是方式设置命令特征位。DD(D4 D3):设定显示方式。其定义如下:00:8个字符显示,左边输入01:16个字符显示,左边输入10:8个字符显示,右边输入11:16个字符显示,右边输入KKK(D2 D1 D0):可设定7种键盘、显示工作方式,其定义如下: 000:编码扫描键盘,双键锁定 001:译码扫描键盘,双键锁定 010:编码扫描键盘,N键轮回 011:译码扫描键盘,N键轮回 100:编码扫描传感器矩阵 101:译码扫描传感器矩阵 110:选通输入,编码显示扫描 111:选通输入,译码显示扫描2) 时钟编程命令时钟编程命令的命令格式如下:其中:D7 D6 D5为001,是时钟编程命令特征位。PPPPP(D4 D3 D2 D1 D0):设定对CLK输入端输入的外部时钟信号进行分频的分频数N,用以产生100 kHz的内部时钟,N的取值为231。若CLK输入的时钟频率为2 MHz,则N=20,PPPPP=10100B。3) 读FIFO/传感器RAM命令读FIFO/传感器RAM命令的命令格式如下:其中:D7 D6 D5为010,是读FIFO/传感器RAM命令特征位。AI(D4)为自动加1标志。AAA(D2 D1 D0)为FIFO/传感器RAM地址。键扫描方式下,数据按先进先出的原则读出,与AI、AAA无关,D0D4可为任意值。此时,该命令字可设为40H。在传感器或选通输入方式下,AAA为RAM地址。当AI=0时,每次读完传感器RAM的数据后地址不变;当AI=1时,每次读完传感器RAM的数据后地址自动加1。这样,下一个数据便从下一个地址读出,不必重新设置读FIFO/传感器RAM命令。4) 读显示RAM命令读显示RAM命令的命令格式如下:其中:D7 D6 D5为011,是读显示RAM命令特征位。AI(D4)为自动加1标志,AI=1时,每次读数后地址自动加1。AAAA(D3 D2 D1 D0)为显示RAM中的存储单元地址。5) 写显示RAM命令写显示RAM命令的命令格式如下:其中:D7 D6 D5为100,是写显示RAM命令特征位。AI(D4)为自动加1标志,AI=1时,每次写入数据后地址自动加1。AAAA(D3 D2 D1 D0)为将要写入的显示RAM中的存储单元地址。CPU将显示数据写入显示RAM时必须先设置键盘/显示方式设置命令字。若选择8个显示器并从左端输入,则键盘应设为双键锁定的编码键盘方式,即设置键盘/显示方式设置命令字为00H。如每次写入数据后自动加1,且从0地址开始写入,则应设置写显示RAM命令字为90H。如要输入10个字符,则其输入过程如表6.8所示(依次填入方式)。如将上述键盘/显示方式设置命令字设置为10H,则可实现从右端输入。其输入过程如表6.9所示(移位方式)。6) 显示禁止写入/消隐命令显示禁止写入/消隐命令的命令格式如下:其中:D7 D6 D5为101,是显示禁止写入/熄灭命令的特征位。IWA、IWB(D3、D2)为A、B组显示RAM写入屏蔽位。因为显示寄存器分成A、B两组,可以单独送数,所以用两位分别屏蔽。当IWA=1时,A组显示RAM禁止写入,此时,从CPU写入显示器RAM的数据不影响A组显示器的显示,这种情况通常用于双4位显示器。IWB的用法与IWA相同,可屏蔽B组显示器。BLA、BLB(D1、D0)为A、B组的消隐设置位。若BLA(或BLB)=1,则对应组的显示输出熄灭;若BLA(或BLB)=0,则对应组恢复显示。7) 清除命令清除命令的命令格式如下:其中:D7 D6 D5为110,是清除命令的特征位。CDCDCD(D4 D3 D2)用来设定清除显示RAM方式,具体设置如表6.10所示。CF(D1)用于清除FIFO存储器,若CF=1,则清除FIFO状态,并使中断输出线复位;同时,传感器RAM的读出地址也被清0。CA(D0)为总清除特征位,兼有CD和CF的联合功能。CF=1时,清除显示器和FIFO的状态。8) 结束中断/出错方式设置命令结束中断/出错方式设置命令的命令格式如下:其中:D7 D6 D5为111,是结束中断/出错方式设置命令的特征位。E(D4)为1时,N键轮回工作方式下,CPU工作在特殊出错方式(多个键同时按下);传感器矩阵方式下,此命令使IRQ变低,结束中断,并允许对RAM进一步写入。5. 8279状态格式与状态字8279的FIFO状态字主要用于键盘和选通工作方式,以指示数据缓冲器FIFO/传感器RAM中的字符数和有错误发生。状态字节的读出地址和命令输入地址相同(=0,A0=1)。状态字节格式如下:其中:DU(D7)为显示无效特征位,DU=1表示显示无效。当显示RAM在清除显示或全清命令尚未完成时,DU=1,此时对显示RAM操作无效。S/E(D6)为传感器信号结束/错误特征位,在读FIFO状态字时被读出,在执行CF=1时被复位。在传感器方式下,S/E=1表示至少有一个键闭合;在特殊出错方式下,S/E=1表示有多键同时按下。O(D5)为FIFO/传感器RAM溢出标志位,若FIFO/传感器RAM填满时再送入数据,则该位置1。U(D4)为FIFO/传感器RAM空标志位,当FIFO/传感器RAM中无数据时,如CPU读FIFO/传感器RAM,则该位置1。F(D3)为FIFO/传感器RAM满标志位,F=1表示FIFO/传感器RAM中已满。NNN(D2 D1 D0)表示FIFO/传感器RAM中的字符个数,即数据个数。68279的数据输入/输出 A=0对8279输入数据(如显示数据、键输入数据、传感器矩阵数据等)时,要选择数据输入/输出口地址。8279的数据输入/输出口地址由/cs=0、A=0确定。在键盘扫描方式下,8279中的键输入数据按下列格式存放:其中,CNTL(D7)为控制键CNTL的状态位。CNTL为单独按键,可与其它键连用,构成特殊命令。SHIFT(D6)为控制键SHIFT的状态位。SHIFT为单独按键,用作按键上、下挡控制。行号(D5 D4 D3)为按下键所在的行号,由RL0RL7的状态确定。列号(D2 D1 D0)为按下键所在的列号,由SL0SL2的状态确定。78279的内部译码与外部译码在键盘、显示器工作方式下,SL0SL3为键盘的列扫描线和动态显示的位选线。当选择内部译码(键盘显示方式设置命令字的D0=1)时,SL0SL3每一时刻只有一位为低电平输出,此时,8279只能外接4位显示器和48键盘。当选择外部译码(键盘显示方式设置命令字的D

温馨提示

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

评论

0/150

提交评论