#317 Intel 8080 SBC 單板電腦 平行埠

Find AI Tools in second

Find AI Tools
No difficulty
No complicated process
Find ai tools

Table of Contents

#317 Intel 8080 SBC 單板電腦 平行埠

目錄

  1. 介紹
  2. 硬體組成
  3. 程式設計
  4. 使用8255晶片
  5. 配置8255的控制字
  6. 設定輸出端
  7. 定時迴圈
  8. 預留位址空間
  9. 控制平行埠
  10. 總結

介紹 {#introduction}

在這篇文章中,我們將探討8255晶片的使用。這是一款可程式化的周邊介面晶片,常用於電子裝置中的資料輸出。我們將深入瞭解這款晶片的架構、程式設計方式以及如何控制並使用它。

硬體組成 {#hardware-components}

這個電路板由8255晶片組成,每個8255晶片都有A、B和C三個埠,總共有六個埠。讓我們仔細看一下第一個晶片,820,它有埠A、埠B和埠C。有趣的是,埠A具有8位元,埠B具有1位元,埠C則由4位元組成,不過你可以將它分為兩部分使用。每個埠都標有地址,A的地址是ef,B的地址是t5,C的地址是e 6:00。在晶片內部,還有一個控制部分,你可以在上面找到標記為E 7,總共有4、5、6和7四個控制位址。這個電路板上用來驅動A埠的晶片已經安裝好了,所以我們可以將數據輸出到A埠。不過,B埠和C埠沒有晶片,只有插座,所以我們暫時無法使用它們。

程式設計 {#programming}

現在,讓我們來設計一個程式,與8255晶片溝通,將數據輸出到A埠,並點亮連接到A埠的LED燈。首先,我們需要參考8255的數據手冊,查看如何執行這項任務。在手冊中,我們可以找到8255的控制字,它可以寫入控制埠。根據我的研究,模式0是最簡單的模式,它包括兩個8位元埠和兩個4位元埠,可以將任何一個埠設定為輸入或輸出。我們接下來要設定的是,將A埠設定為輸出,而B和C埠則設定為輸入輸出。控制字的值應該是80(10進位)或80 hex(16進位)。這樣的設定將讓我們可以將8位元的數據輸出到A埠,C的數據則會連續輸出到LED燈中。我已經寫好了一個簡單的程序,讓我們來看看它的實際效果。

CODE_REQ

使用8255晶片 {#using-8255-chip}

現在,讓我們來測試一下這段程式碼。首先,我們需要將程式燒錄到ROM中。燒錄完成後,我們打開電源,LED燈便開始閃爍。這表示程式正在正常運行。讓我們看看後面發生了什麼。我輕輕地移動電路板,我們可以看到LED燈在閃爍。很酷吧!這意味著程式成功地將數據輸出到LED燈上,並且在LED燈之間進行了計數。不過注意一下,似乎第一個LED燈沒有亮起,而接下來的七個LED燈都正常運作,然後是一個藍色的LED燈,可能是我接線的問題。不過,這不是最重要的,因為程式已經運行正常。

配置8255的控制字 {#configuring-the-control-word-for-8255}

在進一步探索更多功能之前,我們需要瞭解如何配置8255的控制字。根據8255的數據手冊,這款晶片可以以多種不同的方式進行配置。我們使用的是模式0,這是最簡單且易於操作的模式。在這個模式中,可將A、B和C埠配置為輸入或輸出埠。控制字是一個8位元的值,通常寫入8255的控制埠。我們已經設定控制字為80 hex,以將所有的埠都設定為輸出埠。不過,如果我們將控制字設定為82 hex,則只有A埠是輸出埠,B埠是輸入埠,C埠則是輸出埠。這只是其中一種配置方式,我們可以根據實際需要設定不同的參數。

設定輸出端 {#setting-up-output-ports}

現在,讓我們來設定輸出端。在程式中,我們將LED的狀態與C埠的數據連接。我們使用了一個簡單的計數器迴圈,將C埠的數據輸出到LED燈。我們還將C埠的值進行了256次減量,以控制迴圈的執行次數。這樣,每次迴圈執行時,C埠的數據將輸出到LED燈,而且速度足夠慢,我們可以看到LED燈亮起的瞬間。經過一番努力,我的程式終於正常運行並成功顯示結果。這表明我們已經成功地控制了8255晶片並與之溝通。

定時迴圈 {#timer-loop}

在我們成功控制LED燈之後,下一步是探索其他周邊設備。這個電路板上還有一個定時器晶片和一個序列傳輸晶片。現在,我們可以利用已經掌握的知識,試著與這些設備進行溝通,看看是否能夠生成特定的波特率。

預留位址空間 {#reserved-address-space}

在電路板上,還有一個8255晶片尚未使用到。在未來,我們可以探索如何使用它來擴展板子的功能。目前,我們只是將其視為一個佔位符。

控制平行埠 {#controlling-the-parallel-port}

控制8255晶片之後,下一個有趣的項目是控制平行埠。這是一個具有多個輸入和輸出埠的介面,可用於連接外部設備。現在,我們已經建立了控制晶片的程式,我們可以嘗試控制這個平行埠,並與外部設備進行溝通。

總結 {#conclusion}

在這篇文章中,我們瞭解了8255晶片的結構和功能。我們設計了一個程式,使用8255控制晶片將數據輸出到LED燈。我們還討論了有關配置控制字以及設定輸出埠的相關問題。我們成功地控制了LED燈並與8255晶片溝通。希望本文能夠幫助你深入瞭解8255晶片的使用。接下來,我們將繼續探索其他周邊設備,並擴展這個電路板的功能。

有如何問題,嗎❓

常見問題

  1. 8255晶片能夠控制哪些周邊設備?
  2. 如何設定8255的控制字?
  3. 如何將數據輸出到8255的埠?
  4. 8255晶片的工作原理是什麼?
  5. 可以使用其他晶片代替8255嗎?

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.