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的內容已反映在顯示器上。因此,顯示器透過重新整理內容顯示不同的字元。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP