本質(zhì)
各種存儲(chǔ)器都和CPU的地址總線(AB)友酱、數(shù)據(jù)總線(DB)、控制總線(CB)相連灰粮,CPU在操控它們的時(shí)候把它們都當(dāng)作內(nèi)存來對(duì)待隶校,把它們總的看作一個(gè)由若干存儲(chǔ)單元(例如內(nèi)存儲(chǔ)器漏益、接口里的寄存器)組成的邏輯存儲(chǔ)器這個(gè)存儲(chǔ)器我們稱其為內(nèi)存地址空間
接口
IO接口是計(jì)算機(jī)和外設(shè)信息交換的橋梁、紐帶深胳,通過I/O接口可實(shí)現(xiàn)計(jì)算機(jī)與外部設(shè)備通信绰疤,與外部設(shè)備交換信息
接口主要功能為
- 數(shù)據(jù)緩沖 :實(shí)現(xiàn)高速CPU與外部設(shè)備(速度較慢)的速度匹配
- 信號(hào)轉(zhuǎn)換 :實(shí)現(xiàn)數(shù)字量和模擬量的轉(zhuǎn)換,串行與并行格式的轉(zhuǎn)換和電平轉(zhuǎn)換
- 中斷控制 :實(shí)現(xiàn)CPU與外部設(shè)備并行工作和故障自動(dòng)處理
- 定時(shí)計(jì)數(shù) :實(shí)現(xiàn)系統(tǒng)定時(shí)和外部事件計(jì)數(shù)及控制
- DMA傳送 :實(shí)現(xiàn)存儲(chǔ)器與I/O設(shè)備之間直接交換信息
接口的組成
典型的接口電路主要是由接口寄存器(數(shù)據(jù)寄存器舞终、控制寄存器轻庆、狀態(tài)寄存器)、數(shù)據(jù)緩沖單元和讀/寫控制單元組成的敛劝,接口寄存器也可以稱之為 端口余爆。數(shù)據(jù)寄存器是可讀寫的,用來存放與CPU與I/O設(shè)備交換的信息夸盟,控制寄存器用來存放CPU向外部設(shè)備發(fā)送的控制命令和工作方式的設(shè)置等蛾方。狀態(tài)寄存器用來存放外部設(shè)備當(dāng)前的狀工作狀態(tài),供CPU查詢上陕。數(shù)據(jù)緩沖期是CPU與I/O設(shè)備信息傳送的通道桩砰,它與CPU的數(shù)據(jù)總線相連,I/O設(shè)備與CPU交換信息都是通過數(shù)據(jù)緩沖器進(jìn)行的释簿,讀/寫控制單元與CPU的地址總線和控制總線相連亚隅,用于接收CPU對(duì)端口的選擇和讀寫控制信號(hào)
接口的傳輸方式
接口按傳輸方式分類可分為并行接口和串行接口
并行接口
并行接口就是采用并行傳輸方式來傳輸數(shù)據(jù)的接口,并行通信就是指可以并行傳輸多位數(shù)據(jù)庶溶,它的傳輸速度比較快枢步,但因?yàn)槠淇垢蓴_能力較弱,容易出錯(cuò)渐尿,當(dāng)距離較遠(yuǎn)時(shí)成本會(huì)比較高,所以比較適合近距離傳輸
特點(diǎn)
- 多位(計(jì)算機(jī)的字長)并行傳輸矾瑰、傳輸速度快砖茸、效率高
- 并行傳遞的信息不要求固定的格式
- 通信抗干擾能力差,不適合遠(yuǎn)距離傳輸
傳輸原理
并行接口主要通過聯(lián)絡(luò)信號(hào)來控制數(shù)據(jù)當(dāng)傳送殴穴,通過握手聯(lián)絡(luò)信號(hào)凉夯,發(fā)送端通知接收端是否有數(shù)據(jù)發(fā)送货葬,接收端通知發(fā)送端它是否已準(zhǔn)就緒。
具體輸入輸出當(dāng)過程可以下面關(guān)于8255的內(nèi)容
串行接口
串行接口是指采用串行通信方式來傳輸數(shù)據(jù)的接口劲够,串行通信是指數(shù)據(jù)遵守時(shí)序一位一位地順序傳送震桶,每位數(shù)據(jù)占據(jù)固定的時(shí)間長度,傳輸速度相對(duì)并行通信較慢征绎,但線路簡單抗干擾能力強(qiáng)蹲姐,從而大大降低了成本特別適合遠(yuǎn)距離傳輸。
數(shù)據(jù)傳送速率單位
- 數(shù)據(jù)傳輸率:指單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)但有效位數(shù)人柿,單位為bit/s或者bps(位/秒)柴墩,數(shù)據(jù)傳輸速率越高,要求傳輸通道但頻帶越寬
- 波特率:指單位時(shí)間內(nèi)信號(hào)電平變化但次數(shù)凫岖,反應(yīng)但是數(shù)據(jù)信號(hào)對(duì)載波對(duì)調(diào)制速率江咳。常用的標(biāo)準(zhǔn)波特率為110、300哥放、600歼指、1200、1800甥雕、2400踩身、4800、9600和19200犀农。其中惰赋,如果數(shù)據(jù)未進(jìn)行壓縮,由于傳送數(shù)據(jù)時(shí)除傳送數(shù)據(jù)信息外呵哨,還需傳送校驗(yàn)位等信息赁濒,故波特率要高于數(shù)據(jù)傳輸率;如果數(shù)據(jù)進(jìn)行了壓縮孟害,則數(shù)據(jù)傳輸率要高于波特率拒炎。
- 波特率因子:在串行通信方式中,發(fā)送端需要用時(shí)鐘來決定每一位對(duì)應(yīng)的時(shí)間長度挨务,接收端也需要一個(gè)時(shí)鐘來測(cè)定每一位的時(shí)間長度击你,前一個(gè)時(shí)鐘叫發(fā)送時(shí)鐘,后一個(gè)叫接收時(shí)鐘谎柄,這兩個(gè)時(shí)鐘的頻率可以時(shí)波特率的整數(shù)倍丁侄,一般為16、32或64朝巫,這個(gè)倍數(shù)就成為波特率因子
例:如果波特率因子為64鸿摇,波特率為1200bps,那么時(shí)鐘頻率為1200*64=76.8kHz
傳送方式
按照數(shù)據(jù)傳送方式對(duì)不同劈猿,串行通信有單工拙吉、半雙工潮孽、全雙工三種方式
單工是指數(shù)據(jù)只能沿一個(gè)固定的方向傳送,不能雙向傳送筷黔,例如廣播我們只能收聽它
半雙工是指通信雙方可以發(fā)送也可以接收數(shù)據(jù)往史,但不能同時(shí)收發(fā)數(shù)據(jù),例如對(duì)講機(jī)
全雙工是指通信雙方可以同時(shí)收發(fā)數(shù)據(jù)例如電話
通信控制方式
- 異步通信:數(shù)據(jù)以字符為單位按照約定的波特率進(jìn)行傳送佛舱,用起始位和停止位標(biāo)識(shí)每個(gè)字符的開始和結(jié)束字符椎例,通信雙方不需要專門的同步信號(hào),分別用各自的時(shí)鐘信號(hào)來控制發(fā)送和接收
- 同步通信:去掉異步通信時(shí)每個(gè)字符的起始位和停止位名眉,在數(shù)據(jù)塊之前加上同步字符粟矿,在發(fā)送數(shù)據(jù)信號(hào)的同時(shí)發(fā)送一個(gè)時(shí)鐘信號(hào),使得發(fā)送端和接收端在約定的波特率下保持同步
端口淺談
接口中的寄存器可以稱為端口损拢,上文中也提到CPU可以直接對(duì)端口進(jìn)行讀寫陌粹,所以我們需要對(duì)端口進(jìn)行編址使CPU能找到相應(yīng)的端口進(jìn)行讀寫
I/O端口主要分為以下兩種編址方式(叫法可能由很多種例如統(tǒng)一編制也叫存儲(chǔ)器映像尋址但意思相同)
統(tǒng)一編址
把每一個(gè)端口都看作一個(gè)存儲(chǔ)單元,和內(nèi)存儲(chǔ)器一樣統(tǒng)一編址福压,這樣優(yōu)點(diǎn)是訪問存儲(chǔ)器的所有指令均可用來訪問I/O端口掏秩,而無須設(shè)置專門的I/O指令,簡化了指令系統(tǒng)的設(shè)計(jì)荆姆,能用類型多蒙幻、功能強(qiáng)的訪問存儲(chǔ)器指令,I/O端口空間可大可小胆筒,可使用外設(shè)數(shù)量上限增多邮破,缺點(diǎn)是占用了內(nèi)存空間的一部分,影響了系統(tǒng)的內(nèi)存容量仆救,由于內(nèi)存地址較長抒和,導(dǎo)致執(zhí)行時(shí)間增加
獨(dú)立編址
存儲(chǔ)器和I/O端口在兩個(gè)獨(dú)立的地址空間中,用專門的IN/OUT指令來訪問端口(地址總線的低16位 A15~A0來尋址端口最多可訪問2^16次方 65536個(gè)端口)彤蔽,CPU的M/#IO(低電平有效)引腳信號(hào)來區(qū)分是I/O尋址還是存儲(chǔ)器尋址摧莽。這樣作優(yōu)點(diǎn)是I/O和存儲(chǔ)器尋址指令分開,程序可讀性強(qiáng)顿痪;I/O指令長度短執(zhí)行速度快镊辕;I/O不占用內(nèi)存空間;I/O地址譯碼電路簡單蚁袭;缺點(diǎn)是CPU指令必須由專門的IN/OUT指令征懈,這些指令功能不如存儲(chǔ)器指令的功能強(qiáng),且CPU還必須提供可區(qū)分訪問內(nèi)存和訪問I/O的引腳信號(hào)
上面聊了聊接口揩悄、下面我們來實(shí)戰(zhàn)體驗(yàn)一下
實(shí)戰(zhàn)可編程定時(shí)計(jì)數(shù)器8253
概述
定時(shí)是指固定頻率下的計(jì)數(shù)受裹,例如我們?cè)谧?cè)賬號(hào)時(shí)填手機(jī)號(hào)接驗(yàn)證碼,因?yàn)榘l(fā)送短信是有成本的,所以一般都限制短時(shí)間內(nèi)不能發(fā)送第二次驗(yàn)證碼
如圖所示會(huì)給我們顯示一個(gè)倒計(jì)時(shí)棉饶,其實(shí)現(xiàn)原理就是定時(shí)器每秒給我們改變一下按鈕中的數(shù)值
計(jì)數(shù)功能則不然,例如我們?cè)谏险n時(shí)老師會(huì)在門口數(shù)人(強(qiáng)行舉例子镇匀,我們老師點(diǎn)名都不看人)照藻,來一個(gè)人就加一個(gè),但張三8點(diǎn)來了汗侵,李四8點(diǎn)5分來了幸缕,劉二麻子8點(diǎn)半來的,他們來的頻率并不固定晰韵,當(dāng)然也可能8點(diǎn)5分发乔、8點(diǎn)10分、8點(diǎn)15分···這就是巧合了雪猪。定時(shí)器實(shí)際上也是工作在計(jì)數(shù)方式下栏尚,只是計(jì)數(shù)的是固定周期的脈沖,由于脈沖周期固定只恨,由計(jì)數(shù)值可以計(jì)算時(shí)間译仗,有定時(shí)功能瞳购。
在計(jì)算機(jī)系統(tǒng)中常需要用到定時(shí)信號(hào)玻褪,如系統(tǒng)日歷時(shí)鐘、DRAM的定時(shí)刷新等玄柠,
定時(shí)信號(hào)可以利用軟件編程或硬件方法得到休涤。
例如你可以寫一堆nop指令來延時(shí)(設(shè)計(jì)一個(gè)延時(shí)子程序咱圆,子程序中全部指令執(zhí)行時(shí)間的總和就是該子程序的延時(shí)時(shí)間。在CPU時(shí)鐘頻率一定時(shí)功氨,子程序的延時(shí)時(shí)間是固定的)
這種方法比較簡單序苏、較易實(shí)現(xiàn),只是需要了解延時(shí)子程序中每條指令的執(zhí)行時(shí)間疑故。
軟件定時(shí)的定時(shí)時(shí)間不太精確杠览,但使用方便,因此在軟件開發(fā)中經(jīng)常用到纵势。但它僅適用于延時(shí)時(shí)間較短踱阿、重復(fù)次數(shù)有限的場(chǎng)合,否則CPU總是執(zhí)行延時(shí)程序钦铁,占用了大量的時(shí)間软舌,使CPU的利用率降低。故在對(duì)時(shí)間要求嚴(yán)格的實(shí)時(shí)控制系統(tǒng)和多任務(wù)系統(tǒng)中很少采用軟件定時(shí)的方法牛曹。
硬件定時(shí)就是利用專用的硬件定時(shí)器/計(jì)數(shù)器佛点,在簡單軟件控制下產(chǎn)生準(zhǔn)確的延時(shí)時(shí)間。其基本原理是通過軟件確定定時(shí)器/計(jì)數(shù)器的工作方式、設(shè)置計(jì)數(shù)初值并啟動(dòng)計(jì)數(shù)器工作超营,當(dāng)計(jì)數(shù)到給定值時(shí)便自動(dòng)產(chǎn)生定時(shí)信號(hào)鸳玩。這種方法的成本不高,程序上也很簡單演闭,并且大大提高了CPU的效率不跟,既適合長時(shí)間、多次重復(fù)的定時(shí)米碰,也可用于延時(shí)時(shí)間較短的場(chǎng)合窝革,因此得到了廣泛的應(yīng)用。
頻率與時(shí)間
知道頻率和時(shí)間的計(jì)算公式吕座、以及單位換算非常重要虐译,在后面我們會(huì)根據(jù)它們?nèi)∮?jì)數(shù)初值
頻率(物質(zhì)在1s內(nèi)完成周期性變化的次數(shù)叫做頻率,常用f表示吴趴。)是單位時(shí)間內(nèi)完成周期性變化的次數(shù)漆诽,是描述周期運(yùn)動(dòng)頻繁程度的量,單位為秒分之一史侣,符號(hào)為s-1拴泌。為了紀(jì)念德國物理學(xué)家赫茲的貢獻(xiàn),人們把頻率的單位命名為赫茲惊橱,簡稱“赫”蚪腐,符號(hào)為Hz,也常用千赫(kHz)或兆赫(MHz)或吉赫(GHz)做單位税朴。1kHz=1000Hz回季,1MHz=1000000Hz,1GHz=1000MHz
公式f=1/T
1秒 = 1000毫秒 1s = 1000ms
1毫秒 = 1000微秒 1ms = 1000μs
1微秒 = 1000納秒 1μs = 1000ns
1納秒 = 1000皮秒 1ns = 1000ps
計(jì)數(shù)方式
定時(shí)器/計(jì)數(shù)器在計(jì)數(shù)方式上分為:減法計(jì)數(shù)器和加法計(jì)數(shù)器正林,而8253是減法計(jì)數(shù)器即給定一個(gè)計(jì)數(shù)初值其每來一個(gè)計(jì)數(shù)脈沖就減1直到為0時(shí)產(chǎn)生一個(gè)定時(shí)信號(hào)輸出泡一。因?yàn)樗菧p法計(jì)數(shù)器所以最大計(jì)數(shù)初值為0(圈起來要考的)
開始
8253芯片內(nèi)部結(jié)構(gòu)
8253芯片由數(shù)據(jù)總線緩沖存儲(chǔ)器、讀/寫控制電路觅廓、控制字寄存器及3個(gè)完全相同獨(dú)立的定時(shí)/計(jì)數(shù)器(計(jì)數(shù)器0鼻忠、計(jì)數(shù)器1、計(jì)數(shù)器2)杈绸,這三個(gè)定時(shí)/計(jì)數(shù)器和控制寄存器構(gòu)成了8253的4個(gè)端口帖蔓,其內(nèi)部結(jié)構(gòu)框圖如圖所示
8253芯片有24條引腳,封裝在雙列直插式陶瓷管殼內(nèi)瞳脓,其引腳信號(hào)如圖
引腳圖非常清晰的告訴了我們 它有兩根地址線A1塑娇、A0,而CPU本質(zhì)操作就是通過地址線選中操作誰劫侧,通過控制線表示作什么操作埋酬,通過數(shù)據(jù)線來傳遞數(shù)據(jù)哨啃,這兩根地址線就用來選擇當(dāng)前操作的是那個(gè)端口
控制字寄存器用來存放由CPU寫入8253的方式選擇控制字,由它來定義8253中各通道的工作方式写妥,其使用格式如圖所示拳球。8253方式選擇控制字各位的功能介紹如下
使用一個(gè)定時(shí)/計(jì)數(shù)器的步驟如下(此步驟稱作初始化),
1. 寫控制字
通過A1耳标、A0地址線選中控制字寄存器醇坝,設(shè)置:選擇的那個(gè)定時(shí)/計(jì)數(shù)器(7、6位用于選擇)次坡、定義計(jì)數(shù)器操作(5、4位画畅,00時(shí)為讀取當(dāng)前計(jì)數(shù)值砸琅,01,10轴踱,11 主要因?yàn)橛?jì)數(shù)值可以是16位症脂,但8253只有8根數(shù)據(jù)線,一次最多來八位數(shù)據(jù))淫僻,設(shè)置工作方式(3诱篷、2、1位雳灵,延時(shí)觸發(fā)方式0145棕所,自動(dòng)重復(fù)觸發(fā)方式23,啟動(dòng)分軟件和硬件啟動(dòng)悯辙、軟件啟動(dòng)GATE為高電平時(shí)琳省、硬件啟動(dòng)是GATE上升沿觸發(fā)),設(shè)置編碼(0位躲撰,1為BCD碼最大計(jì)數(shù)值9999针贬,1為二進(jìn)制計(jì)數(shù)最大計(jì)數(shù)值FFFF)
2. 寫計(jì)數(shù)初值
每個(gè)定時(shí)/計(jì)數(shù)器內(nèi)部有兩個(gè)16位寄存器(相同端口地址):初值寄存器、計(jì)數(shù)寄存器拢蛋,
我們將計(jì)數(shù)初值送入端口內(nèi)(初值寄存器)桦他,計(jì)時(shí)啟動(dòng),初值寄存器值不變谆棱,計(jì)數(shù)寄存器在變快压,因?yàn)樗鼈兪?6位的,所以最大計(jì)數(shù)值是FFFFH(注意因?yàn)槭菧p法計(jì)數(shù)器8253最大計(jì)數(shù)初值為0础锐,0-1=FFFFH)嗓节,作定時(shí)器時(shí) 計(jì)數(shù)器的初值=要求定時(shí)的時(shí)間/時(shí)鐘脈沖的周期 如8253頻率為2MH,5ms后輸出高電平求初值 根據(jù)頻率公式f=1(秒)/T(周期)可知 周期=1s/2MH =0.5微秒 初值=5毫秒/0.5微秒=10000
8253示例:
從地址上可知CNT2定時(shí)/計(jì)數(shù)器的地址為0122H皆警,控制字寄存器地址為0123H拦宣,因時(shí)鐘頻率為2MH 可知 周期=1s/2MH =0.5微秒 初值=5毫秒/0.5微秒=10000 ,5ms產(chǎn)生輸出高電平可用方式0、方式1,我們選方式0
MOV DX ,0123H ;控制寄存器地址
MOV AL,10110000B ; 通道2 先低后高 方式0 二進(jìn)制
OUT DX,AL
MOV DX,0122H
MOV AX,10000
OUT DX,AL
MOV AL,AH
OUT DX,AL
工作方式備忘
8255A
并行接口8255A是通道型的接口鸵隧,主要用于數(shù)據(jù)的輸入或者輸出绸罗,也就是CPU可以通過它給外設(shè)傳數(shù)據(jù)(反之也可以給CPU傳),例如點(diǎn)亮一堆二極管豆瘫。
8255A芯片內(nèi)部結(jié)構(gòu)
8253芯片內(nèi)部結(jié)構(gòu)圖如下
跟8253很相似珊蟀,也是兩根地址線A1,A0外驱,通過他可以選中內(nèi)部的四個(gè)端口
它含有3個(gè)獨(dú)立的八位并行輸入\輸出數(shù)據(jù)端口A育灸、B、C昵宇,每一個(gè)端口都是8位的磅崭,都可以作為輸出或者輸入接口,其中C端口又可以分成兩個(gè)4位的端口來使用瓦哎,通常數(shù)據(jù)端口A或數(shù)據(jù)端口B作為輸入/輸出的數(shù)據(jù)端口砸喻,而數(shù)據(jù)端口C作為控制或狀態(tài)信息的端口(約定俗成,你拿C來傳數(shù)據(jù)也隨你)蒋譬,內(nèi)部還有一個(gè)控制字寄存器
A組和B組控制電路是兩組根據(jù)CPU的命令控制字控制8255A工作方式的電路割岛,它們有控制寄存器,接收CPU輸出的命令字犯助,然后分別決定兩組的工作方式
A組控制電路 控制數(shù)據(jù)端口A和數(shù)據(jù)端口C的上半部分PC7~PC4
B組控制電路 控制數(shù)據(jù)端口B和數(shù)據(jù)端口C的下半部分PC3~PC0
控制字
還是如8253一樣癣漆,操作先選上控制字寄存器把命令字寫好,8255A控制字主要可以實(shí)現(xiàn)工作方式的選擇(工作方式以及數(shù)據(jù)傳送的方向(是輸出還是輸入))也切、位的控制(僅用于C端口的置位復(fù)位(復(fù)位變0扑媚、置位變1))
控制寄存器是8位的
D7 為1時(shí)是在選擇方式,為0時(shí)是對(duì)位進(jìn)行控制
MOV DX ,xxxx ;控制寄存器地址
MOV AL,10010101B ; 選擇方式雷恃、A端口方式0疆股、A端口方向?yàn)檩斎搿端口高四位方向?yàn)檩敵龅够薄端口方式1旬痹、B端口方向?yàn)檩敵觥端口低四位方向?yàn)檩斎?OUT DX,AL
MOV DX ,xxxx ;控制寄存器地址
MOV AL,00000111B ; PC3置位
OUT DX,AL
MOV AL,00000110B ; PC3復(fù)位
OUT DX,AL
工作方式淺談
8255A一共有三種工作方式:
方式0:基本輸入/輸出方式(常用于連接簡單外設(shè)讨越、適用于無條件或查詢方式)
方式1:選通工作方式(適用于中斷控制方式)
方式2:雙向傳送方式 (A端口作為雙向端口两残,適用于中斷控制方式)
方式0應(yīng)用的時(shí)候相當(dāng)于三個(gè)獨(dú)立的8位簡單端口,各端口即可設(shè)置為輸入口把跨,也可以設(shè)置為輸出口人弓,但不能同時(shí)輸入輸出(c端口低四位中一位作為輸入口,則低四位中其他位都應(yīng)為輸入口着逐,但同時(shí)可設(shè)置高4為為輸出)崔赌,c端口也可以當(dāng)成兩個(gè)獨(dú)立的4位端口意蛀,我們習(xí)慣用A、B來作數(shù)據(jù)但輸入輸出健芭、用C來作為狀態(tài)的輸入
方式1主要用于中斷控制方式下的輸入輸出
利用C端口的部分位用作選通控制信號(hào)來控制A和B端口數(shù)據(jù)的輸入輸出(除用作選通信號(hào)外的引腳县钥,其他位可工作于方式0)
輸出邏輯是這樣的:“CPU將數(shù)據(jù)寫入到數(shù)據(jù)端口,寫完成(寫周期結(jié)束)后通過C端口的某位引腳告知( pc腳->OBF#慈迈,此引腳接到外設(shè)OBF#)外設(shè)寫完了若贮,外設(shè)通過OBF#可知數(shù)據(jù)已經(jīng)在數(shù)據(jù)端口內(nèi)可以去取數(shù)據(jù)了,取數(shù)據(jù)完成外設(shè)通過ACK#于某位PC腳相連(ACK#->PC腳)痒留,并將OBF#變高電平(邏輯上讓數(shù)據(jù)端口清空)谴麦,并中斷告知CPU(此時(shí)CPU可繼續(xù)往數(shù)據(jù)端口寫數(shù)據(jù))”
輸入邏輯也很類似,無非就是STB#接到某個(gè)PC腳伸头,當(dāng)它有效時(shí)细移,把輸入進(jìn)來的數(shù)據(jù)送入輸入鎖存器里,寫滿后IBF有效熊锭,并發(fā)出中斷請(qǐng)求告訴CPU位寫完了,你取走吧雪侥,CPU讀完后IBF置為失效
方式2雙向輸入輸出方式碗殷,其實(shí)就是選通信號(hào)復(fù)雜了罷了,故只有A端口可以用在方式2(A在方式2速缨、B可以同時(shí)工作于方式1锌妻,這時(shí)c端口信號(hào)全都給用作選通了,B同時(shí)工作于方式0時(shí)旬牲,C端口的剩余位也可以工作于方式0)
參考資料
《匯編語言》-王爽
《穿越計(jì)算機(jī)的迷霧》- 李忠
《微機(jī)原理與接口技術(shù)》
西安交通大學(xué)MOOC-吳寧-第七次開課
北京交通大學(xué)MOOC-戴勝華-第五次開課