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+瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.