键盘显示接口芯片的应用Word文档下载推荐.docx
《键盘显示接口芯片的应用Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《键盘显示接口芯片的应用Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。
在传感器方式和选通方式中,该引脚无用。
CNTL/S:
控制/选通输入线,高电平有效。
键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;
选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFORAM中。
OUTA0---OUTA3:
通常作为显示信号的高4位输出线。
OUTB0---OUTB3:
通常作为显示信号的低4位输出线。
/BD:
显示熄灭输出线,低电平有效。
当/BD=0时将显示全熄灭。
2.8279的工作方式
8279有三种工作方式:
键盘方式、显示方式和传感器方式。
(1)键盘工作方式
8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。
双键互锁方式:
若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFORAM中。
N键循回方式:
一次按下任意个键均可被识别,按键值按扫描次序被送入FIFORAM中。
(2)显示方式
8279的显示方式又可分为左端入口和右端入口方式。
显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。
14
左端入口方式即显示位置从显示器最左端1位(最高位)开始,以后显示的字符逐个向右顺序排列;
右端入口方式即显示位置从显示器最右端1位(最低位)开始,已显示的字符逐个向左移位。
但无论左右入口,后输入的总是显示在最右边。
(3)传感器方式
传感器方式是把传感器的开关状态送入传感器RAM中。
当CPU对传感器阵列扫描时,
一旦发现传感器状态发生变化就发出中断请求(IRQ置1),中断响应后转入中断处理程序。
3.8279的命令字及其格式
(说明:
读者也可直接根据本实验讲义第24页8279命令一览表设置命令字)
8279的各种工作方式都要通过对命令寄存器的设置来实现。
8279共有8种命令,通
过这些命令设置工作寄存器,来选择各种工作方式。
命令寄存器共8位,格式为:
D7D6D5D4D3D2D1D0
命令类型命令内容
如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由
命令寄存器高3位D7---D5决定。
D7---D5三位的状态可组合出8种形式,对应8类命令。
另一部分为命令的具体内容,由D4---D0决定。
每种特征所代表的命令如表3.3所示
表3.38279命令特征表
D7D6D5代表的命令类型
000键盘/显示命令
001时钟编程命令
010读FIFO/传感器RAM命令
011读显示器RAM命令
100写显示命令
101显示禁止/熄灭命令
110清除命令
111结束中断/出错方式设置命令
下面详细说明各种命令中,D4---D0各位的设置方法,以便确定各种命令字。
(1)键盘/显示命令
特征位D7D6D5=000
D4、D3两位用来设定4种显示方式,D2---D0三位用以设定8种键盘/显示扫描方式,分别如表3.4和表3.5所示。
表3.4显示方式
D4D3显示方式
008个字符显示,左端入口方式
0116个字符显示,左端入口方式
108个字符显示,右端入口方式
1116个字符显示,右端入口方式
15
表3.5键盘/显示扫描方式
D2D1D0键盘、显示扫描方式
000编码扫描键盘,双键锁定
001译码扫描键盘,双键锁定
010编码扫描键盘,N键轮回
011译码扫描键盘,N键轮回
100编码扫描传感器矩阵
101译码扫描传感器矩阵
110选通输入,编码显示扫描
111选通输入,译码显示扫描
表3.5中所谓译码扫描指扫描代码直接由扫描线SL0---SL3输出,每次只有1位是低电平(4选1)。
所谓编码扫描是指扫描代码经SL0---SL3外接译码器输出。
由于键盘最大8*8=64个键,由SL0---SL2接3---8译码器,译码器的8位输出作为
键盘扫描输出线(列线),RL0---RL7为输入线(行线)。
8279最多驱动16位显示器,故可由SL0---SL3接4---16译码器,译码器的16位输出作为显示扫描输出线(16选1),决定第几位显示。
显示字段码由OUTA0---OUTA3和OUTB0---OUTB3输出。
表3.3、表3.4、表3.5三个表相互组合可得到各种键盘显示命令。
例1:
若希望设置8279为键盘译码扫描方式、N键轮回,显示8个字符、右端入口方式,确定其命令字。
根据题目要求可进行分析,因为具有下列条件:
是键盘/显示命令特征位:
D7D6D5=000(表3.3);
8个字符右端入口显示:
D4D3=10(表3.4);
键盘译码扫描,N键轮回:
D2D1D0=011(表3.5);
所以8位命令器存器状态D7---D0=00010011B,即该命令字13H送入命令寄存器口地址则可满足题目要求。
例2:
若已知命令字为08H,判断8279工作方式。
因为命令字为08H即D7---D0=00001000B,显然D7D6D5=000,该条命令为键盘/显
示命令,D4D3=01为16字符左端入口显示方式,D2D1D0=000,键盘为编码扫描、双键锁定
方式。
(2)时钟编程命令
特征位D7D6D5=001
D4---D0用来设定分频系数,分频系数范围在0---31之间。
有的设计会用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。
(注意:
实验板上8279的CLK并不直接连到ALE)。
例:
若8279CLK的输入信号频率为3.1MHz,则分频系数应为31D=1FH,于是
D4---D0=11111,则控制字为:
D7---D0=00111111B=3FH
16
(3)读FIFO/传感器RAM命令。
特征位D7D6D5=010
D2---D0为8279中FIFO及传感器RAM的首地址。
D3无效位。
D4控制RAM地址自动加1位:
D4=1时,CPU读完一个数据,RAM地址自动加1,准备读下一个单元数据;
D4=0时,CPU读完一个数据,地址不变。
欲编程使单片机连续读8279内FIFO/传感器RAM中000---111单元的数据,设置读命
令。
分析:
因为要连续读数,地址又连续。
所以最好设置为自动加1方式,即D4=1,RAM
内首地址000即D2---D0=000,再加上特征位,所以该命令控制字为:
D7---D0=01010000B=50H(无用位D3设为0)。
送入50H控制字,在执行读命令时,先从
FIFO/传感器RAM中000单元读数,读完一个数,地址自动加1,又从001单元读数,依次
类推,
直到读完所需数据。
(4)读显示RAM命令
特征位D7D6D5=011
D4=1RAM地址自动加1,D4=0不加1。
D3---D0为显示RAM中的地址。
欲读显示RAM中1000单元地址,求命令字。
因为只读一个数,地址不需自动加1,即设置D4=0,特征位为011,地址为1000,所以其控制命令字为D7---D0=01101000B=68H。
(5)写显示RAM命令
特征位D7D6D5=100。
D4是地址自动加1控制,D4=1,地址自动加1;
D4=0,地址不加1。
D3---D0是欲写
入的RAM地址,若连续写入则表示RAM首地址。
命令格式同读显示RAM。
(6)显示器禁止写入/熄灭命令
特征位D7D6D5=101
D4:
无用位。
D3:
禁止A组显示RAM写入,D3=1,禁止。
D2:
禁止B组显示RAM写入,D2=1,禁止。
D1:
A组显示熄灭控制。
D1=1,熄灭;
D1=0,恢复显示。
D0:
B组显示熄灭控制。
D0=1,熄灭;
D0=0,恢复显示。
利用该命令可以控制A、B两组显示器,哪组继续显示,哪组被熄灭。
假设A、B两组灯均已被点亮,现在希望A组灯继续亮,B组灯熄灭,确定其命令字。
分析:
根据命令格式,A组灯继续亮应禁止A组RAM再写入其他数据,故D3=1;
B组
显示熄灭D0=1,除特征位外其余位设为“0”。
故其控制命令字为。
(7)清除(显示RAM和FIFO中的内容)命令
特征位D7D6D5=110
D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。
17
D1=1清除FIFO状态,使中断输出线复位,传感器RAM的读出地址清0。
D4---D2:
设定清除显示RAM的方式,如表3.6所示。
表3.6清除显示RAM方式
D4D3D2清除方式
0X将全部显示RAM清为0
110将显示RAM置为20H(A组=0010,B组=0000)
11将显示RAM置为FFH
0D0=0,不清除;
D0=1,仍按上述方式清除
将全部显示RAM清0,其命令字为:
(8)结束中断/出错方式设置命令
特征位D7D6D5=111
D4=1时(其D3---D0位任意)有两种不同作用。
第一:
在传感器方式,用此命令结束传感器RAM的中断请求。
因为在传感器工作方式时,每当传感器状态发生变化,扫描电路自动将传感器状态写
入传感器RAM,同时发出中断申请,即将IRQ置高电平,并禁止再写入传感器RAM。
中断
响应后,从传感器RAM读走数据进行中断处理,但中断标志IRQ的撤除分两种情况。
若读
RAM地址自动加1标志位为“0”,中断响应后IRQ自动变低,撤消中断申请;
若读RAM地
址自动加1标志位为“1”,中断响应后IRQ不能自动变低,必须通过结束中断命令来撤消
中断请求。
第二:
在设定为键盘扫描N键轮回方式时作为特定错误方式设置命令。
在键盘扫描N键轮回工作方式,又给8279写入结束中断/错误方式命令,则8279将以一种特定的错误方式工作,即在8279消抖周期内,如果发现多个按键同时按下,则将FIFO状态字中错误特征位置“1”,并发出中断请求阻止写入FIFORAM。
根据上述8种命令可以确定8279的工作方式。
在8279初始化时把各种命令送入命令地址口,根据其特征位可以把命令存入相应的命令寄存器,执行程序时8279能自动寻址相应的命令寄存器。
4.8279的状态字及其格式
状态字显示出8279的工作状态。
状态字和8种命令字共用一个地址口。
当A0=1时,从8279命令/状态口地址读出的是状态字。
状态字各位意义如下:
D7:
D7=1表示显示无效,此时不能对显示RAM写入。
D6:
D6=1表示至少有一个键闭合;
在特殊错误方式时有多键同时按下错误。
D5:
D5=1表示FIFORAM已满,再输入一个字则溢出。
D4=1表示FIFORAM中已空,无数据可读。
D3=1表示FIFORAM中数据已满。
D2---D0:
FIFORAM中数据个数。
显然,状态字主要用于键盘和选通工作方式,以指示FIFORAM中的字符数及有无错误发生。
18
5.8279数据输入/输出格式
对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。
(1)键盘扫描方式数据输入格式
键盘的行号、列号及控制键位置如下:
CNTLSHIFTSL2SL1SL0由RLx的x决定
D7:
控制键“CNTL”状态。
控制键“SHIFT”状态。
D5D4D3:
被按键所在列号(由SL0---SL2)状态确定)。
D2D1D0:
被按键所在行号(由RL0---RL7)状态确定)。
(2)传感器方式及选通方式数据输入格式
此种方式8位输入数据为RL0---RL7的状态。
格式如下:
RL7RL6RL5RL4RL3RL2RL1RL0
6.8279译码和编码方式
8279的内、外译码由键盘/显示命令字的最低位D0选择决定。
D0=1选择内部译码,也称为译码方式,SL0—SL3每时刻只能有一位为低电平。
此时8279只能接4位显示器和4×
8矩阵式键盘。
D0=0选择内部编码,也称为编码方式,SL0—SL3为计数分频式波形输出,显示方式
可外接4—16译码器驱动16位显示器。
键盘方式可接3—8译码器,构成8×
8矩阵式键
盘。
D0
f
e
11
a
g
d
74211053
D7
bcdefgdp
b
c
dp
12986
图3.2四位LED—5461AH(共阴极)管脚示意图
(实物数码显示器的左下角为1号引脚,逆时针排序)
19
附:
8279命令功能一览表
D7D6D5D4D3D2D1D0
命令类型命令内容
00000000
键盘/显示双键锁定内编码扫描
左端入口8字符显示01
N键轮回
11101
传感器矩阵内译码扫描
右端入口16字符显示11
选通输入扫描显示
001XXXXX
时钟编程分频系数取值为:
2-31
010XXXXX
读FIFO/传感1-地址自加1
器RAM0-地址不变
(不用)
定8279中FIFO及传感器RAM的首地址
(000-111B共8个单元)
011XXXXX
读显示器1-地址自加1读显示器RAM内容
RAM内容0-地址不变(0000-1111B共16个单元)
100XXXXX
写显示RAM1-地址自加1写显示器RAM
0-地址不变(0000-1111B共16个单元)
101X1111
显示禁止/熄(不用)禁止写A组显禁止写B组A组熄灭B组熄灭
灭示RAM显示RAM
11010X11
清除显示RAM允许清除显示RAM全部清为0FIFO成空状全部清除
和FIFO10态,中断输
显示RAM置为20H(A组出线复位,
=0010B,B组=0000B)传感器RAM
11读出地址置
显示RAM置为FFH0
0XXX1
按D2、D3决定的方式清除
0XXX0
不清除
1111XXXX
结束中断/出A.在传感器方式,用此命令结束传感器RAM的中断请求。
错方式设置B.在键盘扫描N键轮回方式,用此命令设置特定错误方式。
20