版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第8章可編程接口芯片及應(yīng)用 第8章可編程接口芯片及應(yīng)用 8.1概述概述 8.2可編程定時(shí)可編程定時(shí)/計(jì)數(shù)器計(jì)數(shù)器Intel 8253 8.3可編程可編程I/O接口接口8255A 第8章可編程接口芯片及應(yīng)用 8.1 概述概述 第8章可編程接口芯片及應(yīng)用 8.2可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253 8.2.1 定時(shí)/計(jì)數(shù)的基本概念 所謂定時(shí)(計(jì)數(shù))就是通過硬件或軟件的方法產(chǎn)生一個(gè)時(shí) 間基準(zhǔn),以此來實(shí)現(xiàn)對系統(tǒng)的定時(shí)或延時(shí)控制。要實(shí)現(xiàn)定時(shí)或 延時(shí)控制,有三種主要方法:軟件定時(shí)、純硬件定時(shí)及可編程 的硬件定時(shí)器/計(jì)數(shù)器。 第8章可編程接口芯片及應(yīng)用 1. 軟件定時(shí)軟件定時(shí) 軟件定時(shí)的方法是:由
2、于執(zhí)行每條指令都需要時(shí)間,則執(zhí) 行一個(gè)程序段就需要一個(gè)固定的時(shí)間,通過適當(dāng)?shù)靥暨x指令和 安排循環(huán)次數(shù)來實(shí)現(xiàn)軟件的定時(shí)。這種方法由于要完全占用 CPU的時(shí)間,因而降低了CPU的利用率。 第8章可編程接口芯片及應(yīng)用 2. 純硬件定時(shí)純硬件定時(shí) 它采用固定的電路,如可以采用小規(guī)模集成電路555,外接 電阻和電容構(gòu)成單穩(wěn)延時(shí)電路。這樣的定時(shí)電路簡單,而且通 過改變電阻和電容,可以使定時(shí)在一定的范圍內(nèi)調(diào)整。但它由 純硬件來完成,給使用帶來不便。 第8章可編程接口芯片及應(yīng)用 3. 可編程硬件定時(shí)器可編程硬件定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器 這是目前在控制系統(tǒng)中廣泛使用的方法,它通過編程來 控制電路的定時(shí)值及定時(shí)范圍,
3、功能強(qiáng),使用靈活。在計(jì)算 機(jī)系統(tǒng)中,象定時(shí)中斷、定時(shí)檢測、定時(shí)掃描等等都是用可 編程定時(shí)器來完成定時(shí)控制的。 Intel 系列的8253、8254就是常用的可編程定時(shí)/計(jì)數(shù)器。 第8章可編程接口芯片及應(yīng)用 8.2.2 Intel 8253的主要性能和內(nèi)部結(jié)構(gòu)的主要性能和內(nèi)部結(jié)構(gòu) 1. Intel 8253的主要性能的主要性能 Intel 8253有3個(gè)獨(dú)立的16位計(jì)數(shù)器,每個(gè)計(jì)數(shù)器都可以按照 二進(jìn)制或BCD碼進(jìn)行計(jì)數(shù),計(jì)數(shù)速率可達(dá)2MHz(8254為 10MHZ),每個(gè)計(jì)數(shù)器有6種工作方式,可編程設(shè)置和改變。 它可用在多種場合,如方波發(fā)生器、分頻器、實(shí)時(shí)時(shí)鐘、事件 計(jì)數(shù)等方面。 第8章可編程接
4、口芯片及應(yīng)用 2. Intel 8253的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 數(shù)據(jù)總線緩沖器 它與CPU的數(shù)據(jù)總線相連,是8位雙向三態(tài)緩沖器。CPU通 過這個(gè)緩沖器對8253進(jìn)行讀/寫操作。 控制字寄存器 此寄存器只能寫入而不能讀出。在8253初始化時(shí),由CPU 寫入控制字來設(shè)置計(jì)數(shù)器的工作方式。 計(jì)數(shù)器 計(jì)數(shù)器0、計(jì)數(shù)器1、計(jì)數(shù)器2是三個(gè)完全獨(dú)立、結(jié)構(gòu)相同的 計(jì)數(shù)器,每一個(gè)都是由一個(gè)16位的可預(yù)置的減法計(jì)數(shù)器構(gòu)成。 第8章可編程接口芯片及應(yīng)用 圖8.1 Intel 8253的內(nèi)部結(jié)構(gòu) 數(shù)據(jù)總線 緩沖器 讀/寫 邏輯 控制字 寄存器 計(jì)數(shù)器 0 計(jì)數(shù)器 1 計(jì)數(shù)器 2 RD WR CS A 0 A 1 CLK
5、 0 GATE 0 OUT 0 CLK 1 GATE 1 OUT 1 CLK 2 GATE 2 OUT 2 D 7 D0 第8章可編程接口芯片及應(yīng)用 8.2.3 Intel 8253的外部性能的外部性能 圖8.2 Intel 8253的外部引腳圖 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 CLK 0 OUT 0 GATE 0 GNDOTU 1 GATE 1 CLK 1 GATE 2 CLK 2 A 0 A 1 OTU 2 WR RD CS V CC 8253 PIT 24 23 22 21 20 19 18 17 16 15 14 13 1 2 3 4 5 6 7 8 9
6、 10 11 12 第8章可編程接口芯片及應(yīng)用 GATE:門控信號,當(dāng)GATE為低電平時(shí),禁止計(jì)數(shù)器工作; GATE為高電平時(shí),才允許計(jì)數(shù)器工作。 CLK:計(jì)數(shù)脈沖輸入。 OUT:脈沖輸出。當(dāng)計(jì)數(shù)到“0”時(shí),從OUT端輸出信號, 輸出信號的波形取決于工作方式。 CS、RD、WR、A0、A1共同結(jié)合,用于對8253進(jìn)行端口操 作,如表8-1所示。 第8章可編程接口芯片及應(yīng)用 表表8-1 8253的端口選擇的端口選擇 CSRDWR A1A0 寄存器選擇和操作 0 1000寫計(jì)數(shù)器0 01001寫計(jì)數(shù)器1 01010寫計(jì)數(shù)器2 01011寫控制字寄存器 00100讀計(jì)數(shù)器0 00101讀計(jì)數(shù)器1 0
7、0110讀計(jì)數(shù)器2 00111無操作(三態(tài)) 1禁止(三態(tài)) 011無操作(三態(tài)) 第8章可編程接口芯片及應(yīng)用 8.2.4Intel8253的控制字和編程的控制字和編程 圖8.3 8253的控制字 M 2 M 1 M 0 BCDRL 0 RL 1 SC 0 SC 1 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 (計(jì)數(shù)器選擇) 00:選擇計(jì)數(shù)器0 01:選擇計(jì)數(shù)器1 10:選擇計(jì)數(shù)器2 11:非法選擇 (讀/寫格式) 00:計(jì)數(shù)器鎖存命令 01:讀/寫高8位 10:讀/寫低8位 11:先讀/寫低8位,再讀/寫高8位 (數(shù)制選擇) 0:二進(jìn)制 1:BCD (工作方式選擇) 00
8、0: 方式0 001: 方式0 X10:方式2 X11:方式3 100 :方式4 101: 方式5 第8章可編程接口芯片及應(yīng)用 SC1、SC0: 這兩位決定這個(gè)控制字是哪一個(gè)計(jì)數(shù)器的控制 字。 RL1、RL0:設(shè)置數(shù)據(jù)讀/寫格式。在讀取計(jì)數(shù)值時(shí),可令 RL1、RL0=00,先將寫控制字時(shí)的計(jì)數(shù)值鎖存,然后再讀取。 M2、M1、M0:設(shè)置每個(gè)計(jì)數(shù)器的工作方式。 BCD:用于選擇每個(gè)計(jì)數(shù)器的計(jì)數(shù)制。在二進(jìn)制計(jì)數(shù)時(shí), 計(jì)數(shù)初值的范圍是0000HFFFFH,其中0000H是最大值,代表 65536。在BCD碼計(jì)數(shù)時(shí),計(jì)數(shù)初值的范圍中00009999,其中, 0000是最大值,代表10000。 第8章可
9、編程接口芯片及應(yīng)用 8.2.5 Intel8253的工作方式的工作方式 Intel 8253的每個(gè)計(jì)數(shù)器都有6種工作方式,這6種方式的主 要區(qū)別是:輸出的波形不同,計(jì)數(shù)過程中GATE信號對計(jì)數(shù)操作 的影響不同,啟動(dòng)計(jì)數(shù)器的觸發(fā)方式不同等。 1. 方式方式0計(jì)數(shù)結(jié)束后輸出由低變高計(jì)數(shù)結(jié)束后輸出由低變高 該方式的波形如圖8.4所示,這種方式的特點(diǎn)是: 第8章可編程接口芯片及應(yīng)用 圖8.4 方式0波形 WR CLK GATE OUT CW10 H N4 43210 第8章可編程接口芯片及應(yīng)用 圖8.5 方式0計(jì)數(shù)過程中改變計(jì)數(shù)初值 GATE WR CLK OUT CW10 H N3N2 321210
10、 第8章可編程接口芯片及應(yīng)用 寫入控制字后,OUT輸出端變?yōu)榈碗娖?。?dāng)寫入計(jì)數(shù)初 值后,計(jì)數(shù)器開始減1計(jì)數(shù)。在計(jì)數(shù)過程中OUT一直保持為低電 平,直到計(jì)數(shù)到0時(shí),OUT輸出變?yōu)楦唠娖健4诵盘柨捎糜谙?CPU發(fā)出中斷請求。 計(jì)數(shù)器只計(jì)數(shù)一遍。當(dāng)計(jì)數(shù)到0時(shí),不恢復(fù)計(jì)數(shù)初值,不 開始重新計(jì)數(shù),且輸出一直保持為高電平。只有在寫入新的計(jì) 數(shù)值時(shí),OUT才變低,并開始新的計(jì)數(shù)。 第8章可編程接口芯片及應(yīng)用 GATE是門控信號,GATE=1時(shí)允許計(jì)數(shù),GATE=0時(shí), 禁止計(jì)數(shù)。在計(jì)數(shù)過程中,如果GATE=0則計(jì)數(shù)暫停,當(dāng) GATE=1后接著計(jì)數(shù)。 在計(jì)數(shù)過程中可改變計(jì)數(shù)值。若是8位計(jì)數(shù),在寫入新的 計(jì)數(shù)值
11、后,計(jì)數(shù)器將按新的計(jì)數(shù)值重新開始計(jì)數(shù)。如果是16位 計(jì)數(shù),在寫入第一個(gè)字節(jié)后,計(jì)數(shù)器停止計(jì)數(shù),在寫入第二個(gè) 字節(jié)后,計(jì)數(shù)器按照新的計(jì)數(shù)值開始計(jì)數(shù)。如圖8.5所示。 第8章可編程接口芯片及應(yīng)用 2. 方式方式1可編程序的單拍脈沖可編程序的單拍脈沖 方式1的波形如圖7.6所示,其特點(diǎn)是: 寫入控制字后,輸出OUT將保持為高電平,計(jì)數(shù)由GATE 啟動(dòng)。GATE啟動(dòng)之后,OUT變?yōu)榈碗娖?,?dāng)計(jì)數(shù)到0時(shí),OUT 輸出高電平,從而在OUT端輸出一個(gè)負(fù)脈沖,負(fù)脈沖的寬度為 N個(gè)(計(jì)數(shù)初值)CLK的脈沖寬度。 當(dāng)計(jì)數(shù)到0后,不用送計(jì)數(shù)值,可再次由GATE脈沖啟動(dòng), 輸出同樣寬度的單拍脈沖。 第8章可編程接口芯
12、片及應(yīng)用 在計(jì)數(shù)過程中,可改變計(jì)數(shù)初值,此時(shí)計(jì)數(shù)過程不受影 響。如果再次觸發(fā)啟動(dòng),則計(jì)數(shù)器將按新輸入的計(jì)數(shù)值計(jì)數(shù)。 在計(jì)數(shù)未到0時(shí),如果GATE再次啟動(dòng),則計(jì)數(shù)初值將重 新裝入計(jì)數(shù)器,并重新開始計(jì)數(shù)。 第8章可編程接口芯片及應(yīng)用 圖8.6 方式1波形 CW12 HN3 3 WR CLK GATE OUT 21032 第8章可編程接口芯片及應(yīng)用 3. 方式方式2頻率發(fā)生器(分頻器)頻率發(fā)生器(分頻器) 方式2的波形如圖8.7所示,它的特點(diǎn)是: 寫入控制字后,輸出將變?yōu)楦唠娖?。寫入?jì)數(shù)值后,計(jì) 數(shù)立即開始。在計(jì)數(shù)過程中輸出始終為高電平,直至計(jì)數(shù)器減 到1時(shí),輸出將變?yōu)榈碗娖?。?jīng)過一個(gè)CLK周期,輸
13、出恢復(fù)為高, 且計(jì)數(shù)器開始重新計(jì)數(shù)。因此,它能夠連續(xù)工作,輸出固定頻 率的脈沖。 第8章可編程接口芯片及應(yīng)用 圖8.7 方式2波形 3213213 CLK GATE OUT 第8章可編程接口芯片及應(yīng)用 如果計(jì)數(shù)值為N,則每輸入N個(gè)CLK脈沖,輸出一個(gè)脈沖。 因此,相當(dāng)于對輸入脈沖的N分頻。通過對N賦不同的初值,即 可在輸出端得到所需的頻率,起到頻率發(fā)生器的作用。 計(jì)數(shù)過程可由門控脈沖控制。當(dāng)GATE=0時(shí),暫停計(jì)數(shù); 當(dāng)GATE變高自動(dòng)恢復(fù)計(jì)數(shù)初值,重新開始計(jì)數(shù)。 在計(jì)數(shù)過程中可以改變計(jì)數(shù)值,這對正在進(jìn)行的計(jì)數(shù)過 程沒有影響。但在計(jì)數(shù)到1時(shí)輸出變低,經(jīng)過一個(gè)CLK周期后輸 出又變高,計(jì)數(shù)器將按
14、新的計(jì)數(shù)值計(jì)數(shù)。 第8章可編程接口芯片及應(yīng)用 4. 方式方式3 方波發(fā)生器方波發(fā)生器 方式3的波形如圖8.8所示。它的特點(diǎn)是: 輸出為周期性的方波。若計(jì)數(shù)值為N,則輸出方波的周 期是N個(gè)CLK脈沖的寬度。 圖8.8 方式3波形 WR CLK GATE OUT CW16 N4 4242424 第8章可編程接口芯片及應(yīng)用 寫入控制字后,輸出將變?yōu)楦唠娖?當(dāng)寫入計(jì)數(shù)初值后, 就開始計(jì)數(shù),輸出仍為高電平;當(dāng)計(jì)數(shù)到初值一半時(shí),輸出變?yōu)榈碗?平,直至計(jì)數(shù)到0,輸出又變?yōu)楦唠娖剑匦麻_始計(jì)數(shù)。 若計(jì)數(shù)值為偶數(shù),則輸出對稱方波。如果計(jì)數(shù)值為奇數(shù), 則前(N+1)/2個(gè)CLK脈沖期間輸出為高電平,后(N1)/2
15、個(gè)CLK脈 沖期間輸出為低電平。 GATE信號能使計(jì)數(shù)過程重新開始。GATE=1允許計(jì)數(shù), GATE=0禁止計(jì)數(shù)。停止后OUT將立即變高開,當(dāng)GATE再次變 高以后,計(jì)數(shù)器將重新裝入計(jì)數(shù)初值,重新開始計(jì)數(shù)。 第8章可編程接口芯片及應(yīng)用 5. 方式方式4軟件觸發(fā)選通軟件觸發(fā)選通 方式4的波形如圖8.9所示,它種方式的特點(diǎn)是: 寫入控制字后,輸出為高電平。寫入計(jì)數(shù)值后立即開始計(jì) 數(shù)(相當(dāng)于軟件觸發(fā)啟動(dòng)),當(dāng)計(jì)數(shù)到0后,輸出一個(gè)時(shí)鐘周期 的負(fù)脈沖,計(jì)數(shù)器停止計(jì)數(shù)。只有在輸入新的計(jì)數(shù)值后,才能開 始新的計(jì)數(shù)。 當(dāng)GATE=1時(shí),允許計(jì)數(shù),而GATE=0,禁止計(jì)數(shù)。GATE 信號不影響輸出。 在計(jì)數(shù)過程
16、中,如果改變計(jì)數(shù)值,則按新計(jì)數(shù)值重新開始 計(jì)數(shù)。如果計(jì)數(shù)值是16位,則在設(shè)置第一字節(jié)時(shí)停止計(jì)數(shù),在設(shè) 置第二字節(jié)后,按新計(jì)數(shù)值中開始計(jì)數(shù)。 第8章可編程接口芯片及應(yīng)用 圖8.9 方式4波形 WR CLK GATE OUT CW18N3 3210 第8章可編程接口芯片及應(yīng)用 6.方式方式5硬件觸發(fā)選通硬件觸發(fā)選通 方式5的波形如圖7.10所示,這這種方式的特點(diǎn)是: 寫入控制字后,輸出為高電平。在設(shè)置了計(jì)數(shù)值后,計(jì) 數(shù)器并不立即開始計(jì)數(shù),而是由門控脈沖的上升沿觸發(fā)啟動(dòng)。 當(dāng)計(jì)數(shù)到0時(shí),輸出一個(gè)CLK周期的負(fù)脈沖,并停止計(jì)數(shù)。當(dāng)門 控脈沖再次觸發(fā)時(shí)才能再計(jì)數(shù)。 在計(jì)數(shù)過程中如果再次用門控脈沖觸發(fā),則
17、使計(jì)數(shù)器重新 開始計(jì)數(shù),此時(shí)輸出還保持為高電平,直到計(jì)數(shù)為0,才輸出負(fù) 脈沖。 如果在計(jì)數(shù)過程中改變計(jì)數(shù)值,只要沒有門控信號的觸 發(fā),不影響計(jì)數(shù)過程。當(dāng)有新的門控脈沖的觸發(fā)時(shí),不管是否 計(jì)數(shù)到0,都按新的計(jì)數(shù)值計(jì)數(shù)。 第8章可編程接口芯片及應(yīng)用 圖圖8.10 方式方式5波形波形 WR CLK GATE OUT CW1A N3 3210 第8章可編程接口芯片及應(yīng)用 8.2.6 Intel 8 253的應(yīng)用舉例的應(yīng)用舉例 1.初始化初始化8253 要使用8253,必須首先對其進(jìn)行初始化,初始化有兩種方 法: 對每個(gè)計(jì)數(shù)器分別進(jìn)行初始化,先寫控制字,后寫計(jì)數(shù) 值。如果計(jì)數(shù)值是16位的,則先寫低8位再
18、寫高8位。 先寫所有計(jì)數(shù)器的方式字,再寫各個(gè)計(jì)數(shù)器的計(jì)數(shù)值。 如果計(jì)數(shù)值是16位的,則先寫低8位再寫高8位。 第8章可編程接口芯片及應(yīng)用 例如:假設(shè)一個(gè)8253在某系統(tǒng)中的端口地址40H43H,如 果要將計(jì)數(shù)器0設(shè)置為設(shè)置為工作方式3,計(jì)數(shù)初值為3060H,采 用二進(jìn)制計(jì)數(shù)法,則初始化方法如下: MOVAL,36H;設(shè)置控制字00110110(計(jì)數(shù)器0, 方式3,寫兩個(gè)字節(jié),二進(jìn)制計(jì)數(shù)) OUT43H,AL;寫入控制寄存器 MOVAX,3060H;設(shè)置計(jì)數(shù)值 OUT40H,AL;寫低8位至計(jì)數(shù)器0 MOVAL,AH OUT40H,AL;寫高8位至計(jì)數(shù)器0 第8章可編程接口芯片及應(yīng)用 2.825
19、3在在IBM PC/XT機(jī)的應(yīng)用機(jī)的應(yīng)用 在IBM PC/XT機(jī)中,8253主要提供系統(tǒng)時(shí)鐘中斷、動(dòng)態(tài) RAM的刷新定時(shí)及喇叭發(fā)聲控制等功能。8253的初始化是在計(jì) 算機(jī)啟動(dòng)時(shí)由BIOS完成的。圖8.11是8253在IBM PC/XT機(jī)的應(yīng) 用的示意圖 從8284時(shí)鐘發(fā)生器來的頻率2.386364MHZ經(jīng)二分頻后作為 8253三個(gè)計(jì)數(shù)器的時(shí)鐘輸入,8253在IBM-PC/XT中的端口地址 為40H43H,這三個(gè)計(jì)數(shù)器在系統(tǒng)中的初始化程序如下: 第8章可編程接口芯片及應(yīng)用 圖8.11 8253在IBM-PC/XT機(jī)的應(yīng)用的示意圖 CLK 0 CLK 1 CLK 2 GATE 0 GATE 1 G
20、ATE 2 OUT 0 OUT 1 OUT 2 INT IRO Q Q & 濾波 & PB 0 PB 1 8255 5 V 1.193182 MHz 82538259 5 V 8088 CPU DMA 控制器 CP 第8章可編程接口芯片及應(yīng)用 計(jì)數(shù)器0用于定時(shí)中斷(約55ms) MOVAL,36H ;計(jì)數(shù)器0,方式3,寫兩個(gè)字節(jié),二進(jìn)制計(jì)數(shù) OUT43H,AL ;控制字送控制字寄存器 MOVAL,0 ;計(jì)數(shù)值為最大值 OUT40H,AL ;寫低8位 OUT40H,AL ;寫高8位 第8章可編程接口芯片及應(yīng)用 計(jì)數(shù)器1用于定時(shí)(15s)DMA請求 MOVAL,54H ;計(jì)數(shù)器1,方式2,只寫低8
21、位,二進(jìn)制計(jì)數(shù) OUT43,AL MOVAL,12H ;初值為18 OUT41H,AL 第8章可編程接口芯片及應(yīng)用 計(jì)數(shù)器3用于產(chǎn)生約900HZ的方波送至揚(yáng)聲器 MOVAL,B6H ;計(jì)數(shù)器3,方式3,寫兩字節(jié),二進(jìn)制計(jì)數(shù) OUT43,AL MOVAX,0533H ;計(jì)數(shù)初值為533H OUT42H,AL ;寫低8位 MOVAL,AH OUT42H,AL ;寫高8位 第8章可編程接口芯片及應(yīng)用 8.3 可編程并行接口電路可編程并行接口電路Intel 8255A 并行接口電路,在早期的微機(jī)中與串行口、軟盤接口、硬 盤接口等都放在一塊多功能接口卡上,插在微機(jī)的擴(kuò)展槽上使 用?,F(xiàn)在這部分電路已在微機(jī)
22、的主板上由與CPU配套的芯片組 北橋來實(shí)現(xiàn)其功能。如果要在其他的場合實(shí)現(xiàn)并行數(shù)據(jù)傳送, 在電路設(shè)計(jì)時(shí)采用專用的接口芯片最為方便??删幊痰慕涌谛?片8255A是完成并行通信的集成電路芯片。 第8章可編程接口芯片及應(yīng)用 8.3.1 8255A的主要性能和內(nèi)部結(jié)構(gòu)的主要性能和內(nèi)部結(jié)構(gòu) 8255A是為Intel公司的80系列微機(jī)配套的通用可編程并行接 口芯片,具有三個(gè)可編程的端口(A端口、B端口和C端口),每個(gè) 端口8條線,共有24條I/O引腳,也可分為2組工作,每組12條線, 并有三種工作方式。 可編程是指可通過軟件設(shè)置芯片的工作方式,因此這個(gè)芯 片在與外部設(shè)備相連接時(shí),通常不需要附加太多的外部邏輯
23、電 路,這給用戶的使用帶來很大方便。 第8章可編程接口芯片及應(yīng)用 芯片的主要技術(shù)性能如下: (1) 輸入、輸出電平與TTL電平完全兼容。 (2) 時(shí)序特性好。 (3) 部分位可以直接置“1”/置“0”,便于實(shí)現(xiàn)控制接口使 用。 (4) 單一的+5 V電源。 8255A的內(nèi)部結(jié)構(gòu)框圖如圖8.7(a)所示,圖8.7(b)為8255A的 外引腳圖。從圖中可以看到,8255A主要由4部分組成。 第8章可編程接口芯片及應(yīng)用 圖8.7 8255內(nèi)部結(jié)構(gòu)和引腳圖 (a) 8255A內(nèi)部結(jié)構(gòu);(b) 8255A外引腳圖 數(shù) 據(jù) 總 線 緩 沖 器 讀 寫 控 制 邏 輯 B組 控 制 端 口 B(8) 端 口
24、 C 下 半 部 (4) 端 口 C 上 半 部 (4) 端 口 A(8) A組 控 制 DB RD WR A 0 A 1 RESET CS CPU接 口 內(nèi) 部 邏 輯外 部 接 口 PA 7 PA0 PC 7 PC4 PC 3 PC0 PB 7 PB0 8255A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA 3 PA 2 PA 1 PA 0 RD CS GND A 0 A 1 PC 7 PC 6 PC 5 P
25、C 4 PC 0 PC 1 PC 2 PC 3 PB 0 PB 1 PB 2 PA 4 PA 5 PA 6 PA 7 WR RESET D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 V CC PB 7 PB 6 PB 5 PB 4 PB 3 (a)(b) 8位 內(nèi) 部 數(shù) 據(jù) 總 線 第8章可編程接口芯片及應(yīng)用 1. 三個(gè)獨(dú)立的數(shù)據(jù)口三個(gè)獨(dú)立的數(shù)據(jù)口 8255A的三個(gè)數(shù)據(jù)口分別是A端口、B端口、C端口,它們彼 此獨(dú)立,都是8位的數(shù)據(jù)口,用來完成和外設(shè)之間的信息交換。 三個(gè)口在使用上有所不同。 1) A端口 A端口對應(yīng)一個(gè)8位的數(shù)據(jù)輸入鎖存器和一個(gè)8位的數(shù)據(jù)輸出 鎖存器和緩沖器
26、。因此A端口適合用在雙向的數(shù)據(jù)傳輸場合,用 A端口傳送數(shù)據(jù),不管是輸入還是輸出,都可以鎖存。 第8章可編程接口芯片及應(yīng)用 2) B端口和C端口 這兩個(gè)口分別是由一個(gè)8位的數(shù)據(jù)輸入緩沖器和一個(gè)8位的 數(shù)據(jù)輸出鎖存器和緩沖器組成。因此用B端口和C端口傳送數(shù)據(jù) 作輸出端口時(shí),數(shù)據(jù)信息可以實(shí)現(xiàn)鎖存功能;而用作輸入口時(shí), 則不能對數(shù)據(jù)實(shí)現(xiàn)鎖存,這一點(diǎn)在使用中要注意。在實(shí)際應(yīng)用 中,A端口和B端口通常作為獨(dú)立的輸入口和輸出口,而C端口 常用來配合A端口和B端口的工作使用。C端口分成兩個(gè)4位的 端口,這兩個(gè)4位的端口分別作為A端口和B端口的控制信號和 輸入狀態(tài)信號使用。 第8章可編程接口芯片及應(yīng)用 2. A
27、組控制電路和組控制電路和B組控制電路組控制電路 控制電路分成A組控制和B組控制兩組,A組控制電路控制 A端口和C端口的高4位(PC4PC7)。B組控制電路控制B端口和 C端口的低4位(PC0PC3)。這兩組控制電路的作用是:由它們 內(nèi)部的控制寄存器接收CPU輸出的方式控制命令字,還接收來 自讀/寫控制邏輯電路的讀/寫命令,根據(jù)控制命令決定A組和B 組的工作方式和讀/寫操作。 第8章可編程接口芯片及應(yīng)用 3. 讀寫控制邏輯電路讀寫控制邏輯電路 這部分電路是用來完成對8255A內(nèi)部三個(gè)數(shù)據(jù)口的譯碼工 作,由CPU的地址總線A1、A0和8255A的片選信號CS和WR、 RD信號組合后產(chǎn)生控制命令,并
28、將產(chǎn)生的控制命令傳送給A組 和B組的控制電路,從而完成對數(shù)據(jù)信息的傳輸控制。8255A的 控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系如表8-1所示。 第8章可編程接口芯片及應(yīng)用 表表8-1 8255A的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系 CSRDWR A1A0 執(zhí)行的操作 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 x 1 0 1 0 1 0 0 0 1 1 x 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 x x x x 讀A端口(A端口數(shù)據(jù)數(shù)據(jù)總線) 寫A端口(A端口數(shù)據(jù)總線數(shù)據(jù)) 讀B端口(B端
29、口數(shù)據(jù)數(shù)據(jù)總線) 寫B(tài)端口(B端口數(shù)據(jù)總線數(shù)據(jù)) 讀C端口(C端口數(shù)據(jù)數(shù)據(jù)總線) 寫C端口(C端口數(shù)據(jù)總線數(shù)據(jù)) 當(dāng)D71時(shí),對8255A寫入控制字 當(dāng)D70時(shí),對C端口置位/復(fù)位 非法的信號組合 數(shù)據(jù)線D7D0進(jìn)入高阻狀態(tài) 未選擇 第8章可編程接口芯片及應(yīng)用 4. 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 這是一個(gè)雙向、三態(tài)的8位數(shù)據(jù)總線緩沖器,是8255A和系 統(tǒng)總線相連接的通道,用來傳送輸入/輸出的數(shù)據(jù)、CPU發(fā)出的 控制字以及外設(shè)的狀態(tài)信息。總之,8255A與CPU之間的所有 信息傳輸都要經(jīng)過數(shù)據(jù)總線緩沖器。 第8章可編程接口芯片及應(yīng)用 8.3.2 8255A的外部特性的外部特性 8255A是40
30、條引腳的雙列直插式芯片,引腳排列如圖8.7(b) 所示。單一的+5 V電源,使用時(shí)要注意它的+5V電源引腳是第 26腳,地線引腳是第7腳,它不像大多數(shù)TTL芯片電源和地線在 右上角和左下角的位置,除了電源和地線之外,其他引腳的信 號按連接的功能可分為兩大組。 第8章可編程接口芯片及應(yīng)用 1. 與與CPU相連的引腳相連的引腳 RESET(35PIN):芯片的復(fù)位信號,高電平時(shí)有效。復(fù)位后 把8255A內(nèi)部的所有寄存器都清0,并將三個(gè)數(shù)據(jù)口自動(dòng)設(shè)置為 輸入口。 CS(6PIN):片選信號,低電平時(shí)有效。只有當(dāng)CS=0時(shí),芯 片被選中,才能對8255A進(jìn)行讀、寫操作。 RD(5PIN):讀信號,低電
31、平有效。只有當(dāng)CS=0,RD=0, 才允許從8255A的三個(gè)端口中讀取數(shù)據(jù)。 WR(36PIN):寫信號,低電平有效。只有當(dāng)CS=0,WR=0, 才允許從8255A的三個(gè)端口寫入數(shù)據(jù)或者是寫入控制字。 第8章可編程接口芯片及應(yīng)用 A1、A0(8,9PIN):端口譯碼信號。用來選擇8255A內(nèi)部的 三個(gè)數(shù)據(jù)端口和一個(gè)控制端口的地址。其中對控制口只能進(jìn)行 寫操作。 (1) 當(dāng)A1A0=00時(shí),選中A端口。 (2) 當(dāng)A1A0=01時(shí),選中B端口。 (3) 當(dāng)A1A0=10時(shí),選中C端口。 (4) 當(dāng)A1A0=11時(shí),選中控制端口。 A1、A0與讀、寫信號組合對各端口所執(zhí)行的操作如表8-1所 示。
32、D7D0(2734PIN):雙向三態(tài)8位數(shù)據(jù)線,與系統(tǒng)的數(shù)據(jù)總 線相連接。 第8章可編程接口芯片及應(yīng)用 8255A的數(shù)據(jù)線為8條,這樣8位的接口芯片在與8086外部數(shù) 據(jù)線為16條的CPU相連接時(shí),應(yīng)考慮接口芯片本身對地址的要 求。由于在8086這樣的16位外部總線系統(tǒng)中,CPU在進(jìn)行數(shù)據(jù) 傳輸時(shí),低8位對應(yīng)一個(gè)偶地址,高8位對應(yīng)一個(gè)奇地址。如果 將8255A的數(shù)據(jù)線D7D0與8086CPU的數(shù)據(jù)總線的低8位相連的 話,從CPU這邊看來,要求8255A的4個(gè)端口地址都應(yīng)為偶地址, 這樣才能保證對8255A的端口的讀/寫能在一個(gè)總線周期內(nèi)完成, 但又要滿足8255A本身對4個(gè)端口規(guī)定的地址要求是
33、00,01,10, 11。因此將8255A的A1和A0分別與8086系統(tǒng)總線的A2和A1相連, 而將最低位A0總設(shè)置為0。 第8章可編程接口芯片及應(yīng)用 2. 和外設(shè)端相連的引腳和外設(shè)端相連的引腳 PA7PA0(3740 PIN,l4PIN):A端口的輸入/輸出引腳 PB7PB0(2518 PIN):B端口的輸入/輸出引腳 PC7PC0(1013,1714 PIN):C端口的輸入/輸出引腳 第8章可編程接口芯片及應(yīng)用 8.3.3 8255A的控制字和編程的控制字和編程 由CPU執(zhí)行輸出指令,向8255A的端口輸出不同的控制字來 決定它的工作方式??刂谱址譃閮煞N,分別稱為方式選擇控制 字和端口C置
34、1/置0控制字。根據(jù)控制寄存器的D7位的狀態(tài)決定 是哪一種控制字。 1. 方式選擇控制字方式選擇控制字 方式選擇控制字用來決定8255A三個(gè)數(shù)據(jù)端口各自的工作方 式,它的格式如圖8.8所示。它由一個(gè)8位的寄存器組成。 第8章可編程接口芯片及應(yīng)用 圖8.8 8255A的方式選擇控制字 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 PC 3PC0 1:輸入 0:輸出 00:方式 0 01:方式 1 1x:方式 2 A端口 1:輸入 0:輸出 PC 7PC4 1:輸入 0:輸出 B組方式 0:方式0 1:方式1 B端口 1:輸入 0:輸出 B組控制A組控制 方式選擇控制 字識(shí)別位,
35、為1 選中 第8章可編程接口芯片及應(yīng)用 D7位為“1”時(shí),為方式選擇控制字的標(biāo)識(shí)位。 D6、D5位決定A端口的工作方式,D6D5位為00、01、1x時(shí)分 別表示A端口工作在方式0、方式1和方式2下。 D4位決定A端口工作在輸入還是輸出方式。D4位為0時(shí),A端 口工作在輸出方式;D4位為1時(shí),A端口工作在輸入方式。 D3位決定用于A端口的C端口高4位PC7PC4是作為輸入端口, 還是作為輸出端口。D3位為0時(shí),PC7PC4作輸出;D3位為1時(shí), PC7PC4作輸入。 D2位用來選擇B端口的工作方式。D2位為0時(shí),B端口工作在 方式0,D2位為1時(shí),B端口工作在方式1。 第8章可編程接口芯片及應(yīng)用
36、 D1位決定B端口作為輸入還是輸出端口。D1位為1時(shí)B端口 工作在輸入方式;D1位為0時(shí)B端口工作在輸出方式。 D0位決定用于B端口的C端口低4位PC3PC0作為輸入,還 是輸出。D0位為0時(shí),PC3PC0作輸出;D0位為1時(shí),PC3PC0 作輸入。 如果要求8255A的A端口作輸入,B端口和C端口作輸出,A 組工作在方式0,B組工作在方式1,用三條指令可完成對芯片工 作方式的選擇。 第8章可編程接口芯片及應(yīng)用 MOV AL,94H;方式選擇控制字送AL MOV DX,PortCtr ;控制端口地址PortCtr送DX OUTDX,AL;方式選擇控制字輸出給8255A的控制端 口,完成方式選擇
37、 第8章可編程接口芯片及應(yīng)用 2. C端口置端口置1/置置0控制字控制字 8255A在和CPU傳輸數(shù)據(jù)的過程中,經(jīng)常將C端口的某幾位 作為控制位或狀態(tài)位來使用,從而配合A端口或B端口的工作。 為了方便用戶,在8255A芯片初始化時(shí),C端口置1/置0控制字可 以單獨(dú)設(shè)置C端口的某一位為0或某一位為1。控制字的D7位為 “0”時(shí),是C端口置1/置0控制字中的標(biāo)識(shí)位,具體的格式如圖 8.9所示。 第8章可編程接口芯片及應(yīng)用 圖8.9 8255A的C端口置1/置0控制字 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 C端口置位識(shí) 別位,為0有效 任意值C口位選擇 000 : PC 0
38、 001 : PC 1 010 : PC 2 011 : PC 3 100 : PC 4 101 : PC 5 110 : PC 6 111 : PC 7 選中位置1/置0選擇 0 : 置0 1 : 置1 第8章可編程接口芯片及應(yīng)用 D6D4位可為任意值,不影響操作。D3D1位用來決定對C 端口8位中的哪一位進(jìn)行操作。D0位用來決定對D3D1所選擇的 位是置1,還是置0。 例如,要將C端口的PC3置0,PC7置1,可用下列程序段實(shí) 現(xiàn)。 MOVAL,06H;PC3置0控制字送AL MOVDX,PortAdd;控制端口地址PortAdd送DX OUTDX,AL;對PC3完成置0操作 MOVAL,
39、0FH;PC7置1控制字送AC OUTDX,AL;完成對PC7置1操作 第8章可編程接口芯片及應(yīng)用 8.3.4 8255A的工作方式的工作方式 8255A有三種工作方式,分別稱為方式0,方式1和方式2。 其中A端口可以工作在三種方式中的任一種;B端口只能工作在 方式0和方式1;C端口通常作為控制信號使用,配合A端口和B 端口的工作。每種工作方式的具體內(nèi)容如下所述。 第8章可編程接口芯片及應(yīng)用 1. 方式方式0:基本的輸入:基本的輸入/輸出方式輸出方式 方式0之所以被稱為基本的輸入/輸出方式,是因?yàn)樵谶@種方 式下,A端口、B端口和C端口(C端口分為2個(gè)4位使用)都可提供 簡單的輸入和輸出操作,對
40、每個(gè)端口不需要固定的應(yīng)答式聯(lián)絡(luò) 信號。工作在方式0時(shí),在程序中可直接使用輸入指令(IN)和輸 出(OUT)指令對各端口進(jìn)行讀寫。方式0的基本定義是2個(gè)8位的 端口和2個(gè)4位的端口。任何一個(gè)端口都可以作為輸入或輸出, 輸出的數(shù)據(jù)可以被鎖存,輸入的數(shù)據(jù)不能鎖存。 方式0的輸入時(shí)序如圖8.10所示,輸出時(shí)序如圖8.11所示。從 輸入時(shí)序圖可以看到,對各信號的要求是: 第8章可編程接口芯片及應(yīng)用 (1) 地址信號要領(lǐng)先于RD信號到達(dá),8255A在RD信號有效 以后,最長經(jīng)過250 ns的時(shí)間,就可以使數(shù)據(jù)在數(shù)據(jù)總線上得到 穩(wěn)定。 (2) 在一般的微處理器系統(tǒng)中都配備了地址鎖存器,保證 CPU對先發(fā)出的
41、地址能夠鎖存,可以滿足地址信號先于RD信號 到達(dá),對于從讀信號有效到數(shù)據(jù)穩(wěn)定的時(shí)間,應(yīng)由輸入設(shè)備給 予滿足。在使用時(shí)應(yīng)注意,方式0對輸入數(shù)據(jù)不做鎖存。 第8章可編程接口芯片及應(yīng)用 圖8.10 8255A方式0輸入時(shí)序 tRR tIR tAR tRDtDF tRA tHR 輸入數(shù)據(jù)數(shù)據(jù)有效 數(shù)據(jù)有效 A 1、A0 D 7 D0 RD CS 第8章可編程接口芯片及應(yīng)用 圖8.11 8255A方式0輸出時(shí)序 數(shù)據(jù)有效 數(shù)據(jù)有效 A 1、A2 D 7 D0 WR CS 輸出數(shù)據(jù) tWW tDW tWD tWA tWB tAW 第8章可編程接口芯片及應(yīng)用 表表8-2 8255方式方式0輸入時(shí)序各參數(shù)說明
42、輸入時(shí)序各參數(shù)說明 RD 參 數(shù)說 明 8255A 最小時(shí)間/ns最大時(shí)間/ns tRR讀脈沖的寬度300 tAR地址穩(wěn)定領(lǐng)先于讀信號的時(shí)間0 tIR輸入數(shù)據(jù)領(lǐng)先于的時(shí)間0 tHR讀信號過后數(shù)據(jù)繼續(xù)保持時(shí)間0 tRA讀信號無效后地址保持時(shí)間0 tRD從讀信號有效到數(shù)據(jù)穩(wěn)定的時(shí) 間 250 tDF讀信號撤除后數(shù)據(jù)保持時(shí)間10150 第8章可編程接口芯片及應(yīng)用 從輸出時(shí)序圖可以看到,為了將數(shù)據(jù)能可靠地輸出到8255A, 對各信號的要求是: (1) 地址信號必須在寫信號之前有效,同時(shí)要求在信號有效 (也就是為低電平時(shí))期間內(nèi),地址信號不能發(fā)生變化,要保證一 直有效,直到在撤消(變高后)后的20 ns
43、時(shí)間以后,地址信號才允 許發(fā)生變化。 (2) 寫脈沖 (為低電平時(shí)間)的寬度最小要求是400 ns。 (3) 要求數(shù)據(jù)也必須在寫信號之前最少有100 ns時(shí)間出現(xiàn)在數(shù) 據(jù)總線上。寫信號撤消后,數(shù)據(jù)的最小保持時(shí)間是30 ns。 第8章可編程接口芯片及應(yīng)用 表表8-3 8255A方式方式0輸出時(shí)序各參數(shù)說明輸出時(shí)序各參數(shù)說明 參 數(shù)說 明 8255A 最小時(shí)間/ns最大時(shí)間/ns tAW 地址穩(wěn)定領(lǐng)先于讀信號的時(shí)間0 tWW 寫脈沖的寬度400 tDW 數(shù)據(jù)有效時(shí)間 100 tWD 數(shù)據(jù)保持時(shí)間30 tWA 寫信號撤消后的地址保持時(shí)間20 tWB 寫信號結(jié)束到數(shù)據(jù)有效的時(shí)間350 第8章可編程接口
44、芯片及應(yīng)用 滿足上述條件,寫信號結(jié)束后,最長經(jīng)過350 ns的時(shí)間, CPU輸出的數(shù)據(jù)就可以出現(xiàn)在8255A的指定端口。 方式0一般用于無條件傳送的場合,不需要應(yīng)答式聯(lián)絡(luò)信號, 外設(shè)總是處于準(zhǔn)備好的狀態(tài)。也可以用作查詢式傳送,查詢式傳 送時(shí),需要有應(yīng)答信號??梢詫端口、B端口作為數(shù)據(jù)口使用。 把C端口分為2部分,其中4位規(guī)定為輸出,用來輸出一些控制信 息,另外4位規(guī)定為輸入,用來讀入外設(shè)的狀態(tài)。利用C端口配合 A端口和B端口完成查詢式的I/O操作。 第8章可編程接口芯片及應(yīng)用 2. 方式方式1:選通輸入:選通輸入/輸出方式輸出方式 在這種方式下,當(dāng)A端口和B端口進(jìn)行輸入輸出時(shí),必須利 用C端
45、口提供的選通和應(yīng)答信號,而且這些信號與C端口中的某 些位之間有著固定的對應(yīng)關(guān)系,這種關(guān)系是硬件本身決定的不 是軟件可以改變的。由于工作在方式l時(shí),要由C端口中的固定 位來作為選通和應(yīng)答等控制信號,因此稱方式1為選通的輸入/輸 出方式。方式1的基本定義是,分成2組(A組和B組),每組包含 一個(gè)8位的數(shù)據(jù)端口和1個(gè)4位的控制/數(shù)據(jù)端口。8位的數(shù)據(jù)端口 既可以作為輸入,也可以作為輸出,輸入和輸出都可以被鎖存。 4位的控制/數(shù)據(jù)端口用于傳送8位數(shù)據(jù)端口的控制和狀態(tài)信息。 第8章可編程接口芯片及應(yīng)用 1) 選通的輸入方式 方式1在選通輸入方式下對應(yīng)的控制信號如圖8.12所示。圖 8.13是方式1在選通輸
46、入方式的工作時(shí)序圖。選通輸入方式的工 作過程是: 當(dāng)外設(shè)的數(shù)據(jù)已送到8255A某個(gè)端口的數(shù)據(jù)線上時(shí),就發(fā)出 選通輸入信號STB,將數(shù)據(jù)通過A端口或B端口鎖存到8255A的 數(shù)據(jù)輸入寄存器,STB信號的寬度至少是500 ns。STB信號變低 后最多經(jīng)過300 ns時(shí)間,使輸入緩沖器滿信號IBF變?yōu)楦唠娖剑?如圖8.13中表示的箭頭。 第8章可編程接口芯片及應(yīng)用 輸入緩沖器滿意味著將阻止外設(shè)輸入新的數(shù)據(jù),可供CPU來查 詢。在選通輸入信號結(jié)束后,最多經(jīng)過300 ns時(shí)間,向CPU發(fā)出 中斷請求信號(要在中斷允許的情況下),如圖8.13中表示的箭頭 ,使中斷請求信號INTR變高,CPU可以響應(yīng)中斷。
47、當(dāng)CPU響 應(yīng)中斷后才發(fā)出讀信號RD,將數(shù)據(jù)讀入到CPU中,讀信號有效 (低電平為有效)后,最多經(jīng)過400 ns時(shí)間,STB就清除中斷請求, 使中斷請求信號變低,如圖8.13中表示的箭頭。當(dāng)讀信號結(jié)束 后,才使輸入緩沖器滿信號IBF變低,如圖8.13中表示的箭頭。 IBF變低表明輸入緩沖器已空,通知外設(shè)可以輸入新的數(shù)據(jù)。 第8章可編程接口芯片及應(yīng)用 圖8.12 方式1選通輸入下對應(yīng)的控制信號 (a) 對A端口;(b) 對B端口 1011 I/O1011 I/O 11111 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D
48、 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 A組工作于方式1輸入的控制字A組和B組工作于方式1輸入的控制字B組工作于方式1輸入的控制字 方式1 B端口為輸入 PC 7、PC6 1輸入 0輸出 PC 7、PC6 1輸入 0輸出 A端口為輸入 方式1 STB A IBF A INTR A I/O PC 4 PC 5 PC 3 INTE A & PC 7PC6 PA 7PA0 2RD 8 PC 2 PC 1 PC 0 INTE B & PB 7PB0 RD 8 INTR B IBF B STB B (a)(b) 第8章可編程接口芯片及應(yīng)用 圖8.13 8255A方式l輸入時(shí)
49、序 STB IBF INTR RD 來自外設(shè)的 輸入數(shù)據(jù) 數(shù)據(jù)有效 數(shù)據(jù)有效 12 3 4 tST tSIB tSIT tRIT tPH tPS tRIB 第8章可編程接口芯片及應(yīng)用 表表8-4 8255A方式方式1輸入時(shí)序參數(shù)說明輸入時(shí)序參數(shù)說明 STB STB RD RD 參 數(shù)說 明 8255A 最小時(shí)間/ns最大時(shí)間/ns tST 選通脈沖的寬度500 tSIB 選通脈沖有效到IBF有效之間的時(shí)間 300 tSIT =1到中斷請求INTR有效之間的時(shí)間 300 tPH 數(shù)據(jù)保持時(shí)間180 tPS 數(shù)據(jù)有效到 無效之間的時(shí)間0 tRIT 有效到中斷請求撤除之間的時(shí)間 400 tRIB 為
50、1到IBF為0之間的時(shí)間 300 第8章可編程接口芯片及應(yīng)用 當(dāng)8255A的A端口和B端口工作在選通輸入方式時(shí),對應(yīng)的 C端口固定分配,規(guī)定是PC3PC5分配給A端口,PC0PC2分 配給B端口,C端口剩下的2位PC7、PC6可作為簡單的輸入/輸出 線使用??刂谱值腄3位為“1”時(shí),PC7、PC6作輸入;控制字的 D3位為“0”時(shí),PC7、PC6作輸出。 第8章可編程接口芯片及應(yīng)用 在方式1選通輸入方式時(shí),各控制信號的意義如下: STB(Strobe):選通輸入信號,低電平有效。A組方式控制 字中對應(yīng)PC4;B組方式控制字中對應(yīng)PC2。當(dāng)該信號有效時(shí), 從外部設(shè)備來的8位數(shù)據(jù)送入到8255A的
51、輸入緩沖器中,負(fù)脈沖 寬度最小是500 ns。 第8章可編程接口芯片及應(yīng)用 IBF(Input Buffer Full):輸入緩沖器滿信號,高電平有效。A 組方式控制字中對應(yīng)PC5;B組方式控制字中對應(yīng)PC1。這是 8255A送給外設(shè)的聯(lián)絡(luò)信號,當(dāng)8255A的輸入緩沖區(qū)已有一個(gè)新 數(shù)據(jù)后,輸出這個(gè)信號供CPU查詢。該信號在選通輸入信號STB 變低后,300 ns時(shí)間內(nèi)即變?yōu)橛行У母唠娖?。在RD信號撤消后 的300 ns時(shí)間內(nèi)IBF信號才撤消,變?yōu)闊o效的低電平,這樣保證 了數(shù)據(jù)傳輸?shù)目煽啃浴?第8章可編程接口芯片及應(yīng)用 INTR(Interrupt Request):中斷請求信號,高電平有效。A
52、組 方式控制字中對應(yīng)PC3;B組方式控制字中對應(yīng)PC0。這是8255A 向CPU發(fā)出的中斷請求信號。當(dāng)STB信號撤消變?yōu)楦唠娖胶笞疃?300 ns時(shí)間內(nèi),并且IBF信號也為高電平,INTR信號產(chǎn)生變?yōu)橛?效的高電平。INTR信號變高后可以請求CPU讀取數(shù)據(jù)。當(dāng)CPU 發(fā)出的RD信號有效后,400 ns的時(shí)間內(nèi)INTR信號將撤消,變?yōu)?低電平。 第8章可編程接口芯片及應(yīng)用 INTE(Interrupt Enable):中斷允許信號,高電平有效。該信 號為高時(shí),允許中斷請求,為低時(shí)則屏蔽中斷請求。INTE的狀 態(tài)是用軟件通過由C端口置1/置0控制字來控制的,在A組中,使 PC4置“1”后INTEA
53、變高;在B組中,使PC2置“1”后INTEB變高, A端口和B端口才允許中斷。如果PC4和PC2都置“0”,與之對應(yīng) 的INTE信號為低,則禁止中斷。 對于這種選通的輸入方式,如果采用查詢式輸入時(shí),CPU先 查詢8255A的輸入緩沖器是否滿了,也就是IBF是否為高? 如果輸 入緩沖器滿信號IBF為高,則CPU就可以從8255A讀入數(shù)據(jù)。如 果采用中斷方式傳送數(shù)據(jù)時(shí),應(yīng)該先用C端口置1/置0的控制字使 相應(yīng)的端口允許中斷,也就是要使PC4或PC2置1。 第8章可編程接口芯片及應(yīng)用 2) 選通的輸出方式 方式1在選通輸出情況下對應(yīng)的控制信號如圖8.14所示, 圖8.15是方式1選通輸出情況下的工作
54、時(shí)序圖。這種方式的工 作過程與選通輸入的情況相類似。 第8章可編程接口芯片及應(yīng)用 圖8.14 方式l輸出時(shí)C端口對A、B端口的控制 (a) 對A端口;(b) 對B端口 1010 I/O1010 I/O 10110 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 A組工作于方式1輸出的控制字A組和B組工作于方式1輸出的控制字B組工作于方式1輸出的控制字 方式1 B端口為輸出 PC 5、PC4 1輸入 0輸出 PC 5、PC4 1輸入 0輸出 A端口為輸出
55、 方式1 ACK A OBF A INTR A I/O PC 6 PC 7 PC 3 INTE A & PC 5PC4 PA 7PA0 2WR 8 PC 2 PC 1 PC 0 INTE B & PB 7PB0 WR 8 INTR B OBF B ACK B (a)(b) 第8章可編程接口芯片及應(yīng)用 圖8.15 8255A方式1輸出時(shí)序 WR OBF INTR ACK 送往外設(shè)的輸出數(shù)據(jù)數(shù)據(jù)有效 tAOB tWOB tWIT tAK tAIT tWB 2 1 3 4 第8章可編程接口芯片及應(yīng)用 當(dāng)8255A的A端口和B端口工作在選通輸出方式時(shí),對應(yīng)的C 端口也是固定分配,規(guī)定是PC3、PC6、
56、PC7分配給A端口;PC2、 PC1、PC0分配給B端口,剩下的2位PC4、PC5可作為簡單的輸入/ 輸出線使用。當(dāng)控制字的D3位為“1”時(shí),PC4、PC5作輸入;當(dāng) 控制字的D3位為“0”時(shí),PC4、PC5作輸出。 第8章可編程接口芯片及應(yīng)用 方式1選通輸出方式時(shí),各控制信號的意義如下: OBF(Output Buffer Fu11):輸出緩沖器滿信號,低電平有效。 A組方式控制字中對應(yīng)PC7;B組方式控制字中對應(yīng)PC1,這是 8255A與外設(shè)的聯(lián)絡(luò)信號。當(dāng)CPU向8255A的端口中傳送了數(shù)據(jù) 以后,由8255A向外設(shè)發(fā)出低電平的OBF信號,通知外設(shè)可以把 數(shù)據(jù)取走。由輸出指令產(chǎn)生的寫信號W
57、R的上升沿出現(xiàn)后,最多 經(jīng)過650 ns時(shí)間,將OBF信號置成有效即變?yōu)榈碗娖?,如圖8.15 中表示的箭頭。當(dāng)應(yīng)答信號ACK變?yōu)橛行У牡碗娖胶?50 ns時(shí) 間,OBF信號撤消變?yōu)楦唠娖?,如圖8.15中表示的箭頭。 第8章可編程接口芯片及應(yīng)用 表表8-5 8255A方式方式1輸出時(shí)序參數(shù)說明輸出時(shí)序參數(shù)說明 OBF ACK ACK 參 數(shù)說 明 8255A 最小時(shí)間/ns最大時(shí)間/ns tWIT 從寫信號有效到中斷請求無效的時(shí)間 850 tWOB 從寫信號無效到輸出緩沖器清的時(shí)間 650 tAOB 有效到無效的時(shí)間 350 tAK 脈沖的寬度300 tAIT 為1到發(fā)新的中斷請求的時(shí)間 350
58、 tWB 寫信號撤除到數(shù)據(jù)有效的時(shí)間350 ACK 第8章可編程接口芯片及應(yīng)用 ACK(Acknowledge):數(shù)據(jù)接收應(yīng)答信號,低電平有效。A 組方式控制字中對應(yīng)PC6;B組方式控制字中對應(yīng)PC2,這是外 設(shè)的響應(yīng)信號,當(dāng)CPU輸出給8255A的數(shù)據(jù)已由外設(shè)接收后,外 設(shè)就向8255A回送一個(gè)低電平的應(yīng)答信號ACK。 INTR:中斷請求信號,高電平有效。A組方式控制字中對 應(yīng)PC3;B組方式控制字中對應(yīng)PC0。當(dāng)外設(shè)已經(jīng)接受了CPU輸 出的數(shù)據(jù)后,由8255A向CPU發(fā)出中斷請求,要求CPU輸出新的 數(shù)據(jù)。當(dāng)ACK撤消后為高電平,OBF也為高電平,中斷允許信 號INTE也為高時(shí),INTR中
59、斷請求信號被置位為高電平,如圖 8.19中表示的箭頭。作為請求CPU進(jìn)行下一次數(shù)據(jù)輸出的中斷 請求信號,是在WR有效的下降沿出現(xiàn)后850 ns時(shí)間內(nèi)使它變?yōu)?無效的低電平,如圖8.19中表示的箭頭。 第8章可編程接口芯片及應(yīng)用 INTE:中斷允許信號,高電平有效。當(dāng)該信號為“1”時(shí), 允許中斷,為“0”時(shí),A端口(B端口)處于中斷屏蔽狀態(tài),即不 發(fā)出中斷請求信號INTR。在使用時(shí),中斷允許信號INTE是用 軟件通過對C端口置1/置0的控制字來設(shè)置的。當(dāng)PC6置1時(shí),A 端口允許中斷;PC2置1,B端口允許中斷。反之,如果A、B端 口所對應(yīng)的PC6、PC2置0時(shí),則處于中斷屏蔽狀態(tài),即不允許 中
60、斷。 第8章可編程接口芯片及應(yīng)用 當(dāng)8255A工作在方式l輸出選通方式時(shí),一般是采用中斷方 式與CPU通信。從圖8.19方式1輸出工作時(shí)序圖中可以看到, CPU響應(yīng)中斷以后,就向8255A輸出數(shù)據(jù),寫信號出現(xiàn)。當(dāng)寫信 號WR撤消,其上升沿一方面撤消中斷請求信號INTR,如圖8.19 中表示的箭頭使INTR變低,表示CPU對上一次中斷已經(jīng)響應(yīng) 過。另一方面使OBF信號變?yōu)橛行У牡碗娖?,如圖8.19中表示的 箭頭,以通知外設(shè)可以接收下一個(gè)數(shù)據(jù)。 第8章可編程接口芯片及應(yīng)用 實(shí)際上,CPU在發(fā)出寫信號后要經(jīng)過最長350 ns時(shí)間,數(shù)據(jù) 才能出現(xiàn)在端口的輸出緩沖器中。當(dāng)外設(shè)收到數(shù)據(jù)后,便發(fā)出 一個(gè)AC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版甲級辦公中心租賃合同規(guī)范范本3篇
- 二零二四年商務(wù)咨詢、中介及市場調(diào)研服務(wù)合同3篇
- 二零二五年度新材料研發(fā)投資出資合同樣本4篇
- 2025年度智慧城市建設(shè)承包合同6篇
- 二零二五年度汽車零部件銷售民事訴狀合同3篇
- 2025版出租車公司股權(quán)投資合作協(xié)議范本3篇
- 二零二五年度船舶租賃合同及運(yùn)輸服務(wù)范本3篇
- 二零二五年度高端寵物美容與寄養(yǎng)服務(wù)合同范本2篇
- 淘寶天貓2025年度店鋪庫存管理與物流配送合同
- 二零二四年度專科醫(yī)院與保險(xiǎn)公司之間的醫(yī)療保險(xiǎn)合作合同3篇
- 氦離子化色譜法測試電氣設(shè)備油中溶解氣體的技術(shù)規(guī)范
- 中國聯(lián)合網(wǎng)絡(luò)通信有限公司招聘筆試題庫2024
- 【社會(huì)工作介入精神障礙社區(qū)康復(fù)問題探究的文獻(xiàn)綜述5800字】
- 節(jié)前停工停產(chǎn)與節(jié)后復(fù)工復(fù)產(chǎn)安全注意事項(xiàng)課件
- 設(shè)備管理績效考核細(xì)則
- 中國人民銀行清算總中心直屬企業(yè)2023年招聘筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- (正式版)SJT 11449-2024 集中空調(diào)電子計(jì)費(fèi)信息系統(tǒng)工程技術(shù)規(guī)范
- 人教版四年級上冊加減乘除四則混合運(yùn)算300題及答案
- 合成生物學(xué)技術(shù)在生物制藥中的應(yīng)用
- 消化系統(tǒng)疾病的負(fù)性情緒與心理護(hù)理
- 高考語文文學(xué)類閱讀分類訓(xùn)練:戲劇類(含答案)
評論
0/150
提交評論