【微機原理與接口技術】具體芯片(1)并行接口8255A(2):控制字概述

核心

對于一個多功能可編程接口芯片,我們要想使用它,必須

  1. 先確定需求,要用什么芯片去干什么
  2. 設置芯片的工作方式
  3. 然后再讓芯片工作

至于設置的方式,當然是軟件編程。

同時重點注意,例如8255A,它一次只能寫8位數據,像多干活,就多寫幾次就好了,反正速度快。需要理解不是一次性完成就好。

與CPU控制接口的方式結合理解

  • 無條件
  • 查詢
  • 中斷
  • DMA

前提

CPU能夠對接口進行讀寫控制,通過IO譯碼能夠選中端口地址,進行數據讀寫。

控制字的編碼含義

我們將8位控制字編碼拆開看!

D7D6D5D4D3D2D1D0
1xxxxxxx
0xxxxxxx

首先看最高位D7

  • D7 = 1:方式選擇控制
  • D7 = 0:C端口置0置1控制

方式選擇控制

對于方式選擇控制,我們拆開看

D7D6D5D4D3D2D1D0
1
  • 最高位是1
  • D6~D3:A組控制
  • D2~D0:B組控制
A組控制
D6D5D4D3
  • D6D5:A組的方式選擇(很好記,與二進制的十進制值一樣)
    • 00:方式0
    • 01:方式1
    • 10、11:方式2
  • D4:A端口輸入輸出控制
  • D3:C端口高4位輸入輸出控制

B組控制

D2D1D0
  • D2:B組方式選擇
    • 0:方式0
    • 1:方式1
  • D1:B端口輸入輸出控制
  • D0:C端口低四位輸輸出控制

一些通用法則

  1. A組和B組控制是相互獨立的
  2. 端口的輸入,就是1(input的i就像1);端口輸出,就是0(output)
  3. 方式的選擇,二進制的十進制值與方式對應
  4. A、B端口只能作為輸入或輸出,用于傳送外設數據
  5. C端口不同方式下的含義不同
    1. 可以設置D7 = 0來設置C寄存器的每一位的值
    2. 方式0下是作為獨立的輸入輸出的
    3. 其他方式下,作為A組或B組的補充信息位,用于表示A端口或B端口傳送狀態,空閑位仍可以獨立使用
    4. A組與B組的工作方式可以不一樣,因此C端口的高4位和低4位的作用也可以不一樣,相互獨立
  6. 如果沒有用到,就寫0,當然這只是習慣

總之,二進制編碼分開看待,相互獨立,不同情況下含義不同,一樣分開看,就什么都能看清楚了

C端口置0置1控制

D7D6D5D4D3D2D1D0
0xxx
  • x可以直接都寫0就好
  • D3D2D1:3位編碼對應C端口的8個二進制位,用于選中某一位
  • D0:0的時候將選中的位置0,1的時候置1

這個控制字的作用,就是控制C端口某一位的值的,如果有單獨控制的需要,就設置就好了。

  • 可能是設置空閑位
  • 也可能設置狀態位

對待每種工作方式的思考點

  • 接口:如何設置,原理和功能
  • CPU :如何控制,控制方式,匯編指令
  • 外設:能干啥(數據肯定行,但是響應信號之類的呢?它能不能干,能不能用?)

其實也就這些了,還是內3個器件,4個箭頭的事兒。

接下來,將會具體闡述每個工作方式下,二進制編碼的含義。


見下一篇。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/384652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384652.shtml
英文地址,請注明出處:http://en.pswp.cn/news/384652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【算法】【殊途同歸】搜索算法之(深度優先 || 廣度優先) (約束條件 || 限界函數)

對于所謂的分支限界法和回溯法,我們完全可以更加靈活,請看表格。 深度優先廣度優先約束條件限界函數算法策略√√回溯法局部判定√√√分支限界法局部判定√√√加限界的回溯法局部判定√枚舉法全局判定√枚舉法全局判定 前兩種是我們常見的&#xff0c…

【算法】學習方法

看理論學示例做圖示 最重要的是 最開始直接抄別人的優秀的代碼,就是如此簡單,擺正心態,最開始不要非得自己想怎么做。

【算法】學習筆記(0):算法初探(邏輯抽象 + 示例 + 代碼實現)

什么是算法? 人生皆算法,算法的本質,是解決問題的方法,遇到問題,尋找答案,解決問題,是作為一個人,一生都在做的事情。 算法是人類思維的產物,是解決問題的方案,并且&a…

【Verilog】數據流建模傳輸問題:賦值傳輸有方向

這次,我們說明的是,assign語句實現的數據流建模,包含的是兩個層面 建立聯系傳輸方向 assign A B的本質含義是 A與B建立關聯B的值傳給A 這個傳輸方向至關重要,實際情況是什么,就必須按照順序進行,不是單…

【計算機系統設計】實踐筆記(2)數據通路構建:第一類R型指令分析(2)

待辦事項 時鐘頻率高,取指周期長,遠大于執行周期,如何處理? 不可綜合邏輯的處理 接上一篇 【計算機系統設計】實踐筆記(2)數據通路構建:第一類R型指令分析(1) 8.2 ALU運…

【計算機系統設計】實踐筆記(2)插敘:綜合與實現

接上一篇文章的第10節 之前完成了功能仿真,下面我們進行綜合實現。 10.1.1 綜合 綜合成功。 實現試試 這真是令人悲傷……找Bug吧。 我們看看綜合后的門級網表。 發現綜合后的并不是我們想要的……看了看可能是綜合的目錄錯誤,我們再試試。 不是這…

