2009级微机原理与接口技术实验(5)

2019-05-17 14:07

图0—14

图0—15

20

实验一 8279A可编程键盘显示接口实验

因为对8259A只须简单了解,知道如何使用它。如果对8259A不需要详细了解的同学可直接从预备知识第四项相关表格开始。 一、预备知识

8279A是一种通用的可编程键盘/显示器接口电路,可对64个开关矩阵组成的键盘进行自动扫描,接受键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED进行扫描,使显示缓冲器的内容在LED上显示出来。

(1)、引脚功能

DB0—DB7:双向数据总线。

CLK:时钟输入线,以产生内部时钟。

RESET:复位线,高电平有效。复位后,8279A置为16位显示左边输入。 /CS:片选,低电平有效。

A0:地址输入线,用于区分数据线传送的是数据还是命令。A0=0传送数据,A0=1传送命令。

/RD:读信号线,低电平有效。内部缓冲器信息送DB0-DB7。

/WR:写信号线,低电平有效。数据总线上的信息写入内部缓冲器。

IRQ:中断请求输出线,高电平有效。当FIFORAM中有键输入数据时,IRQ升为高电平,向CPU 请求中断。CPU读出FIFORAM时,IRQ变为低电平,若RAM中还有数据,IRQ又为高电平,直至RAM中为空,IRQ才保持低电平。 SL0-SL3:输出扫描线

RL0-RL7:键盘矩阵的行(列)数据输入线。其内部有拉高电阻,使之保持高电平。 SHIFT:换挡输入线。其内部有拉高电阻,使之保持高电平。

CNTL/STB:控制/选通输入线。其内部有拉高电阻,使之保持高电平。 OUTA0-OUTA3:四位输出口。 OUTB0-OUTB3:四位输出口。

这两个口是16×4显示器更新寄存器的输出端,输出的数据和SL0-SL3信号同步,用于多位显示器显示。

/BD:显示消隐输出线。低电平有效。

(2)、8279A内部结构

8279A内部具有时序控制逻辑,通过控制和时序寄存器存放键盘和显示器的工作方式和其它 状态信息。内部还包含有N分频器,分频系数为N,由2—31之间任意一数可编程确定,对CLK上时钟进行N分频以产生基本的100KHZ的内部计数信号。 8279A内部的扫描计数器有两种工作方式:一是编码方式,计数器以二进制方式计数,4位计数器的状态直接从SL0—SL3上输出,由外部译码器对SL0—SL3译码产生键盘和显示的扫描信号,高电平有效;二是译码方式,对计数器的低二位译码后从SL0—SL3上输出,做为4×8键盘和4位显示器的扫描信号,低电平有效。

8279A在键盘工作时,由输入缓冲区锁存RL0—RL7上的信息,以确定键入情况。 FIFP/传感器RAM:它是一个双功能的8×8RAM,在键盘和选通方式中,它是一个先进

21

先出的数据缓冲器。当/CS=0,A0=1,/RD=0时,读出FIFO的内容,FIFO中有数据时,由控制电路发IRQ信号。在传感方式中,8×8RAM 用作传感器RAM,当检测到某个传感器发生变化时,IRQ变高。

显示器地址寄存器和显示RAM:用以存放CPU当前正在读写的显示RAM单元地址,以及正在显示的两个4位半字节地址。在选定了工作方式和地址后,CPU可直接读出显示RAM中的内容。

(3)、8279A的控制命令

① 键盘显示方式设置命令

D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 D D K K K

显示方式 数据输入及扫描方式

0 0—8字符显示,左端输入* 0 0 0—编码扫描,键盘输入,2键互锁* 0 1—16字符显示,左端输入 0 0 1—译码扫描,键盘输入,2键互锁 1 0—8字符显示,右端输入 0 1 0—编码扫描,键盘输入,多键有效 1 1—16字符显示,右端输入 0 1 1—译码扫描,键盘输入,多键有效 1 0 0—编码扫描,传感器陈列检测 * RESET后,设定为该种方式 1 0 1—译码扫描,传感器陈列检测 D7、D6、D5=000,键盘显示命令 1 1 0—编码扫描,选通输入 特征字 1 1 1—译码扫描,选通输入

扫描频率控制命令

D7 D6 D5 D4 D3 D2 D1 D0

0 0 1 P4 P3 P2 P1 P0

D7、D6、D5=001,扫描频率控制命令特征字。

P4,P3、P2、P1、P0,对外部时钟CLK的分频系数,使CLK÷分频系数=100KHZ

* RESET后P4—P0=31。

读FIFO/传感器RAM命令

D7 D6 D5 D4 D3 D2 D1 D0

0 1 0 AI X A A A

D7、D6、D5=010,读FIFO/传感器RAM命令特征字。 AI=1,自动增1。AI=0,不自动增1。

D2、D1、D0=AAA,8×8 bit FIFO的地址000—111

该命令字只在传感器方式使用。在键盘工作方式时,由于读出操作严格按照先入先出的顺序,因此,不必使用此条命令。

读显示RAM命令

D7 D6 D5 D4 D3 D2 D1 D0

0 1 1 AI A A A A

D7、D6、D5=011,读显示RAM命令特征字。

22

D3、D2、D1、D0=AAAA,16×8 bit FIFO的地址0000—1111 AI=1,自动增1。AI=0,不自动增1。

写显示RAM命令

D7 D6 D5 D4 D3 D2 D1 D0

1 0 0 AI A A A A

D7、D6、D5=100,写显示RAM命令特征字。

D3、D2、D1、D0=AAAA,16×8 bit FIFO的地址0000—1111 AI=1,自动增1。AI=0,不自动增1。

显示禁止写入/消隐命令

D7 D6 D5 D4 D3 D2 D1 D0

1 0 1 X IWA IWB BLA BLB

D7、D6、D5=101,显示禁止写入/消隐命令特征字。

D3、D2=IWA,IWB,此二位分别用来屏蔽A、B两组显示。例如,当A组的屏蔽位D3=1时,A组显示RAM禁止写入。当B组的屏蔽位D2=1时,B组显示RAM禁止写入。

D1、D0=BLA,BLB是二个消隐特征位。当D1=1时,A组被屏蔽。当D0=1时,B组被屏蔽。

清除命令

D7 D6 D5 D4 D3 D2 D1 D0

1 1 0 CD2 CD1 CD0 CF CA

D7、D6、D5=110,清除命令特征字,此命令用来清除FIFO RAM和显示RAM。

D4、D3、D2=CD2,CD1,CD0用来设定清除显示RAM的方式。共有四种清除方式。 A、 D4、D3、D2=10X—将显示RAM全部清

B、 D4、D3、D2=110—将显示RAM全部清成20H,A组=0010,B组=0000 C、 D4、D3、D2=111—将显示RAM全部置1

D4、D3、D2=0XX—不清除,但CA=1时,则D3、D2仍有效

D1=CF用来置空FIFO存贮器、当CF=1时、FIFO RAM被置空,使中断输出线TRQ复位。同时,传感器RAM的读出地址也被置0。

D0=CA为总清的特征位。当CA=0时,清除显示RAM。当CA=1时,对显示的清除方式由D3、D2的位编码决定。

中断结束/出错方式没置命令

D7 D6 D5 D4 D3 D2 D1 D0

1 1 1 E X X X X

D7、D6、D5=111,该命令特征字。 E=1为设置中断结束/出错方式

RESET后E=0

上述8279的8种命令字皆由D7、D6、D5特征位确定。

8279A的FIFO状态字

D7 D6 D5 D4 D3 D2 D1 D0

Du S/E O U F N N N

Du=1,显示无效

23

S/E=1,传感器信号进入RAM/多键同时按下错误 O=1,FIFO溢出出错 U=1,FIFO取空出错 F=1,FIFO满

NNN,FIFO中的字符数(000—111) FIFO状态字由控制字口读入

(4)、相关表格

键值和键名的对照表2—1 键名 0 1 2 3 4 5 6 7 8 9 A 键值 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 键名 B C D E F EXEC MON MOV NEXT STEP LAST 键值 0BH 0CH 0DH 0EH 0FH 10H 10H 10H 显示值和显示代码对照表2—2

显示值 显示代码 11H 11H 14H 0 3FH 8 7FH 1 06H 9 6FH 2 5BH A 77H 3 4FH B 7CH

4 66H C 39H 5 6DH D 5EH 6 7DH E 79H 7 07H F 71H 显示值 显示代码 (5)、显示值和显示代码的关系 (6)、编程提示: 通常只要是可编程接口,便一定要在程序前先写控制字。在预备知识中,我们时常看到

24


2009级微机原理与接口技术实验(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013-2018年中国特殊工业用膜产业调研与战略咨询报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: