微機(jī)原理及接口技術(shù)第八章并行接口8255a_第1頁(yè)
微機(jī)原理及接口技術(shù)第八章并行接口8255a_第2頁(yè)
微機(jī)原理及接口技術(shù)第八章并行接口8255a_第3頁(yè)
微機(jī)原理及接口技術(shù)第八章并行接口8255a_第4頁(yè)
微機(jī)原理及接口技術(shù)第八章并行接口8255a_第5頁(yè)
已閱讀5頁(yè),還剩78頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第七章第七章 可編程接口芯片及其應(yīng)用可編程接口芯片及其應(yīng)用1四、四、 模擬接口模擬接口一、一、 并行輸入并行輸入/輸出接口輸出接口二、二、 可編程定時(shí)器可編程定時(shí)器8253三、三、 串行接口通信串行接口通信2 第一節(jié)第一節(jié) 并行接口的基本概念并行接口的基本概念一、并行通信和串行通信一、并行通信和串行通信二、并行接口概述二、并行接口概述 第二節(jié)第二節(jié) 可編程并行接口可編程并行接口8255A8255A一、一、8255A8255A引腳、編程結(jié)構(gòu)引腳、編程結(jié)構(gòu)二、二、8255A8255A的控制字的控制字三、三、8255A8255A的的工作方式工作方式四、四、8255A8255A的應(yīng)用舉例的應(yīng)用舉例并行

2、輸入并行輸入/ /輸出接口輸出接口3第一節(jié)第一節(jié) 并行接口的基本概念并行接口的基本概念一、并行通信和串行通信一、并行通信和串行通信二、并行接口概述二、并行接口概述4一、并行通信和串行通信一、并行通信和串行通信 通信通信指計(jì)算機(jī)與外設(shè)、計(jì)算機(jī)與計(jì)算機(jī)間的信息交換指計(jì)算機(jī)與外設(shè)、計(jì)算機(jī)與計(jì)算機(jī)間的信息交換 通信的基本方法通信的基本方法: : 并行通信和串行通信并行通信和串行通信5數(shù)據(jù)的各位同時(shí)由源到達(dá)目的地?cái)?shù)據(jù)的各位同時(shí)由源到達(dá)目的地 快快多根數(shù)據(jù)線多根數(shù)據(jù)線 距離短、遠(yuǎn)程費(fèi)用高距離短、遠(yuǎn)程費(fèi)用高r 并行通信并行通信 將數(shù)據(jù)的各位將數(shù)據(jù)的各位同時(shí)同時(shí)在在多根并行傳輸線上多根并行傳輸線上進(jìn)行傳輸。進(jìn)

3、行傳輸。01010110 D0D1D2D3D4D5D6D7目目的的D0D1D2D3D4D5D6D7源源并行通信并行通信適于適于短距離短距離、高速高速通信通信6數(shù)據(jù)的各位依次由源到達(dá)目的地?cái)?shù)據(jù)的各位依次由源到達(dá)目的地 慢慢數(shù)據(jù)線少數(shù)據(jù)線少 遠(yuǎn)程遠(yuǎn)程, 費(fèi)用低費(fèi)用低r 串行通信串行通信 將數(shù)據(jù)的各位將數(shù)據(jù)的各位按時(shí)間順序按時(shí)間順序依次在依次在一根傳輸線上一根傳輸線上傳輸。傳輸。 0 1 1 0 1 0 1 0 RD目目的的TD源源串行通信串行通信適于適于長(zhǎng)距離長(zhǎng)距離、中低速中低速通信通信7l 并行接口的典型硬件結(jié)構(gòu)包括:并行接口的典型硬件結(jié)構(gòu)包括:1、一個(gè)或一個(gè)以上具有鎖存或緩沖的數(shù)據(jù)端口、一個(gè)或

4、一個(gè)以上具有鎖存或緩沖的數(shù)據(jù)端口2、與、與CPU進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)3、與外設(shè)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)、與外設(shè)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)4、端口譯碼電路、端口譯碼電路5、控制電路、控制電路二、并行接口概述二、并行接口概述l 并行接口連接并行接口連接CPU與并行外設(shè),實(shí)現(xiàn)與并行外設(shè),實(shí)現(xiàn) 兩者間的并行通信,兩者間的并行通信, 在信息傳送過(guò)程中,起到輸出鎖存或輸入緩沖的作用。在信息傳送過(guò)程中,起到輸出鎖存或輸入緩沖的作用。8CPUCPU控制寄存器控制寄存器輸入緩沖寄存器輸入緩沖寄存器輸出緩沖寄存器輸出緩沖寄存器狀態(tài)寄存器狀態(tài)寄存器數(shù)

5、據(jù)總線數(shù)據(jù)總線地址地址譯碼譯碼讀出信號(hào)讀出信號(hào)寫(xiě)入信號(hào)寫(xiě)入信號(hào)復(fù)位復(fù)位準(zhǔn)備好準(zhǔn)備好中斷請(qǐng)求中斷請(qǐng)求地址地址片選片選A A0 0A A1 1輸輸入入設(shè)設(shè)備備數(shù)據(jù)輸入數(shù)據(jù)輸入數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入回答數(shù)據(jù)輸入回答輸輸出出設(shè)設(shè)備備數(shù)據(jù)輸出數(shù)據(jù)輸出數(shù)據(jù)輸出準(zhǔn)備好數(shù)據(jù)輸出準(zhǔn)備好數(shù)據(jù)輸出回答數(shù)據(jù)輸出回答并行接口連接外設(shè)示意圖并行接口連接外設(shè)示意圖9輸入過(guò)程輸入過(guò)程 外設(shè)將數(shù)據(jù)外設(shè)將數(shù)據(jù)=接口接口 狀態(tài)線狀態(tài)線“數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入準(zhǔn)備好”=1;接口把接收到數(shù)據(jù)輸入緩沖寄存器;接口把接收到數(shù)據(jù)輸入緩沖寄存器;數(shù)據(jù)輸入回答數(shù)據(jù)輸入回答=1,作為對(duì)外設(shè)響應(yīng)信號(hào);,作為對(duì)外設(shè)響應(yīng)信號(hào);外設(shè)撤消外設(shè)

6、撤消“數(shù)據(jù)數(shù)據(jù)”和和“數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入準(zhǔn)備好”信號(hào);信號(hào); CPU從接口讀取數(shù)據(jù)從接口讀取數(shù)據(jù)接口收到數(shù)據(jù),設(shè)置接口收到數(shù)據(jù),設(shè)置“輸入準(zhǔn)備好輸入準(zhǔn)備好”狀態(tài)位;狀態(tài)位;供給供給CPU查詢查詢 或問(wèn)或問(wèn)CPU發(fā)中斷請(qǐng)求;發(fā)中斷請(qǐng)求; CPU從接口讀取數(shù)據(jù),從接口讀取數(shù)據(jù),接口自動(dòng)清除狀態(tài)寄存器輸入準(zhǔn)備好狀態(tài)位(準(zhǔn)備好);接口自動(dòng)清除狀態(tài)寄存器輸入準(zhǔn)備好狀態(tài)位(準(zhǔn)備好); 數(shù)據(jù)總線處于高阻狀態(tài)。開(kāi)始下一個(gè)輸入過(guò)程數(shù)據(jù)總線處于高阻狀態(tài)。開(kāi)始下一個(gè)輸入過(guò)程10輸出過(guò)程輸出過(guò)程輸出輸出 :每當(dāng)外設(shè)從接口取走一個(gè)數(shù)據(jù)以后,:每當(dāng)外設(shè)從接口取走一個(gè)數(shù)據(jù)以后, CPU往接口中輸出數(shù)據(jù)往接口中輸出數(shù)據(jù)接

7、口中狀態(tài)寄存器發(fā)中斷請(qǐng)求;接口中狀態(tài)寄存器發(fā)中斷請(qǐng)求; (“輸出準(zhǔn)備好輸出準(zhǔn)備好”=1,表示,表示CPU可以往接口中輸出數(shù)據(jù))可以往接口中輸出數(shù)據(jù)) CPU向接口輸出數(shù)據(jù),數(shù)據(jù)到接口緩沖寄存器;向接口輸出數(shù)據(jù),數(shù)據(jù)到接口緩沖寄存器;接口自動(dòng)清除接口自動(dòng)清除“輸出準(zhǔn)備輸出準(zhǔn)備”好。好。 將數(shù)據(jù)送往外設(shè):將數(shù)據(jù)送往外設(shè): 接口向外設(shè)發(fā)送一個(gè)接口向外設(shè)發(fā)送一個(gè)“驅(qū)動(dòng)信號(hào)驅(qū)動(dòng)信號(hào)”,啟動(dòng)外設(shè)接收數(shù)據(jù)。,啟動(dòng)外設(shè)接收數(shù)據(jù)。外設(shè)收到數(shù)據(jù)向接口發(fā)一個(gè)外設(shè)收到數(shù)據(jù)向接口發(fā)一個(gè)“數(shù)據(jù)輸出回答數(shù)據(jù)輸出回答”信號(hào);信號(hào);接口收到的信號(hào)將狀態(tài)寄存器中接口收到的信號(hào)將狀態(tài)寄存器中“輸出準(zhǔn)備好輸出準(zhǔn)備好”=1; CPU輸

8、出下一個(gè)數(shù)據(jù)。輸出下一個(gè)數(shù)據(jù)。11l不可編程并行接口和可編程并行接口不可編程并行接口和可編程并行接口 不可編程并行接口的工作方式和功能不可編程并行接口的工作方式和功能: : 是由硬件接線決定,不能用軟件來(lái)控制。是由硬件接線決定,不能用軟件來(lái)控制。 可編程并行接口的工作方式和功能可編程并行接口的工作方式和功能: 可用軟件編程的方法改變,可用軟件編程的方法改變, 使接口具有更大的靈活性和通用性。使接口具有更大的靈活性和通用性。12一般情況下不交叉使用一般情況下不交叉使用,因?yàn)?,因?yàn)?只有本系列的芯片才能更好地保證時(shí)序上的配合只有本系列的芯片才能更好地保證時(shí)序上的配合,和各種功能的發(fā)揮,使和各種功能

9、的發(fā)揮,使CPU可靠與外設(shè)交換信息可靠與外設(shè)交換信息。l 在并行接口芯片中,在并行接口芯片中, 不同的產(chǎn)品系列研制出與之相匹配的接口芯片。不同的產(chǎn)品系列研制出與之相匹配的接口芯片。例例 在在80X86系列系列中使用中使用8255A芯片芯片 在在Z80系列系列中使用中使用Z80-PIO芯片芯片 在在6800系列系列中使用中使用MC6820PIA芯片芯片13第二節(jié)第二節(jié) 可編程并行接口可編程并行接口8255A一、一、8255A的的引腳、編程結(jié)構(gòu)引腳、編程結(jié)構(gòu)二、二、8255A的控制字的控制字三、三、8255A三種工作方式三種工作方式四、四、8255A的應(yīng)用舉例的應(yīng)用舉例14一、一、8255A引腳、

10、編程結(jié)構(gòu)引腳、編程結(jié)構(gòu)Intel系列的系列的8位并行接口芯片位并行接口芯片通用性強(qiáng),使用靈活通用性強(qiáng),使用靈活可用程序設(shè)置和改變芯片的工作方式可用程序設(shè)置和改變芯片的工作方式是一種是一種典型的可編程并行接口芯片典型的可編程并行接口芯片8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB340個(gè)引腳,雙列直插式個(gè)引腳,雙列直插式15resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制

11、控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)8255A總線總線圖圖8-7161. 數(shù)據(jù)端口數(shù)據(jù)端口 A、B、Cr 每個(gè)端口每個(gè)端口8位,通過(guò)編程設(shè)定其為輸入口或輸出口位,通過(guò)編程設(shè)定其為輸入口或輸出口r 可用來(lái)和外設(shè)傳送信息可用來(lái)和外設(shè)傳送信息resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD

12、7D0外外設(shè)設(shè)8255A總線總線17r 端口端口A有有 3 種工作方式種工作方式( 方式方式 0、方式、方式 1、方式、方式 2)對(duì)外對(duì)外 8 根引腳根引腳 PA7 PA0 resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)8255A總線總線18r端口端口B 有有 2 種工作方式:方式種工作方式:方式 0、方式、方式 1對(duì)外對(duì)外 8 根引腳根引腳 PB7 PB0resetD7D0A9A2A1A

13、0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)8255A總線總線19r 端口端口C對(duì)外引腳對(duì)外引腳PC0 PC7resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)8255A總線總線20 當(dāng)端口當(dāng)端口 A 在方式在方式 1

14、 或方式或方式 2、端口、端口 B 在方式在方式 1 時(shí),時(shí), 端口端口 C 的某些位用于傳送聯(lián)絡(luò)信號(hào)的某些位用于傳送聯(lián)絡(luò)信號(hào), 以適應(yīng)以適應(yīng)CPU與外設(shè)間的各種數(shù)據(jù)傳送方式的要求,與外設(shè)間的各種數(shù)據(jù)傳送方式的要求, 如查詢傳送的應(yīng)答信號(hào)、中斷傳送的中斷申請(qǐng)信號(hào)等;如查詢傳送的應(yīng)答信號(hào)、中斷傳送的中斷申請(qǐng)信號(hào)等; C口未被用作聯(lián)絡(luò)信號(hào)的其它位可工作在方式口未被用作聯(lián)絡(luò)信號(hào)的其它位可工作在方式 0。resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端

15、口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)212. 控制端口控制端口D (A組和組和B組控制電路組控制電路) 8位端口,無(wú)對(duì)外引腳位端口,無(wú)對(duì)外引腳 控制端口的內(nèi)容決定控制端口的內(nèi)容決定A口、口、B口、口、C口的工作狀態(tài)口的工作狀態(tài)(輸入或輸出輸入或輸出) 和工作方式(方式和工作方式(方式 0、1、2), 起控制作用。起控制作用。resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)2

16、2 由由1個(gè)個(gè)8位雙向三態(tài)緩沖器構(gòu)成位雙向三態(tài)緩沖器構(gòu)成 8255A內(nèi)各端口內(nèi)各端口通過(guò)數(shù)據(jù)緩沖器與系統(tǒng)總線相連。通過(guò)數(shù)據(jù)緩沖器與系統(tǒng)總線相連。 CPU與端口與端口A、B、C間傳送的數(shù)據(jù),間傳送的數(shù)據(jù), 以及以及CPU寫(xiě)入控制端口寫(xiě)入控制端口D中的控制字均通過(guò)數(shù)據(jù)緩沖器傳送。中的控制字均通過(guò)數(shù)據(jù)緩沖器傳送。3. 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器(引腳引腳D0D7)resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGND

17、D7D0外外設(shè)設(shè)234. 讀寫(xiě)控制電路讀寫(xiě)控制電路 (引腳引腳CS、 RD、 WR) 控制數(shù)據(jù)總線緩沖器的狀態(tài)??刂茢?shù)據(jù)總線緩沖器的狀態(tài)。 數(shù)據(jù)總線緩沖器有數(shù)據(jù)總線緩沖器有3種狀態(tài):輸入、輸出、高阻態(tài)種狀態(tài):輸入、輸出、高阻態(tài) resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)24 CS RD WR數(shù)據(jù)總線緩沖器狀態(tài)數(shù)據(jù)總線緩沖器狀態(tài) 0 0 1 D7D0 內(nèi)部數(shù)據(jù)總線內(nèi)部數(shù)據(jù)總線 0 1 0

18、 D7D0 內(nèi)部數(shù)據(jù)總線內(nèi)部數(shù)據(jù)總線 1 1 1 0 0三態(tài)三態(tài) , 處于斷開(kāi)狀態(tài)處于斷開(kāi)狀態(tài)resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼RESETA1A0PC7PC0PB7PB0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)RDWRCSPA7PA025選擇被操作的端口選擇被操作的端口5. 片內(nèi)譯碼電路片內(nèi)譯碼電路 (引腳引腳A1、 A0)resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB

19、7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)26A1 A0選選中中端端口口0 0端端口口 A0 1端端口口 B1 0端端口口 C1 1控控制制端端口口 DresetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼RESETA1A0PC7PC0PB7PB0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)RDWRCSPA7PA027由由CS、A1、A0、RD、WR引腳的不同組合,引腳的不同組合,實(shí)現(xiàn)各種不同的功能。實(shí)現(xiàn)各種不同的功能。CS A1 A0 RD WR功功

20、能能 0 0 0 0 1對(duì)對(duì)端端口口 A 讀讀 0 0 1 0 1對(duì)對(duì)端端口口 B 讀讀 0 1 0 0 1對(duì)對(duì)端端口口 C 讀讀 0 1 1 0 1非非法法,不不能能對(duì)對(duì) D 口口讀讀輸輸入入 0 0 0 1 0對(duì)對(duì)端端口口 A 寫(xiě)寫(xiě) 0 0 1 1 0對(duì)對(duì)端端口口 B 寫(xiě)寫(xiě) 0 1 0 1 0對(duì)對(duì)端端口口 C 寫(xiě)寫(xiě) 0 1 1 1 0對(duì)對(duì)端端口口 D 寫(xiě)寫(xiě)輸輸出出 1 1 1數(shù)數(shù)據(jù)據(jù)緩緩沖沖器器為為三三態(tài)態(tài)斷斷開(kāi)開(kāi)281方式控制字方式控制字2. C口按位置位口按位置位/復(fù)位控制字復(fù)位控制字二、二、8255A的控制字的控制字29 8255A控制口控制口D的內(nèi)容的內(nèi)容對(duì)數(shù)據(jù)端口對(duì)數(shù)據(jù)端口A、B

21、、C起控制作用,起控制作用, 故稱為故稱為8255A的控制字。的控制字。resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)30 通過(guò)編程向控制口寫(xiě)入不同的控制字,通過(guò)編程向控制口寫(xiě)入不同的控制字, 可靈活的改變端口可靈活的改變端口A、B、C的工作狀態(tài)和工作方式。的工作狀態(tài)和工作方式。例例 假設(shè)假設(shè)8255A 控制端口的地址為控制端口的地址為Port_Ctrl, 8255A控制口的內(nèi)容為控制口的

22、內(nèi)容為CtrlData 設(shè)置控制字的程序段如下:設(shè)置控制字的程序段如下: MOV DX,Port_Ctrl ;置置DX為控制口地址為控制口地址 MOV AL,CtrlData ;置控制字于置控制字于AL中中 OUT DX, AL ;將控制字寫(xiě)入控制口將控制字寫(xiě)入控制口31 8255A有兩種控制字,由寫(xiě)入內(nèi)容的有兩種控制字,由寫(xiě)入內(nèi)容的D7位區(qū)分:位區(qū)分:D7=1, 方式控制字方式控制字設(shè)定設(shè)定A口、口、B口、口、C口的工作狀態(tài)和工作方式??诘墓ぷ鳡顟B(tài)和工作方式。工作狀態(tài):輸入或輸出工作狀態(tài):輸入或輸出工作方式:方式工作方式:方式 0、方式、方式 1、方式、方式 2D7=0 , C口按位置位口按

23、位置位/復(fù)位控制字復(fù)位控制字使使C口中的某一位為口中的某一位為1(置位)或(置位)或0(復(fù)位)。(復(fù)位)。321. 方式控制字方式控制字設(shè)定設(shè)定A口、口、B口、口、C口的工作狀態(tài)和工作方式??诘墓ぷ鳡顟B(tài)和工作方式。工作狀態(tài)工作狀態(tài):輸入或輸出:輸入或輸出工作方式工作方式:方式:方式 0、方式、方式 1、方式、方式 2resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)33B口口0 輸出輸出1 輸

24、入輸入0 方式方式01 方式方式11D7D6D5D4D3D2D1D0特征位,特征位,D7=1表示是方式控制字表示是方式控制字PC3PC00 輸出輸出1 1 輸入輸入B口工作方式口工作方式PC7PC40 輸出輸出1 輸入輸入A口口0 輸出輸出1 輸入輸入A口工作方式口工作方式00 方式方式001 方式方式11x 方式方式2方方式式控控制制字字各各位位含含義義34例例 8255A與系統(tǒng)的連線如下,與系統(tǒng)的連線如下, 片選譯碼地址為片選譯碼地址為F0F3h 1) 確定各端口地址確定各端口地址; 2) 編程設(shè)置編程設(shè)置8255A : A口方式口方式 0 輸入,輸入,PC7PC4輸出輸出 B口方式口方式

25、 0 輸出,輸出,PC3PC0輸入輸入resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼RESETA1A0PC7PC0PB7PB0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)RDWRCSPA7PA0F0F3h35最后得出結(jié)論:最后得出結(jié)論: A口地址口地址為為 F0 H B口地址口地址為為 F1 H C口地址口地址為為 F2 H D口地址口地址為為 F3 H1) 確定端口地址確定端口地址由由8255A編程結(jié)構(gòu)知:編程結(jié)構(gòu)知:A1 A0選選中中端端口口0 0端端口口 A0 1端端口口 B1 0端端口口

26、C1 1控控制制端端口口 D由由8255A的的CS與系統(tǒng)總線的連線知與系統(tǒng)總線的連線知, 地址在地址在F0F3h可可使使CS有效,故有效,故: 4個(gè)端口的地址在個(gè)端口的地址在F0F3h中。中。結(jié)合結(jié)合8255A與系統(tǒng)總線的連線與系統(tǒng)總線的連線: A7 A6 A5 A4 A3 A2 A1 A0 F0H 1 1 1 1 0 0 0 0 A口口F1H 1 1 1 1 0 0 0 1 B口口F2H 1 1 1 1 0 0 1 0 C口口F3H 1 1 1 1 0 0 1 1 D口口 CSA1 A0 8255A總線總線362) 確定方式控制字確定方式控制字10010001D7D6D5D4D3D2D1D0

27、特征位特征位A口口方式方式 0A口口輸入輸入PC7PC4輸出輸出B口口方式方式 0B口口輸出輸出PC3PC0輸入輸入所以,方式控制字為所以,方式控制字為 1001 0001B,即,即91H 要求設(shè)置要求設(shè)置: A口方式口方式0輸入,輸入,PC7PC4輸出輸出 B口方式口方式0輸出,輸出,PC3PC0輸入輸入 37設(shè)置方式控制字的程序段為:設(shè)置方式控制字的程序段為:MOV DX, 0F3H ;控制口地址控制口地址MOV AL, 91H ;方式方式控制字控制字OUT DX, AL或或 MOV AL, 91H ; 方式控制字方式控制字OUT 0F3H, AL382. C口按位置位口按位置位/復(fù)位控制

28、字復(fù)位控制字 作用是:作用是: 使使C口中的某一位為口中的某一位為1(置位)或(置位)或0(復(fù)位);(復(fù)位); 或在或在A口、口、B口采用中斷方式時(shí),口采用中斷方式時(shí), 通過(guò)向通過(guò)向C口的指定位置位,允許口的指定位置位,允許8255A的中斷信號(hào)發(fā)出的中斷信號(hào)發(fā)出。390 復(fù)位復(fù)位1 置位置位0D7D6D5D4D3D2D1D0設(shè)置內(nèi)容設(shè)置內(nèi)容特征位,特征位,D7=0表示是表示是C口按位口按位置位置位/復(fù)位控制字復(fù)位控制字無(wú)意義無(wú)意義選擇設(shè)置位選擇設(shè)置位C口按位置位口按位置位/復(fù)位控制字各位含義復(fù)位控制字各位含義:D3 D2 D1設(shè)設(shè)置置位位0 0 0PC00 0 1PC10 1 0PC20 1

29、1PC31 0 0PC41 0 1PC51 1 0PC61 1 1PC740例例 連線如上例,連線如上例, 通過(guò)控制口置通過(guò)控制口置 PC2 為為 0,置,置 PC4 為為 1 MOV DX,0F3H ;置置DX為控制口地址為控制口地址 MOV AL,0000 0100B ;置置PC2為為0 OUT DX, AL MOV AL,0000 1001B ;置置PC4為為1 OUT DX, AL 41三、三、8255A的工作方式的工作方式1. 三種工作方式三種工作方式2. 方式方式0 3. 方式方式14. 方式方式242r 在在8255A內(nèi)部硬件結(jié)構(gòu)中內(nèi)部硬件結(jié)構(gòu)中: A口和口和B口之間沒(méi)有硬件關(guān)系

30、,口之間沒(méi)有硬件關(guān)系, 即可分別作為獨(dú)立的輸入或輸出端口;即可分別作為獨(dú)立的輸入或輸出端口; C口和口和A口,口,C口和口和B口之間有硬件聯(lián)系,口之間有硬件聯(lián)系, 通過(guò)向控制口設(shè)置控制字可以改變這種聯(lián)系。通過(guò)向控制口設(shè)置控制字可以改變這種聯(lián)系。1. 三種工作方式三種工作方式43resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)8255A總線總線44r 根據(jù)根據(jù)A口和口和C口、口、B口和口和C口

31、之間硬件關(guān)系的不同,口之間硬件關(guān)系的不同, 可以有三種不同的工作方式可以有三種不同的工作方式, 分別稱為方式分別稱為方式 0、方式、方式 1、方式、方式 2。方式方式 0: 與與C口之間口之間沒(méi)有硬件聯(lián)系沒(méi)有硬件聯(lián)系。 方式方式 1: C口的口的某某3根引腳根引腳作為端口與外設(shè)的聯(lián)絡(luò)信號(hào)。作為端口與外設(shè)的聯(lián)絡(luò)信號(hào)。方式方式 2: C口的口的某某5根引腳根引腳作為端口與外設(shè)的聯(lián)絡(luò)信號(hào)。作為端口與外設(shè)的聯(lián)絡(luò)信號(hào)。 451. 方式方式0(基本輸入輸出方式)(基本輸入輸出方式) A口工作在方式口工作在方式 0 時(shí),時(shí),A口口和和C口之間沒(méi)有硬件聯(lián)系口之間沒(méi)有硬件聯(lián)系 B口工作在方式口工作在方式 0 時(shí)

32、,時(shí),B口口和和C口之間沒(méi)有硬件聯(lián)系口之間沒(méi)有硬件聯(lián)系resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)46工作在工作在方式方式 0 的端口的端口,為,為單向傳送端口單向傳送端口, 由方式控制字決定是輸入還是輸出。由方式控制字決定是輸入還是輸出。1001/01/001/01/0特征位特征位A口口工作方式工作方式 A口口I/OPC7PC7PC4PC4I/OB口口工作方式工作方式 B口口I/OPC

33、3PC3PC0PC0I/O工作在方式工作在方式 0 的端口:的端口: 作為輸入口相當(dāng)于普通的三態(tài)門(mén)作為輸入口相當(dāng)于普通的三態(tài)門(mén) 作為輸出口相當(dāng)于普通的鎖存器作為輸出口相當(dāng)于普通的鎖存器 CPU可利用方式可利用方式 0 下的端口,直接對(duì)端口進(jìn)行讀寫(xiě)操作,下的端口,直接對(duì)端口進(jìn)行讀寫(xiě)操作, 實(shí)現(xiàn)實(shí)現(xiàn)CPU與外設(shè)間的數(shù)據(jù)傳送。與外設(shè)間的數(shù)據(jù)傳送。47三態(tài)緩沖器三態(tài)緩沖器地址譯碼器地址譯碼器數(shù)據(jù)數(shù)據(jù)來(lái)自外設(shè)來(lái)自外設(shè)8 88 8IO/IO/ MRDRD數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線方式方式 0 輸入輸入方式方式0輸入(輸入(IN AL,PORT) 框圖框圖&48方式方式0輸出輸出方式方式0輸出

34、(輸出(OUT PORT,AL) 框圖:框圖:鎖存器鎖存器到外設(shè)到外設(shè)8 88 8IO/IO/MWRWR地址譯碼器地址譯碼器數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線& &CECE49方式方式0的使用場(chǎng)合的使用場(chǎng)合同步方式同步方式在同步傳送時(shí),發(fā)送方和接收方由同一時(shí)序信號(hào)來(lái)管理,所以雙在同步傳送時(shí),發(fā)送方和接收方由同一時(shí)序信號(hào)來(lái)管理,所以雙方相互知道對(duì)方的動(dòng)作,不需要應(yīng)答信號(hào)。也就是說(shuō)方相互知道對(duì)方的動(dòng)作,不需要應(yīng)答信號(hào)。也就是說(shuō)CPU不需要不需要查詢外設(shè)的狀態(tài)。這種情況下,對(duì)接口要求很簡(jiǎn)單,只要能傳送查詢外設(shè)的狀態(tài)。這種情況下,對(duì)接口要求很簡(jiǎn)單,只要能傳送數(shù)據(jù)就行,此時(shí)數(shù)據(jù)就行,此時(shí)8

35、255A的三個(gè)數(shù)據(jù)端口可以實(shí)現(xiàn)三路數(shù)據(jù)傳送。的三個(gè)數(shù)據(jù)端口可以實(shí)現(xiàn)三路數(shù)據(jù)傳送。查詢方式查詢方式查詢傳輸時(shí),需要有應(yīng)答信號(hào),此時(shí)端口查詢傳輸時(shí),需要有應(yīng)答信號(hào),此時(shí)端口A和端口和端口B常作為數(shù)據(jù)常作為數(shù)據(jù)端口,把端口端口,把端口C的兩部分(高、低位)用來(lái)輸出一些控制信號(hào)和的兩部分(高、低位)用來(lái)輸出一些控制信號(hào)和接收一些狀態(tài)信號(hào),這樣端口接收一些狀態(tài)信號(hào),這樣端口C就用來(lái)配合端口就用來(lái)配合端口A和端口和端口B工作工作50 2. 方式方式1(選通輸入輸出方式)(選通輸入輸出方式) A、B口工作在方式口工作在方式1時(shí),時(shí), C口的口的某某3根引腳根引腳作為作為A、B口的聯(lián)口的聯(lián)絡(luò)信號(hào)絡(luò)信號(hào)。res

36、etD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)51工作在方式工作在方式 1 的端口,為單向傳送端口。的端口,為單向傳送端口。 由方式控制字決定是輸入還是輸出。由方式控制字決定是輸入還是輸出。1011/01/011/01/0D7D6D5D4D3D2D1D0特征位特征位A口口工作方式工作方式 A口口I/OPC7PC7PC4PC4I/OB口口工作方式工作方式 B口口I/OPC3PC3PC0PC0I/O

37、52在方式在方式 1 下,下,C口作為口作為A口、口、B口聯(lián)絡(luò)信號(hào)的引腳,口聯(lián)絡(luò)信號(hào)的引腳, 其動(dòng)作關(guān)系在芯片設(shè)計(jì)和制造時(shí)已固定,其動(dòng)作關(guān)系在芯片設(shè)計(jì)和制造時(shí)已固定, 不由用戶自己安排,也不能編程改變。不由用戶自己安排,也不能編程改變。 即即C口作為聯(lián)絡(luò)信號(hào)的引腳口作為聯(lián)絡(luò)信號(hào)的引腳: 不受方式控制字的控制不受方式控制字的控制。該出則出,該入則入。該出則出,該入則入。 不受不受C口按位置位口按位置位/復(fù)位控制字控制復(fù)位控制字控制, 即對(duì)這些位的置位即對(duì)這些位的置位/復(fù)位不影響這些引腳信號(hào)。復(fù)位不影響這些引腳信號(hào)。1011/01/011/01/0特征位特征位A口口工作方式工作方式 A口口I/OP

38、C7PC7PC4PC4I/OB口口工作方式工作方式 B口口I/OPC3PC3PC0PC0I/O53利用方式利用方式 1 下的聯(lián)絡(luò)信號(hào),下的聯(lián)絡(luò)信號(hào), 可方便地可方便地實(shí)現(xiàn)查詢或中斷方式實(shí)現(xiàn)查詢或中斷方式的硬件設(shè)計(jì),的硬件設(shè)計(jì), 使使CPU能夠能夠有效、可靠地與外設(shè)進(jìn)行數(shù)據(jù)傳送。有效、可靠地與外設(shè)進(jìn)行數(shù)據(jù)傳送。 A口、口、B口在輸入或輸出不同的工作狀態(tài)時(shí),口在輸入或輸出不同的工作狀態(tài)時(shí), C口聯(lián)絡(luò)信號(hào)的引腳和意義也不同??诼?lián)絡(luò)信號(hào)的引腳和意義也不同。54l方式方式1下輸入端口的聯(lián)絡(luò)信號(hào)下輸入端口的聯(lián)絡(luò)信號(hào)1 0 1 1A A口方式口方式1 1輸入控制字輸入控制字11 1B B口方式口方式1 1輸

39、入控制字輸入控制字PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4與門(mén)與門(mén)IBFAIBFASTBASTBAINTRAINTRARDRDD7D7D0D0A口方式口方式1輸入時(shí)輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)相應(yīng)的聯(lián)絡(luò)信號(hào)PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBPC2PC2與門(mén)與門(mén)RDRDB口方式口方式1輸入時(shí)輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)相應(yīng)的聯(lián)絡(luò)信號(hào)D7D7D0D0IBFBIBFBSTBBSTBBINTRBINTRB55對(duì)方式對(duì)方式1輸入的端口,輸入的端口,C口提供與外部聯(lián)絡(luò)的信號(hào)有:口提供與外部聯(lián)絡(luò)的信號(hào)有: STB 選通信號(hào)(低

40、電平有效)選通信號(hào)(低電平有效)由外設(shè)發(fā)出,送給由外設(shè)發(fā)出,送給8255A,作用是將外設(shè)送來(lái)的數(shù)據(jù)鎖存到作用是將外設(shè)送來(lái)的數(shù)據(jù)鎖存到8255A的輸入端口。的輸入端口。 IBF 輸入緩沖器滿信號(hào)(高電平有效)輸入緩沖器滿信號(hào)(高電平有效) 8255A 發(fā)出,發(fā)出, 表示外設(shè)送來(lái)的數(shù)據(jù)已進(jìn)入輸入端口。表示外設(shè)送來(lái)的數(shù)據(jù)已進(jìn)入輸入端口。 當(dāng)外設(shè)送來(lái)的數(shù)據(jù)送入輸入端口后,當(dāng)外設(shè)送來(lái)的數(shù)據(jù)送入輸入端口后, 8255A自動(dòng)發(fā)出自動(dòng)發(fā)出IBF。 INTR 中斷申請(qǐng)信號(hào)中斷申請(qǐng)信號(hào) (高電平或上升沿有效)(高電平或上升沿有效)8255A 發(fā)出,用來(lái)向發(fā)出,用來(lái)向CPU發(fā)出中斷申請(qǐng)。發(fā)出中斷申請(qǐng)。STB、IBF

41、、INTE均為時(shí),均為時(shí),8255A自動(dòng)發(fā)出自動(dòng)發(fā)出INTR。PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4與門(mén)與門(mén)IBFIBFSTBSTBINTRINTR56對(duì)方式對(duì)方式1輸入的端口,輸入的端口,8255A內(nèi)部的控制信號(hào)有:內(nèi)部的控制信號(hào)有: INTE 中斷允許控制信號(hào)中斷允許控制信號(hào) 作用是控制是否允許作用是控制是否允許8255A的中斷申請(qǐng)信號(hào)的中斷申請(qǐng)信號(hào)INTR發(fā)出。發(fā)出。PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4與門(mén)與門(mén)IBFIBFSTBSTBINTRINTR 此信號(hào)無(wú)引出此信號(hào)無(wú)引出,

42、通過(guò)通過(guò)控制口控制口對(duì)對(duì)C口相應(yīng)位的置位口相應(yīng)位的置位/復(fù)位復(fù)位設(shè)置設(shè)置允許或不允許允許或不允許。 A口,口,對(duì)對(duì)PC4置置位位, 使使INTEA=1, 允許允許中斷中斷 對(duì)對(duì)PC4復(fù)復(fù)位位, 使使INTEA=0, 不允許不允許中斷中斷 B口,口,對(duì)對(duì)PC2置置位位, 使使INTEB=1, 允許允許中斷中斷 對(duì)對(duì)PC2復(fù)復(fù)位位, 使使INTEB=0, 不允許不允許中斷中斷57PB7PB0PA7PA0STBIBFINTRRD方式方式1的輸入時(shí)序:的輸入時(shí)序: 從工作在方式從工作在方式1下的輸入端口輸入數(shù)據(jù)時(shí),下的輸入端口輸入數(shù)據(jù)時(shí), 有關(guān)信號(hào)的變化關(guān)系。有關(guān)信號(hào)的變化關(guān)系。外設(shè)送來(lái)數(shù)據(jù)外設(shè)送來(lái)數(shù)

43、據(jù)當(dāng)當(dāng)INTE=1時(shí)時(shí) RDRDD7D7D0D0PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4與門(mén)與門(mén)IBFIBFSTBSTBINTRINTR58 當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,將數(shù)據(jù)送至端口線將數(shù)據(jù)送至端口線PA7PA0或或PB7PB0 外設(shè)發(fā)出選通信號(hào)外設(shè)發(fā)出選通信號(hào)STB: ( (1) 將數(shù)據(jù)鎖存在輸入端口內(nèi)。將數(shù)據(jù)鎖存在輸入端口內(nèi)。 (2) 使使IBF變高變高,表示輸入端口滿,可用于阻止外設(shè)輸入新數(shù)據(jù),表示輸入端口滿,可用于阻止外設(shè)輸入新數(shù)據(jù) (3) 如果如果INTE=1, STB的的上升沿上升沿使使INTR變高,發(fā)出中斷請(qǐng)求。變高,

44、發(fā)出中斷請(qǐng)求。 中斷處理程序中中斷處理程序中CPU 讀取數(shù)據(jù),發(fā)出讀取數(shù)據(jù),發(fā)出RD信號(hào)信號(hào): (1) RD 的下降沿清除的下降沿清除INTR (2) RD 的上升沿清除的上升沿清除IBF (3) 端口內(nèi)的數(shù)據(jù)進(jìn)入端口內(nèi)的數(shù)據(jù)進(jìn)入CPUPA7PA7PA0PA0PB7PB7PB0PB0STBIBFINTRRD外設(shè)送來(lái)數(shù)據(jù)外設(shè)送來(lái)數(shù)據(jù)當(dāng)當(dāng)INTE=1時(shí)時(shí) RDRDD7D7D0D0PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4與門(mén)與門(mén)IBFIBFSTBSTBINTRINTR59小結(jié):方式輸入時(shí),中斷申請(qǐng)信號(hào)發(fā)出的條件是:小結(jié):方式輸入時(shí),中斷申請(qǐng)信號(hào)發(fā)出

45、的條件是: STB=1 由外設(shè)輸入負(fù)脈沖信號(hào)滿足由外設(shè)輸入負(fù)脈沖信號(hào)滿足 IBF=1 此信號(hào)由此信號(hào)由8255A自動(dòng)產(chǎn)生,自動(dòng)產(chǎn)生, STB信號(hào)置信號(hào)置, RD的上升沿置的上升沿置0 INTE=1 此信號(hào)無(wú)引出,通過(guò)編程實(shí)現(xiàn):此信號(hào)無(wú)引出,通過(guò)編程實(shí)現(xiàn): A口,由控制口對(duì)口,由控制口對(duì)PC4置位置位 B口,由控制口對(duì)口,由控制口對(duì)PC2置位置位PA7PA7PA0PA0PB7PB7PB0PB0STBIBFINTRRD外設(shè)送來(lái)數(shù)據(jù)外設(shè)送來(lái)數(shù)據(jù)當(dāng)當(dāng)INTE=1時(shí)時(shí) RDRDD7D7D0D0PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4與門(mén)與門(mén)IBFIBF

46、STBSTBINTRINTRRDRDD7D7D0D0PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEAINTEAPC2PC2與門(mén)與門(mén)IBFIBFSTBSTBINTRINTR60注意:注意: 在方式在方式1下,下,作為聯(lián)絡(luò)信號(hào)的外部引腳作為聯(lián)絡(luò)信號(hào)的外部引腳PC4、PC2, 不受不受C口按位置位口按位置位/復(fù)位控制字控制,復(fù)位控制字控制, 即對(duì)這些位的置位即對(duì)這些位的置位/復(fù)位不影響這些引腳信號(hào)的輸入復(fù)位不影響這些引腳信號(hào)的輸入/輸出,輸出, 而只在而只在8255A內(nèi)部對(duì)內(nèi)部對(duì)INTE信號(hào)起作用。信號(hào)起作用。PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTE

47、AINTEAPC4PC4與門(mén)與門(mén)IBFAIBFASTBASTBAINTRAINTRARDRDD7D7D0D0PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBPC2PC2與門(mén)與門(mén)RDRDD7D7D0D0IBFBIBFBSTBBSTBBINTRBINTRB1 0 1 1A口方式口方式1輸入控制字輸入控制字11 1B口方式口方式1輸入控制字輸入控制字61l方式方式1下輸出端口的聯(lián)絡(luò)信號(hào)下輸出端口的聯(lián)絡(luò)信號(hào)A口方式口方式1輸出時(shí)輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式口方式1輸出時(shí)輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)相應(yīng)的聯(lián)絡(luò)信號(hào)1 0 1 0A口方式口方式1輸出控制字輸出控制字11

48、 0B口方式口方式1輸出控制字輸出控制字PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBPC2PC2與門(mén)與門(mén)WRWRD7D7D0D0OBFBOBFBACKBACKBINTRBINTRB62對(duì)方式對(duì)方式1輸出的端口,輸出的端口,C口提供與外部聯(lián)絡(luò)的信號(hào)有口提供與外部聯(lián)絡(luò)的信號(hào)有: OBF 輸出緩沖器滿信號(hào)(低電平有效)輸出緩沖器滿信號(hào)(低電平有效)當(dāng)數(shù)據(jù)送至當(dāng)數(shù)據(jù)送至8255A輸出緩沖器后,

49、輸出緩沖器后,8255A自動(dòng)發(fā)出。自動(dòng)發(fā)出。 表示表示CPU送來(lái)的數(shù)據(jù)已進(jìn)入送來(lái)的數(shù)據(jù)已進(jìn)入8255A輸出端口,輸出端口, 可用來(lái)通知外設(shè)把數(shù)據(jù)取走??捎脕?lái)通知外設(shè)把數(shù)據(jù)取走。 ACK 外設(shè)響應(yīng)信號(hào)(低電平有效)外設(shè)響應(yīng)信號(hào)(低電平有效) 由外設(shè)發(fā)出,送給由外設(shè)發(fā)出,送給8255A。 作用是通知作用是通知 8255A 輸出端口的數(shù)據(jù)已被外設(shè)取走,輸出端口的數(shù)據(jù)已被外設(shè)取走, 可以傳送下一個(gè)數(shù)據(jù)??梢詡魉拖乱粋€(gè)數(shù)據(jù)。 INTR 中斷申請(qǐng)信號(hào)(高電平或上升沿有效)中斷申請(qǐng)信號(hào)(高電平或上升沿有效) 8255A 發(fā)出發(fā)出, 用來(lái)向用來(lái)向CPU發(fā)出中斷申請(qǐng)。發(fā)出中斷申請(qǐng)。當(dāng)當(dāng)OBF 、ACK、INTE

50、均為時(shí),均為時(shí),8255A自動(dòng)發(fā)出自動(dòng)發(fā)出INTR。PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)OBFAOBFAACKAACKAINTRAINTRA63對(duì)方式對(duì)方式1輸出的端口,輸出的端口,8255A內(nèi)部的控制信號(hào)有:內(nèi)部的控制信號(hào)有: INTE 中斷允許控制信號(hào)中斷允許控制信號(hào) 作用是控制是否允許中斷申請(qǐng)信號(hào)作用是控制是否允許中斷申請(qǐng)信號(hào)INTR發(fā)出。發(fā)出。PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)OBFAOBFAACKAACKAINTRAINTRA 此信號(hào)無(wú)引出此信號(hào)無(wú)引出,

51、通過(guò)通過(guò)控制口控制口對(duì)對(duì)C口相應(yīng)位的置位口相應(yīng)位的置位/復(fù)位復(fù)位設(shè)置設(shè)置允許或不允許允許或不允許。 A口,口,對(duì)對(duì)PC6置置位位, 使使INTEA=1, 允許允許中斷中斷 對(duì)對(duì)PC6復(fù)復(fù)位位, 使使INTEA=0, 不允許不允許中斷中斷 B口,口,對(duì)對(duì)PC2置置位位, 使使INTEB=1, 允許允許中斷中斷 對(duì)對(duì)PC2復(fù)復(fù)位位, 使使INTEB=0, 不允許不允許中斷中斷64D7D0送往外設(shè)數(shù)據(jù)送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫(xiě)入端口數(shù)據(jù)寫(xiě)入端口WROBFINTRACK當(dāng)當(dāng)INTE=1時(shí)時(shí) 方式方式1的輸出時(shí)序:的輸出時(shí)序:向工作在方式向工作在方式1下的輸出端口輸出數(shù)據(jù)時(shí),下的輸出端口輸出數(shù)據(jù)時(shí),有關(guān)信號(hào)的變

52、化關(guān)系。有關(guān)信號(hào)的變化關(guān)系。PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D065 CPU輸出數(shù)據(jù)輸出數(shù)據(jù) CPU發(fā)出發(fā)出WR: (1) 數(shù)據(jù)寫(xiě)到數(shù)據(jù)寫(xiě)到 8255A的端口的端口 (2) 使使OBF有效,表示輸出端口滿,有效,表示輸出端口滿, 可作為外設(shè)的選通信號(hào)可作為外設(shè)的選通信號(hào),通知外設(shè)取數(shù)據(jù)。通知外設(shè)取數(shù)據(jù)。 (3)清除中斷請(qǐng)求信號(hào)清除中斷請(qǐng)求信號(hào)INTR 外設(shè)接受到數(shù)據(jù)后,發(fā)出外設(shè)接受到數(shù)據(jù)后,發(fā)出ACK信號(hào)信號(hào): (1) ACK的下降沿使的下降沿使OBF變高

53、,變高, (2) 當(dāng)當(dāng)INTE=1, ACK的上升沿使的上升沿使INTR變高,變高, 發(fā)出中斷請(qǐng)求,請(qǐng)求發(fā)出中斷請(qǐng)求,請(qǐng)求CPU輸出新的數(shù)據(jù)。輸出新的數(shù)據(jù)。D7D7D0D0INTRWROBFACK當(dāng)當(dāng)INTE=1時(shí)時(shí) 送往外設(shè)數(shù)據(jù)送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫(xiě)入端口數(shù)據(jù)寫(xiě)入端口PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D066小結(jié)小結(jié): 方式方式1輸出時(shí),中斷申請(qǐng)信號(hào)發(fā)出的條件是:輸出時(shí),中斷申請(qǐng)信號(hào)發(fā)出的條件是: OBF=1 此信號(hào)由此信號(hào)由8255A自動(dòng)產(chǎn)生,自動(dòng)產(chǎn)生, W

54、R上升沿置上升沿置0, ACK下降沿置下降沿置1 ACK=1 由外設(shè)輸入負(fù)脈沖信號(hào)滿足由外設(shè)輸入負(fù)脈沖信號(hào)滿足 INTE=1 此信號(hào)無(wú)引出,通過(guò)編程實(shí)現(xiàn):此信號(hào)無(wú)引出,通過(guò)編程實(shí)現(xiàn): A口,由控制口對(duì)口,由控制口對(duì)PC6置位置位 B口,由控制口對(duì)口,由控制口對(duì)PC2置位置位D7D7D0D0WROBFINTRACK當(dāng)當(dāng)INTE=1時(shí)時(shí) 送往外設(shè)數(shù)據(jù)送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫(xiě)入端口數(shù)據(jù)寫(xiě)入端口PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)WRWRD7D7D0D0OBFOBFACKACKINTRINTRPB7PB7PB0PB0PC2PC2PC1PC1PC

55、0PC0INTEAINTEAPC2PC2與門(mén)與門(mén)WRWRD7D7D0D0OBFOBFACKACKINTRINTR67PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6與門(mén)與門(mén)OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBPC2PC2與門(mén)與門(mén)WRWRD7D7D0D0OBFBOBFBACKBACKBINTRBINTRB1 0 1 0A口方式口方式1輸出控制字輸出控制字11 0B口方式口方式1輸出控制字輸出控制字注意:注意: 在方式在方式1下,作為聯(lián)

56、絡(luò)信號(hào)的外部引腳下,作為聯(lián)絡(luò)信號(hào)的外部引腳PC6、PC2, 不受不受C口按位置位口按位置位/復(fù)位控制字控制,復(fù)位控制字控制, 即對(duì)這些位的置位即對(duì)這些位的置位/復(fù)位不影響這些引腳信號(hào)的輸入復(fù)位不影響這些引腳信號(hào)的輸入/輸出,輸出, 而只在而只在8255A內(nèi)部對(duì)內(nèi)部對(duì)INTE信號(hào)起作用。信號(hào)起作用。68方式方式1的使用場(chǎng)合的使用場(chǎng)合 對(duì)方式對(duì)方式1,規(guī)定一個(gè)端口,規(guī)定一個(gè)端口作為輸入口的同時(shí),自動(dòng)規(guī)作為輸入口的同時(shí),自動(dòng)規(guī)定了有關(guān)控制信號(hào),尤其規(guī)定了有關(guān)控制信號(hào),尤其規(guī)定了相應(yīng)的中斷請(qǐng)求信號(hào)。定了相應(yīng)的中斷請(qǐng)求信號(hào)。這樣,在許多采用中斷方式這樣,在許多采用中斷方式進(jìn)行輸入輸出的場(chǎng)合,如果進(jìn)行輸入

57、輸出的場(chǎng)合,如果外設(shè)能為外設(shè)能為8255A提供選擇信提供選擇信號(hào)或數(shù)據(jù)接收信號(hào),那么,號(hào)或數(shù)據(jù)接收信號(hào),那么,應(yīng)使應(yīng)使8255A工作于方式工作于方式1。用方式用方式1工作比方式工作比方式0更加方更加方便有效。便有效。693方式方式2 (雙向傳送方式)(雙向傳送方式)端口工作在方式端口工作在方式 2時(shí),時(shí),C口的某口的某5根引腳作為端口的聯(lián)絡(luò)信號(hào)根引腳作為端口的聯(lián)絡(luò)信號(hào) 8255A 只有只有A口可以工作在方式口可以工作在方式 2 下。下。resetD7D0A9A2A1A0IORIOW片選片選譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器讀寫(xiě)讀寫(xiě)控制控制片內(nèi)片內(nèi)譯碼譯碼CSRESETA1A0RDWRPC7PC0PB

58、7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外設(shè)設(shè)70 與方式與方式 0、方式、方式 1的單向傳送不同,的單向傳送不同, 工作在方式工作在方式 2下的端口,具有雙向傳送功能。下的端口,具有雙向傳送功能。 A口工作在方式口工作在方式 2 下,下,C口未做聯(lián)絡(luò)信號(hào)的口未做聯(lián)絡(luò)信號(hào)的3條引腳,條引腳, 可作為可作為B口在方式口在方式1下的聯(lián)絡(luò)線,也可和下的聯(lián)絡(luò)線,也可和B口一樣工作在方式口一樣工作在方式0下。下。 由方式控制字決定其輸入由方式控制字決定其輸入/輸出。輸出。11XX 1/01/01/0D7D6D5D4D3D2D1D0特征位特征位A口口工作方式

59、工作方式 A口口I/OPC7PC7PC4PC4I/OB口口工作方式工作方式 B口口I/OPC3PC3PC0PC0I/O1/071PA7PA7PA0PA0PC6PC6PC7PC7ACKAACKAOBFAOBFAD7D7D0D0RDRDWRWRPC4PC4PC5PC5STBASTBAIBFAIBFAINTEA1INTEA1PC4PC4INTEA2INTEA2PC6PC6與與門(mén)門(mén)PC3PC3INTRAINTRA或門(mén)或門(mén)與與門(mén)門(mén)工作在方式工作在方式2時(shí),時(shí),C口有口有5根引腳作為根引腳作為A口的聯(lián)絡(luò)信號(hào),口的聯(lián)絡(luò)信號(hào), 是方式是方式1下下A口輸入、輸出聯(lián)絡(luò)信號(hào)的組合??谳斎搿⑤敵雎?lián)絡(luò)信號(hào)的組合。方式方

60、式2下的時(shí)序?yàn)榉绞较碌臅r(shí)序?yàn)榉绞?輸入輸入/輸出兩者的組合輸出兩者的組合(略略)。72四、四、8255A的應(yīng)用舉例的應(yīng)用舉例例一例一82558255作為打印機(jī)接口,工作于方式作為打印機(jī)接口,工作于方式0 0,如圖所示。,如圖所示。 73當(dāng)打印機(jī)正在處理一個(gè)當(dāng)打印機(jī)正在處理一個(gè)字符或正在打印一行字符,字符或正在打印一行字符,打印機(jī)忙信號(hào)打印機(jī)忙信號(hào)BUSY=1,否則,否則,BUSY=0。在。在8086向打印機(jī)送向打印機(jī)送數(shù)前,應(yīng)先查詢打印機(jī)狀態(tài),數(shù)前,應(yīng)先查詢打印機(jī)狀態(tài),當(dāng)當(dāng)BUSY=0時(shí),可以向打印機(jī)時(shí),可以向打印機(jī)送數(shù)據(jù)。送數(shù)據(jù)。當(dāng)當(dāng)STB有效(負(fù)脈沖),有效(負(fù)脈沖),把數(shù)據(jù)線的數(shù)據(jù)送入打印機(jī)內(nèi),把數(shù)據(jù)線的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論