開關狀態轉移彙編程式
在這個程式中,我們將學習如何使用8085和8255晶片將開關值從一個埠傳輸到另一個埠。
問題陳述:
編寫8085組合語言程式,用於8085和8255之間的介面。這裡八個開關連線到埠A。將這些開關的狀態傳輸到連線了LED的埠B。
討論:
任務很簡單。首先,我們必須設定8255晶片的控制字暫存器。然後,我們將從埠A獲取輸入,並將其傳送到埠B。
控制字暫存器如下所示。它儲存90H。
| 位位置 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
|---|---|---|---|---|---|---|---|---|
| 值 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
控制暫存器的位表示如下

我們將90H放入A暫存器。然後D7為1,所以它工作在IO模式,(D6和D5)為00,所以它表示埠A處於模式1。D4 = 1,所以埠A接收輸入。(D3和D0)為0和0。所以埠C不工作。D2 = 0,因為B也處於模式0,D1 = 0,因為它充當輸出埠。
在指令中,我們將看到**OUT 83**。這裡83是控制暫存器埠的埠號。類似地,**IN 80**表示從埠地址為80的埠A獲取輸入。最後,**OUT 81**表示輸出埠為B,並將累加器中的資料傳送到埠B。
程式:
| 地址 | 十六進位制程式碼 | 標籤 | 指令 | 註釋 |
|---|---|---|---|---|
| F000 | 3E, 90 | | MVI A,90 | 將控制字載入到A暫存器 |
| F002 | D3, 83 | | OUT 83 | 將輸出傳送到控制暫存器 |
| F004 | DB, 80 | | IN 80 | 從埠A獲取輸入 |
| F006 | D3, 81 | | OUT 81 | 將輸出傳送到埠B |
| F008 | C9 | | RET | 返回 |
使用此程式,埠A的內容將反映回埠B。
廣告
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP