8279显示器与8085微处理器接口


Intel 8279用于键盘接口,但也可用于多路复用7段LED显示器接口。要将字符显示到7段显示器上,必须将7段代码存储在显示RAM位置。该芯片的显示RAM可以存储16字节的数据。

写入显示RAM

要写入显示RAM,需要对8279控制端口应用一个特殊命令。以下模式显示写入8279控制端口的RAM命令。

1
0
0
Ai
A
A
A
A

前三位是100。它表示“写入显示RAM”命令。最后四位是AAAA。这些用于选择RAM位置。Ai位是自动递增位。

例如,如果我们想在自动递增模式下写入RAM位置4,则RAM指针将加载地址4。当处理器第一次写入显示RAM时,它将是RAM位置4。然后地址递增到5,依此类推。

以下代码实现了在地址字段中显示ABCD的目标。

MVI A, 10010100
OUT D1H //Write display location 4 in auto increment mode.
MVI A, A1H
OUT D0H //send A1H at RAM location 4
MVI A, C6H
OUT D0H //send C6H at RAM location 5
MVI A, 83H
OUT D0H //send 83H at RAM location 6
MVI A, 88H
OUT D0H //send 88H at RAM location 7

从显示RAM读取

要从8279的任何RAM位置读取,需要对8279控制端口应用一个特殊命令。以下模式显示从8279控制端口读取的RAM命令。

0
1
1
Ai
A
A
A
A

前三位是011。它表示“从显示RAM读取”命令。最后四位是AAAA。这些用于选择RAM位置。Ai位是自动递增位。显示RAM对于读写操作是相同的。

例如,如果我们想从自动递增模式下的RAM位置4读取,则RAM指针将加载地址4。

如果RAM位置4和5分别存储了A1和C6,则以下代码实现了从RAM读取AB的目标。

MVI A, 01110100
OUT D1H //Read from display location 4 in auto increment mode.
IN D0H //Load A with A1, the address value is now pointing to
5
IN D0H //Load A with C6

7段显示器操作有两种模式。这些模式是

  • 译码模式操作

  • 编码模式操作

译码模式操作

在这种模式下,不需要外部译码器,一次使一条扫描线为逻辑0,这将选择特定LED位置以进行显示。在这种模式下,可以连接四个显示器。下表显示8279的SL3-0为显示器显示的模式。

SL3-0
所选LED
1110
LED 0
1101
LED 1
1011
LED 2
0111
LED 3


下图说明了如何在译码模式下接口共阳极7段LED显示器。首先,8279芯片在SL3-0上输出1110。这导致显示器0接收其阳极的5V电源,而所有其他LED的阳极都接收0V。

显示RAM位置0的内容由8279在A3-0和B3-0上输出。所有显示器都获得此信息,但字符仅显示在接收5V电源的显示器0上。

接下来,选择线SL3-0加载为1101,因此将选择第二个显示器,并且显示RAM的内容已反映在显示器上。因此,显示器通过刷新内容显示不同的字符。

编码模式操作

这种模式使用广泛,因为在这种模式下,最多可以连接16个显示器。这里需要外部译码器。此模式可用于8字符或16字符显示。对于8字符显示,仅使用SL2-0引脚。SL3未使用。对于16字符显示,所有选择线都使用。

下图说明了如何在编码模式下接口共阳极7段LED显示器。在这个图中,我们假设连接了16个显示器。在这种情况下,SL3-0的值从0000更改为1111,因此只有所选显示器的阳极获得5V电源,而其他显示器的阳极获得0V。

接下来,选择线SL3-0加载为1101,因此将选择第二个显示器,并且显示RAM的内容已反映在显示器上。因此,显示器通过刷新内容显示不同的字符。

更新于:2020年6月27日

3K+浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告