【電路原理】學習筆記(1):電路模型的基本變量

上一講說到了電路模型,這一電路的抽象,現在我們看看它的基本組成。 1 電流 1.1 概念 對于一根管道,它能夠流通電荷,定向移動就形成了電流。 單位時間t內,,某一橫截面,穿過電荷量是q&#xf…

【電路原理】學習筆記(0):電路與電路模型

東北大學電路原理MOOC 電路原理的核心點:研究電路模型 我們實際看見的,是真實電路 我們高中學的,是電原理圖 現在,我們要研究的是電路模型,它是實際電路的抽象模型,并且是理想化的。 對于電路模型&#…

【計算機系統設計】實踐筆記(3)改進數據通路:移位R型指令分析

0 回顧 前面的內容中,第一類R型指令分析,我們完成了一類R型指令的設計,完成了其數據通路,構建了相應的部件,并且完成了從ROM中取指,成功進行了基本的功能仿真,進行了綜合和實現,但是…

【計算機系統設計】實踐筆記(3)改進數據通路:jr指令分析與實現

1 jr指令分析 instructionoprsrtrdshamtfuncjr000000rs000000000000000001000 舉例&#xff1a;jr $31 功能&#xff1a;PC <- &#xff08;$31&#xff09; 這是個跳轉指令&#xff0c;將指定寄存器的值&#xff0c;放入PC中&#xff0c;是無條件跳轉。 我們需要 更新P…

【計算機系統設計】實踐筆記(4)改進數據通路:第一類I型指令分析與實現

0 回顧 之前&#xff0c;我們完成了17條R型指令的設計&#xff0c;接下來&#xff0c;我們逐步完成I型指令的設計。 1 核心思想&#xff1a;增量思維 & 復用思維 & 學會選擇 & 分治思想 增量思維 我們從無到有&#xff0c;構建了支持R型指令的CPU&#xff0c;接…

【算法】學習筆記(1):算法就是人類去教會計算機的方法

人生處處皆算法&#xff0c;算法是解決問題之道。 對于計算機科學中的算法&#xff0c;我更喜歡將其理解為利用人類思維之一&#xff1a;計算機思維&#xff0c;去解決一些人類不擅長的問題&#xff0c;比如大量重復運算&#xff0c;然后&#xff0c;人類使用計算機編程語言去…

【算法】學習筆記(2):遞歸思想

0 回顧 之前的筆記&#xff08;0&#xff09;和筆記&#xff08;1&#xff09;&#xff0c;我們介紹了算法的基本含義&#xff0c;并且舉了一些實例&#xff0c;同時理解了&#xff0c;算法就是人類在教計算機做事情&#xff01; 我們知道&#xff0c;算法就是解決問題的方案…

【計算機系統設計】實踐筆記(5)插敘:內外有別之CPU和Memory

區分CPU的內外 首先明確&#xff0c;內存&#xff0c;不在CPU內&#xff0c;我們的CPU是會有數據和指令端口的&#xff0c;然后去訪問內存和外設。 而CPU設計&#xff0c;我們所說的單周期&#xff0c;多周期和流水線&#xff0c;描述的都是CPU&#xff0c;而不是Memory&…

【計算機系統設計】實踐筆記(5)改進數據通路:beq和bne指令分析與實現

接下來的分析和實踐非常粗糙&#xff0c;因為跟之前一樣的分析流程&#xff0c;不再多說了&#xff0c;如果前面真的掌握&#xff0c;這里不看也罷。 分析 先看beq指令。 ALU輸入的是rs和rt&#xff0c;不輸入imm&#xff0c;進行subu操作&#xff0c;判斷是否為zero&#x…

【算法】學習筆記(4):分治思想 歸并排序

分治思想&#xff0c;分治策略&#xff0c;自古有之&#xff0c;與人類生活息息相關&#xff0c;其本質是將大問題拆解為小問題&#xff0c;小問題轉換為已知解的問題&#xff0c;進而求解。 軍隊管理&#xff0c;國家分級治理…… 大規模數據排序&#xff0c;例如10000000000…

【算法】學習筆記(5):快速排序

注意一個C的坑 sizeof()這個函數靜態數組可以求長度&#xff0c;動態new出來的數組不行&#xff0c;因為針對的是指針……&#xff0c;不過既然的動態數組了&#xff0c;其長度本身必然是一個變量了&#xff0c;你沒有必要這么求長度。 下面看快速排序的代碼。 #include <…

【計算機系統設計】實踐筆記(6)改進數據通路:lw和sw指令

不想多說了……前面的鋪墊足夠了&#xff0c;剩下的自己做做應該也會了&#xff0c;如果遇到問題&#xff0c;就搜一下自己查閱就好。 這篇水過&#xff0c;沒有太多技術點。 唯一注意的是&#xff0c;引入的RAM和ROM的clk觸發問題&#xff0c;可能引起時序問題&#xff0c;等…

html css 核心設計理念

分開看&#xff01; 從不同視角&#xff0c;獨立地去看某一部分內容&#xff0c;使用聚焦視角&#xff0c;進行獨立操作和批量操作。

html css 學習筆記(1)背景相關

背景顏色 圖片 插入圖片img背景圖片 背景圖片 3. logo 4. 大圖 5. 裝飾性小圖 便于控制位置&#xff01; 插入后會執行自動平鋪&#xff0c;這與插入圖片是不同的&#xff01; div{width: 600px;height: 300px;background-image: url(img/登錄用戶頭像.png); }小結 盒子的第…