




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第9 9章章 并行接口并行接口 v并行通信的基本概念并行通信的基本概念 并行通信就是把一個(gè)字符的各數(shù)據(jù)位用并行通信就是把一個(gè)字符的各數(shù)據(jù)位用幾條幾條傳輸線同時(shí)進(jìn)行傳輸。傳輸線同時(shí)進(jìn)行傳輸。優(yōu)點(diǎn):優(yōu)點(diǎn): 實(shí)際的傳輸速度快,信息率高。實(shí)際的傳輸速度快,信息率高。缺點(diǎn):缺點(diǎn): 隨著傳輸距離的增加,電纜開銷大。隨著傳輸距離的增加,電纜開銷大。D7D1D0t9.1 8255A的工作原理的工作原理v并行接口的基本結(jié)構(gòu)并行接口的基本結(jié)構(gòu)CPUCPU并行接口并行接口輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備數(shù)據(jù)總線數(shù)據(jù)總線數(shù)據(jù)輸入數(shù)據(jù)輸入數(shù)據(jù)輸出數(shù)據(jù)輸出輸入緩沖寄存器輸入緩沖寄存器輸出緩沖寄存器輸出緩沖寄存器控制寄存
2、器控制寄存器狀態(tài)寄存器狀態(tài)寄存器讀信讀信號(hào)號(hào)寫信寫信號(hào)號(hào)復(fù)位復(fù)位中斷信號(hào)中斷信號(hào)地址地址地址地址譯碼譯碼CSA0A1輸入準(zhǔn)備好輸入準(zhǔn)備好輸出準(zhǔn)備好輸出準(zhǔn)備好輸入應(yīng)答輸入應(yīng)答輸出應(yīng)答輸出應(yīng)答可編程并行接口可編程并行接口8255A8255A 8255A 8255A是是INTELINTEL系列的并行系列的并行接口芯片,使用單一接口芯片,使用單一5V5V電源且電源且具有具有4040個(gè)引腳的雙列直插式芯個(gè)引腳的雙列直插式芯片,其特點(diǎn)是:片,其特點(diǎn)是: 利用軟件編程控制芯片的工利用軟件編程控制芯片的工作方式。作方式。 構(gòu)成系統(tǒng)不需要附加電路構(gòu)成系統(tǒng)不需要附加電路 與外設(shè)提供與外設(shè)提供3 3組組8 8位數(shù)據(jù)
3、位數(shù)據(jù)的并的并行通信端口,稱為行通信端口,稱為A A端口、端口、B B端端口、口、C C端口。端口。8255A8255A的引腿功能的引腿功能8255A8255A的芯片引腿信號(hào),除了電源的芯片引腿信號(hào),除了電源和地之外,其他信號(hào)分為兩組:和地之外,其他信號(hào)分為兩組:與外設(shè)相連的引腿信號(hào):與外設(shè)相連的引腿信號(hào): PAPA7 7PAPA0 0: A A組數(shù)據(jù)信號(hào)輸入輸出組數(shù)據(jù)信號(hào)輸入輸出 PBPB7 7PBPB0 0: B B組數(shù)據(jù)信號(hào)組數(shù)據(jù)信號(hào)輸入輸出輸入輸出 PCPC7 7PCPC0 0: C C組數(shù)據(jù)信號(hào)組數(shù)據(jù)信號(hào)輸入輸出輸入輸出與與CPUCPU相連的引腿信號(hào):相連的引腿信號(hào): RESETRE
4、SET:復(fù)位信號(hào):復(fù)位信號(hào) RD: RD: 讀信號(hào),讀信號(hào),CPUCPU從從8255A8255A讀數(shù)據(jù)讀數(shù)據(jù) WR WR:寫信號(hào),:寫信號(hào),CPUCPU向向8255A8255A寫數(shù)據(jù)寫數(shù)據(jù) CSCS:片選信號(hào),:片選信號(hào),8255A8255A被選中被選中 D D7 7D D0 0:8255A8255A數(shù)據(jù)線,與數(shù)據(jù)總線相連數(shù)據(jù)線,與數(shù)據(jù)總線相連 A A1 1、A A0 0 :端口選擇信號(hào)。:端口選擇信號(hào)。8255A8255A一共有一共有3 3個(gè)數(shù)據(jù)端口和個(gè)數(shù)據(jù)端口和1 1個(gè)控制端口,共個(gè)控制端口,共4 4個(gè)端口個(gè)端口當(dāng)當(dāng)A A1 1、A A0 0為為0000時(shí),選中時(shí),選中A A端口端口當(dāng)當(dāng)A
5、 A1 1、A A0 0為為0101時(shí),選中時(shí),選中B B端口端口當(dāng)當(dāng)A A1 1、A A0 0為為1010時(shí),選中時(shí),選中C C端口端口當(dāng)當(dāng)A A1 1、A A0 0為為1111時(shí),選中控制端口時(shí),選中控制端口8255A8255A的內(nèi)部功能結(jié)構(gòu)的內(nèi)部功能結(jié)構(gòu)端口端口A A對(duì)應(yīng)對(duì)應(yīng)1 1個(gè)個(gè)8 8位的數(shù)據(jù)輸入鎖存器和位的數(shù)據(jù)輸入鎖存器和1 1個(gè)個(gè)8 8位的數(shù)據(jù)輸出鎖存位的數(shù)據(jù)輸出鎖存/ /緩沖器緩沖器, ,端口端口A A作作為輸入輸出時(shí)數(shù)據(jù)均收到鎖存。為輸入輸出時(shí)數(shù)據(jù)均收到鎖存。端口端口B B對(duì)應(yīng)對(duì)應(yīng)1 1個(gè)個(gè)8 8位的數(shù)據(jù)輸入緩沖器和位的數(shù)據(jù)輸入緩沖器和1 1個(gè)個(gè)8 8位的數(shù)據(jù)輸出鎖存位的數(shù)
6、據(jù)輸出鎖存/ /緩沖器緩沖器, ,端口端口B B作作為輸出時(shí)數(shù)據(jù)收到鎖存。為輸出時(shí)數(shù)據(jù)收到鎖存。端口端口C C對(duì)應(yīng)對(duì)應(yīng)1 1個(gè)個(gè)8 8位的數(shù)據(jù)輸入緩沖器和位的數(shù)據(jù)輸入緩沖器和1 1個(gè)個(gè)8 8位的數(shù)據(jù)輸出鎖存位的數(shù)據(jù)輸出鎖存/ /緩沖器,端口緩沖器,端口C C作作為輸出時(shí)數(shù)據(jù)收到鎖存。為輸出時(shí)數(shù)據(jù)收到鎖存。端口端口C C通常被劃通常被劃分為兩個(gè)分為兩個(gè)4 4位端口,它們分別為端口位端口,它們分別為端口A A和和端口端口B B提供控制和狀態(tài)信號(hào)。提供控制和狀態(tài)信號(hào)。8255A8255A的控制寄存器,的控制寄存器,A A組控制決定組控制決定A A端口端口和和C C端口高端口高4 4位的輸入輸出和工作
7、方式,位的輸入輸出和工作方式,B B組控制決定組控制決定B B端口和端口和C C端口低端口低4 4位的輸入輸位的輸入輸出和工作方式,出和工作方式,8255A8255A端口端口工作方式工作方式v8255A8255A有三種基本工作方式有三種基本工作方式 方式方式0 0:基本的輸入:基本的輸入/ /輸出方式輸出方式 方式方式1 1:選通的輸入:選通的輸入/ /輸出方式輸出方式 方式方式2 2:雙向傳輸方式:雙向傳輸方式 端口端口A A可以工作在可以工作在3 3種工作方式中的任何一種。種工作方式中的任何一種。 端口端口B B只能工作方式只能工作方式0 0或者方式或者方式1 1。 端口端口C C一般分為
8、兩組,高一般分為兩組,高4 4位與端口位與端口A A構(gòu)成一組配合工作,構(gòu)成一組配合工作,低低4 4位與端口位與端口B B構(gòu)成一組配合工作,為構(gòu)成一組配合工作,為A A和和B B端口的輸入端口的輸入/ /輸出提輸出提供控制信號(hào)和狀態(tài)信號(hào)。供控制信號(hào)和狀態(tài)信號(hào)。注意:只有端口注意:只有端口A A可以工作在方式可以工作在方式2 28255A8255A的初始化的初始化 8255A 8255A的控制寄存器控制著它的的控制寄存器控制著它的3 3個(gè)端口的工作方式和數(shù)個(gè)端口的工作方式和數(shù)據(jù)傳送方式,所以對(duì)據(jù)傳送方式,所以對(duì)8255A8255A的初始化就是對(duì)控制寄存器寫入控的初始化就是對(duì)控制寄存器寫入控制字的過
9、程。制字的過程。v8255A8255A控制寄存器的端口的選中要求控制寄存器的端口的選中要求A A1 1、A A0 01111v 8255A 8255A的控制字分為兩類:的控制字分為兩類: 一類是芯片各端口的一類是芯片各端口的方式選擇控制字方式選擇控制字,它可以使,它可以使8255A8255A的的各端口工作于不同的方式下。方式選擇控制字總是將端口各端口工作于不同的方式下。方式選擇控制字總是將端口C C分分為為2 2組來(lái)控制??刂谱值牡诮M來(lái)控制??刂谱值牡? 7位稱為標(biāo)識(shí)位。如果為位稱為標(biāo)識(shí)位。如果為1 1,則寫入,則寫入控制寄存器的是控制寄存器的是方式選擇控制字方式選擇控制字。 一類是一類是C
10、C端口按位置端口按位置1/1/置置0 0方式字方式字,它可以使,它可以使C C端口中的任端口中的任何何1 1位置位置0 0或者置或者置1 1??刂谱值牡???刂谱值牡? 7位如果為位如果為0 0,則寫入控制寄存,則寫入控制寄存器的是器的是C C端口按位置端口按位置1/1/置置0 0方式字。方式字。B組控制組控制D7 = 1特征位特征位D0D1D2D3D4D5D6D7PC3 PC01:輸入:輸入0:輸出:輸出B口口 1:輸入:輸入 0:輸出:輸出B組工作方式組工作方式 0:方式:方式0 1:方式:方式1PC7 PC4 1:輸入:輸入 0:輸出:輸出A口口 1:輸入:輸入 0:輸出:輸出A組工作方式
11、組工作方式0 0 :方式:方式00 1 :方式:方式11:方式:方式2方式選擇控制字方式選擇控制字A組控制組控制D0D1D2D3D4D5D6D71:置位:置位0:復(fù)位:復(fù)位C口選擇口選擇000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任選(可任選(可1可可0)D7 = 0(特征位)(特征位)C端口按位置端口按位置1/置置0方式字方式字v例如微機(jī)系統(tǒng)中,例如微機(jī)系統(tǒng)中,8255A8255A的控制端口的地址為的控制端口的地址為00E7H00E7H,要求各,要求各端口的工作方式如下:端口的工作方式如下: 端口端口A A:方式:方式0 0
12、,輸出,輸出 端口端口B B:方式:方式0 0,輸入,輸入 端口端口C C的高的高4 4位:輸出位:輸出 端口端口C C的低的低4 4位:輸入位:輸入 設(shè)置設(shè)置8255A8255A的方式選擇控制字的程序段如下:的方式選擇控制字的程序段如下: MOV AL, 83HMOV AL, 83H MOV DX,00E7H MOV DX,00E7H OUT DX, AL OUT DX, AL 1 00 0 0 0 1 1v例如例如微機(jī)微機(jī)系統(tǒng)中,系統(tǒng)中,8255A8255A的控制端口的地址為的控制端口的地址為00E7H00E7H,要求端,要求端口口C C的的PC3PC3位置位置0 0,下面的程序段可以實(shí)現(xiàn)
13、該要求。,下面的程序段可以實(shí)現(xiàn)該要求。 MOV AL, 06HMOV AL, 06H MOV DX,00E7H MOV DX,00E7H OUT DX, AL OUT DX, AL0 000 011 08255A8255A的工作方式的工作方式方式方式0 0v方式方式0 0也稱為基本輸入也稱為基本輸入/ /輸出方式輸出方式。該方式下端口。該方式下端口A A和端口和端口B B可可以通過方式選擇控制字作為輸入口或者輸出口;端口以通過方式選擇控制字作為輸入口或者輸出口;端口C C分為兩分為兩個(gè)個(gè)4 4位端口,也可以規(guī)定位輸入口或輸出口。位端口,也可以規(guī)定位輸入口或輸出口。v方式方式0 0的特點(diǎn)是任何的
14、特點(diǎn)是任何1 1個(gè)端口可作為輸入口或作為輸出口,各個(gè)端口可作為輸入口或作為輸出口,各端口之間沒有必然的聯(lián)系。各端口的輸入或者輸出可以有端口之間沒有必然的聯(lián)系。各端口的輸入或者輸出可以有1616中組合,適用于多種使用場(chǎng)合。中組合,適用于多種使用場(chǎng)合。v方式方式0 0的使用場(chǎng)合有兩個(gè):的使用場(chǎng)合有兩個(gè): 一種是同步傳輸,發(fā)送方和接受方的動(dòng)作由一個(gè)時(shí)序信一種是同步傳輸,發(fā)送方和接受方的動(dòng)作由一個(gè)時(shí)序信號(hào)來(lái)管理,號(hào)來(lái)管理,不需要應(yīng)答信號(hào)和查詢外設(shè)的狀態(tài)不需要應(yīng)答信號(hào)和查詢外設(shè)的狀態(tài),對(duì)接口的要,對(duì)接口的要求簡(jiǎn)單,只要能傳遞數(shù)據(jù),可以實(shí)現(xiàn)求簡(jiǎn)單,只要能傳遞數(shù)據(jù),可以實(shí)現(xiàn)3 3路并行傳輸。路并行傳輸。 二
15、種是查詢傳輸,端口二種是查詢傳輸,端口A A和端口和端口B B傳送數(shù)據(jù),端口傳送數(shù)據(jù),端口C C配合端配合端口口A A和和B B工作:作為輸出口,輸出對(duì)外設(shè)的控制信號(hào);作為輸工作:作為輸出口,輸出對(duì)外設(shè)的控制信號(hào);作為輸入口,讀取外設(shè)的狀態(tài)。入口,讀取外設(shè)的狀態(tài)。信號(hào)與端口信號(hào)與端口C C的數(shù)位沒有具體關(guān)系的數(shù)位沒有具體關(guān)系。 8255A 8255A作為連接打印機(jī)的接口,工作過程如下:作為連接打印機(jī)的接口,工作過程如下: 當(dāng)主機(jī)要往打印機(jī)輸出字符時(shí),首先查詢打印機(jī)的忙信當(dāng)主機(jī)要往打印機(jī)輸出字符時(shí),首先查詢打印機(jī)的忙信號(hào),如果打印機(jī)正在處理一個(gè)字符或者打印一行字符,忙信號(hào),如果打印機(jī)正在處理一個(gè)
16、字符或者打印一行字符,忙信號(hào)為號(hào)為1 1;反之忙信號(hào)為;反之忙信號(hào)為0 0。當(dāng)。當(dāng)CPUCPU查詢到查詢到忙信號(hào)為忙信號(hào)為1 1時(shí),時(shí),則循環(huán)則循環(huán)等待,當(dāng)?shù)却?,?dāng)忙信號(hào)為忙信號(hào)為0 0,則通過則通過8255A8255A向打印機(jī)輸出一個(gè)字符。向打印機(jī)輸出一個(gè)字符。 數(shù)據(jù)信號(hào):數(shù)據(jù)信號(hào): CPUCPU將待打印的數(shù)據(jù)通過將待打印的數(shù)據(jù)通過8255A8255A送給打印機(jī)送給打印機(jī)狀態(tài)信號(hào):狀態(tài)信號(hào): 打印機(jī)的忙信號(hào)打印機(jī)的忙信號(hào)(BUSY)(BUSY)通過通過8255A8255A輸入給輸入給CPUCPU CPUCPU通過通過8255A8255A將數(shù)據(jù)準(zhǔn)備好信號(hào)將數(shù)據(jù)準(zhǔn)備好信號(hào)(STB)(STB)輸出
17、給打印機(jī)輸出給打印機(jī)例:例:8255A8255A作為作為打印機(jī)接口打印機(jī)接口8255A8255A端口工作方式選擇端口工作方式選擇 A A端口工作于方式端口工作于方式0 0,用于數(shù)據(jù)輸出,用于數(shù)據(jù)輸出 B B端口不用端口不用 C C端口工作于方式端口工作于方式0 0,PCPC2 2為為BUSYBUSY信號(hào)輸入端,故信號(hào)輸入端,故PCPC3 3PCPC0 0為輸入方式;為輸入方式;PCPC6 6為為STBSTB信號(hào)輸出端,故信號(hào)輸出端,故PCPC7 7 PCPC4 4為輸出方式為輸出方式 設(shè)打印字符在設(shè)打印字符在CLCL中,中,8255A8255A的端口地址為:的端口地址為: A A端口端口:00
18、D0H:00D0H B B端口端口:00D1H C:00D1H C端口端口:00D2H :00D2H 控制口控制口:00D3H:00D3H PP: MOV AL,81H PP: MOV AL,81H OUT 00D3H,AL OUT 00D3H,AL ;寫控制寄存器,設(shè)置各端口工作方式;寫控制寄存器,設(shè)置各端口工作方式 MOV AL,0DHMOV AL,0DH OUT 00D3H,AL OUT 00D3H,AL ;用;用C C端口置端口置0/0/置置1 1方式使方式使PCPC6 6為為1 1,即,即STBSTB高電平高電平LPS:LPS: IN AL,00D2H IN AL,00D2H ;讀取
19、;讀取C C端口的值端口的值 TEST AL,04H TEST AL,04H ;測(cè)試;測(cè)試PCPC2 2是否為是否為1 1,即,即BUSYBUSY信號(hào)是否為信號(hào)是否為1 1 JNZ LPS JNZ LPS ;不為;不為0 0,說(shuō)明,說(shuō)明BUSYBUSY信號(hào)為信號(hào)為1 1,循環(huán)等待,循環(huán)等待 MOV AL,CL MOV AL,CL ;將打印字符送將打印字符送ALAL OUT 00D0H,AL OUT 00D0H,AL ;如不忙,將;如不忙,將CLCL的內(nèi)容送端口的內(nèi)容送端口A A MOV AL,0CH MOV AL,0CH OUT 00D3H,AL OUT 00D3H,AL ;用;用C C端口置
20、端口置0/0/置置1 1方式使方式使PCPC6 6為為0 0,即,即STBSTB低電平低電平 ADD AL,1 ADD AL,1 ;將;將ALAL加加1 1 OUT 00D3H,AL OUT 00D3H,AL ;用;用C C端口置端口置0/0/置置1 1方式使方式使PCPC6 6為為1 1,即,即STBSTB高電平高電平 8255A8255A的工作方式的工作方式方式方式1 1v方式方式1 1稱為選通的輸入稱為選通的輸入/ /輸出方式輸出方式。和方式。和方式0 0相比最主要的差相比最主要的差別是別是A A端口和端口和B B端口用方式端口用方式1 1輸入輸出時(shí),輸入輸出時(shí), 端口端口C C配合配合
21、A A端口和端口和B B端口工作,端口工作,提供選通信號(hào)和聯(lián)絡(luò)信號(hào),而這些信號(hào)與端口提供選通信號(hào)和聯(lián)絡(luò)信號(hào),而這些信號(hào)與端口C C中的數(shù)位有固定的對(duì)應(yīng)關(guān)系中的數(shù)位有固定的對(duì)應(yīng)關(guān)系。v特點(diǎn):特點(diǎn):1)1)端口端口A A和端口和端口B B可以可以分別分別工作在方式工作在方式1 1,任何一個(gè)端口都,任何一個(gè)端口都可作可作為輸入端和輸出端為輸入端和輸出端。2)2)如果如果8255A8255A的的A A端口工作于方式端口工作于方式1 1,那么,那么C C端口就有端口就有3 3位位配合配合A A端端口工作,口工作,B B端口和端口和C C端口的剩下的端口的剩下的5 5位可以工作在方式位可以工作在方式0 0
22、即可以即可以作為輸出也可作為輸入;反之亦然。作為輸出也可作為輸入;反之亦然。3)3)如果如果A A端口和端口和B B端口都工作在方式端口都工作在方式1 1,那么,那么C C端口有端口有3 3位配合位配合A A端端口工作,有口工作,有3 3位配合位配合B B端口工作,剩下端口工作,剩下2 2位可作為輸入輸出。位可作為輸入輸出。v方式方式1 1使用場(chǎng)合主要是外設(shè)和使用場(chǎng)合主要是外設(shè)和CPUCPU使用不同的時(shí)序信號(hào),工作使用不同的時(shí)序信號(hào),工作在在異步方式異步方式下,接口需要傳遞應(yīng)答信號(hào)和查詢外設(shè)的狀態(tài)。下,接口需要傳遞應(yīng)答信號(hào)和查詢外設(shè)的狀態(tài)。8 82 25 55 5A A外外設(shè)設(shè)外外設(shè)設(shè)方式方式
23、1輸入輸入時(shí)信號(hào)的規(guī)定時(shí)信號(hào)的規(guī)定端口端口A端口端口B8位數(shù)據(jù)輸入位數(shù)據(jù)輸入8位數(shù)據(jù)輸入位數(shù)據(jù)輸入PCPC5 5PCPC4 4PCPC3 3PCPC2 2PCPC1 1PCPC0 0PCPC7 7PCPC6 6選通信號(hào)選通信號(hào)STB,STB,外設(shè)數(shù)據(jù)準(zhǔn)備好外設(shè)數(shù)據(jù)準(zhǔn)備好選通信號(hào)選通信號(hào)STB,STB,外設(shè)數(shù)據(jù)準(zhǔn)備好外設(shè)數(shù)據(jù)準(zhǔn)備好至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷請(qǐng)求信號(hào)輸出INTRINTRB B至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷請(qǐng)求信號(hào)輸出INTRINTRA A輸入緩沖區(qū)滿信號(hào)輸入緩沖區(qū)滿信號(hào)IBFIBFA A輸入緩沖區(qū)滿信號(hào)輸入緩沖區(qū)滿信號(hào)IBFIBFB B8 82 25 55 5A A
24、外外設(shè)設(shè)外外設(shè)設(shè)方式方式1輸出輸出時(shí)信號(hào)的規(guī)定時(shí)信號(hào)的規(guī)定端口端口A端口端口BPCPC5 5PCPC4 4PCPC2 2PCPC1 1PCPC0 0PCPC7 7PCPC6 6響應(yīng)信號(hào)響應(yīng)信號(hào)ACK,ACK,外設(shè)取得數(shù)據(jù)外設(shè)取得數(shù)據(jù)響應(yīng)信號(hào)響應(yīng)信號(hào)ACK,ACK,外設(shè)取得數(shù)據(jù)外設(shè)取得數(shù)據(jù)至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷請(qǐng)求信號(hào)輸出INTRINTRB B至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷請(qǐng)求信號(hào)輸出INTRINTRA A8位數(shù)據(jù)輸出位數(shù)據(jù)輸出8位數(shù)據(jù)輸出位數(shù)據(jù)輸出PCPC3 3輸出緩沖區(qū)滿信號(hào)輸出緩沖區(qū)滿信號(hào)OBFOBFA A輸出緩沖區(qū)滿信號(hào)輸出緩沖區(qū)滿信號(hào)OBFOBFA A8255A82
25、55A的工作方式的工作方式方式方式2 2v方式方式2 2也稱為雙向傳輸方式也稱為雙向傳輸方式。只有端口。只有端口A A能工作在該方式下。能工作在該方式下。外設(shè)可以通過外設(shè)可以通過8 8位數(shù)據(jù)線,即向位數(shù)據(jù)線,即向CPUCPU發(fā)送數(shù)據(jù),又從發(fā)送數(shù)據(jù),又從CPUCPU接收數(shù)接收數(shù)據(jù)。和方式據(jù)。和方式1 1相同,相同,端口端口C C的固定位的固定位提供控制和狀態(tài)信號(hào)。提供控制和狀態(tài)信號(hào)。v特點(diǎn):特點(diǎn):1)1)端口端口A A工作于方式工作于方式2 2時(shí),時(shí),C C端口的端口的PCPC3 3-PC-PC7 7共共5 5位數(shù)位分別提供位數(shù)位分別提供控制信號(hào)和狀態(tài)信號(hào)配合控制信號(hào)和狀態(tài)信號(hào)配合A A端口工作
26、。端口工作。2)2)端口端口A A工作于方式工作于方式2 2時(shí),時(shí),B B端口可以工作在方式端口可以工作在方式0 0的輸入輸出的輸入輸出下,端口下,端口C C的的PCPC0 0-PC-PC2 2共共3 3位可以工作在方式位可以工作在方式0 0的輸入輸出下;端的輸入輸出下;端口口B B也可以工作在方式也可以工作在方式1 1的輸入輸出下,端口的輸入輸出下,端口C C的的PCPC0 0-PC-PC2 2共共3 3位位配合配合B B端口工作。端口工作。v方式方式2 2的使用場(chǎng)合:如果一個(gè)外部設(shè)備即可以作為輸入設(shè)備的使用場(chǎng)合:如果一個(gè)外部設(shè)備即可以作為輸入設(shè)備也可以作為輸出設(shè)備,并且輸入輸出不會(huì)同時(shí)進(jìn)行
27、,將該設(shè)也可以作為輸出設(shè)備,并且輸入輸出不會(huì)同時(shí)進(jìn)行,將該設(shè)備連接在備連接在A A端口,并工作于方式端口,并工作于方式2 2非常合適(例如磁盤)。非常合適(例如磁盤)。8 82 25 55 5A A外外設(shè)設(shè)外外設(shè)設(shè)方式方式2中信號(hào)的規(guī)定中信號(hào)的規(guī)定端口端口A端口端口BPCPC2 2PCPC1 1PCPC0 0PCPC7 7PCPC6 6PCPC5 5PCPC4 4PCPC3 3響應(yīng)信號(hào)響應(yīng)信號(hào)ACK,ACK,外設(shè)取得數(shù)據(jù)外設(shè)取得數(shù)據(jù)至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷請(qǐng)求信號(hào)輸出INTRINTRA A8位數(shù)據(jù)輸入輸出位數(shù)據(jù)輸入輸出選通信號(hào)選通信號(hào)STB,STB,外設(shè)數(shù)據(jù)準(zhǔn)備好外設(shè)數(shù)據(jù)準(zhǔn)備好輸入
28、緩沖區(qū)滿信號(hào)輸入緩沖區(qū)滿信號(hào)IBFIBFA A輸出緩沖區(qū)滿信號(hào)輸出緩沖區(qū)滿信號(hào)OBFOBFA A8 82 25 55 5A A外外設(shè)設(shè)外外設(shè)設(shè)A端口:方式端口:方式2端口端口A端口端口BPCPC2 2PCPC1 1PCPC0 0PCPC7 7PCPC6 6PCPC5 5PCPC4 4PCPC3 38位數(shù)據(jù)輸入輸出位數(shù)據(jù)輸入輸出8位數(shù)據(jù)輸出位數(shù)據(jù)輸出響應(yīng)信號(hào)響應(yīng)信號(hào)ACK,ACK,外設(shè)取得數(shù)據(jù)外設(shè)取得數(shù)據(jù)至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷請(qǐng)求信號(hào)輸出INTRINTRB BB端口:方式端口:方式1輸出輸出響應(yīng)信號(hào)響應(yīng)信號(hào)ACK,ACK,外設(shè)取得數(shù)據(jù)外設(shè)取得數(shù)據(jù)至至CPUCPU中斷請(qǐng)求信號(hào)輸出中斷
29、請(qǐng)求信號(hào)輸出INTRINTRA A選通信號(hào)選通信號(hào)STB,STB,外設(shè)數(shù)據(jù)準(zhǔn)備好外設(shè)數(shù)據(jù)準(zhǔn)備好輸入緩沖區(qū)滿信號(hào)輸入緩沖區(qū)滿信號(hào)IBFIBFA A輸出緩沖區(qū)滿信號(hào)輸出緩沖區(qū)滿信號(hào)OBFOBFA A輸出緩沖區(qū)滿信號(hào)輸出緩沖區(qū)滿信號(hào)OBFOBFA Av8255A8255A作為作為非編碼鍵盤的接口非編碼鍵盤的接口 在有鍵按下時(shí),與之對(duì)應(yīng)列短接,形成通路,在有鍵按下時(shí),與之對(duì)應(yīng)列短接,形成通路,A A端口的對(duì)應(yīng)位輸入為低端口的對(duì)應(yīng)位輸入為低電平電平0 0,通過讀取,通過讀取A A端口的數(shù)據(jù)就能判別是哪個(gè)鍵按下端口的數(shù)據(jù)就能判別是哪個(gè)鍵按下( (閉合閉合) )。該方式的缺。該方式的缺點(diǎn)是占用的端口太多。點(diǎn)
30、是占用的端口太多。 9.2 8255A應(yīng)用舉例應(yīng)用舉例8255A鍵鍵0PA0PA1PA2PA3鍵鍵1鍵鍵2鍵鍵310k10k* *4 4+5V+5V第第0行行第第0列列10K+5V第第7行行第第7列列8 82 25 55 5A APA0PA0PA1PA1PA2PA2PA7PA7 PB0PB0PB1PB1PB2PB2PB7PB7v非編碼鍵盤的行掃描法識(shí)別按鍵非編碼鍵盤的行掃描法識(shí)別按鍵v鍵盤掃描程序鍵盤掃描程序第一步:判斷有無(wú)按鍵按下第一步:判斷有無(wú)按鍵按下 使使A A端口輸出端口輸出00H00H,讀入,讀入B B端口的數(shù)據(jù),如果是端口的數(shù)據(jù),如果是FFHFFH,則沒有,則沒有按鍵按下,繼續(xù)第一
31、步。否則進(jìn)行第二步。按鍵按下,繼續(xù)第一步。否則進(jìn)行第二步。第二步:行掃描法識(shí)別按鍵第二步:行掃描法識(shí)別按鍵(1 1)使)使A A端口的端口的PA0PA0輸出低電平,其余為高電平。輸出低電平,其余為高電平。(2 2)觀察列線的狀態(tài)。)觀察列線的狀態(tài)。(3 3)如果某條列線變?yōu)榈碗娖?,則第)如果某條列線變?yōu)榈碗娖剑瑒t第0 0行與該列相交位置上的行與該列相交位置上的鍵被按下;否則第鍵被按下;否則第0 0行沒有鍵按下。行沒有鍵按下。(4 4)使)使PA1PA1輸出低電平,其余為高電平。輸出低電平,其余為高電平。(5 5)觀察列線的狀態(tài)判斷是否有鍵按下。)觀察列線的狀態(tài)判斷是否有鍵按下。(6 6)如此逐
32、行掃描下去,直到最后一行。)如此逐行掃描下去,直到最后一行。 通過分析可知,通過分析可知,8255A8255A的端口的端口A A工作在方式工作在方式0 0的輸出,端口的輸出,端口B B工作在方式工作在方式0 0的輸入,端口的輸入,端口C C不用。不用。8255A8255A端口的地址如下:端口的地址如下: A A端口:端口:0FFF8H B0FFF8H B端口:端口:0FFF9H C0FFF9H C端口:端口:0FFFAH 0FFFAH 控制口:控制口:0FFFBH0FFFBH82558255的初始化及檢測(cè)有無(wú)按鍵按下:的初始化及檢測(cè)有無(wú)按鍵按下: PORTA EQU 0FFF8H PORTA
33、EQU 0FFF8H PORTB EQU 0FFF9H PORTB EQU 0FFF9H PORTC EQU 0FFFAH PORTC EQU 0FFFAH PORTCN EQU 0FFFBH PORTCN EQU 0FFFBH MOV DX MOV DX,PORTCN PORTCN ;置;置8255A8255A端口端口A A、B B工作在方式工作在方式 0 0 MOV AL MOV AL,10000011B 10000011B ;端口;端口A A為輸出口,端口為輸入口為輸出口,端口為輸入口 OUT DX OUT DX,ALALWAITKWAITK:MOV DXMOV DX,PORTAPORT
34、A MOV ALMOV AL,0000 OUT DX OUT DX,AL AL ;行碼送全;行碼送全“0”0” MOV DX MOV DX,PORTB PORTB ;讀列碼;讀列碼 IN ALIN AL,DXDX CMP AL CMP AL,0FFH0FFH JZ WAITK JZ WAITK ;無(wú)鍵按下,繼續(xù)等待;無(wú)鍵按下,繼續(xù)等待 行掃描法識(shí)別按鍵行掃描法識(shí)別按鍵 MOV CX MOV CX,8 8 ;掃描次數(shù);掃描次數(shù) MOV BL MOV BL,0 0 ;送按鍵初值;送按鍵初值 MOV BHMOV BH,11111110B 11111110B ;置初始掃描模式行碼送;置初始掃描模式行碼
35、送FEHFEHFNDROWFNDROW: MOV ALMOV AL,BH BH ;送行碼;送行碼 MOV DXMOV DX,PORTAPORTA OUT DX OUT DX,ALAL MOV DX MOV DX,PORTB PORTB ;讀列碼;讀列碼 IN ALIN AL,DXDX CMP AL CMP AL,0FFH0FFH JNZ FNDCOL JNZ FNDCOL ;該行有鍵按下,查列號(hào);該行有鍵按下,查列號(hào) ADD BLADD BL,8 8 ;該行無(wú)鍵按下,送下一行鍵號(hào)初值;該行無(wú)鍵按下,送下一行鍵號(hào)初值 ROL BH ROL BH,1 1 ;修改行碼;修改行碼 LOOP FNDROW LOOP FNDROW ;8 8行掃描未完
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑節(jié)能設(shè)計(jì)策略
- 藥物化學(xué)抗精神病藥帶案例
- 牛津閱讀樹作業(yè)設(shè)計(jì)匯報(bào)
- 幼兒園大班科學(xué)《海洋與動(dòng)物》課件
- 血透維持性患者健康教育
- 學(xué)校發(fā)展歷程課件
- 淋巴增殖性疾病
- 2025年工業(yè)園區(qū)污水處理站水污染治理效果監(jiān)測(cè)評(píng)估報(bào)告
- 環(huán)保型塑料抗老化劑行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 移動(dòng)支付API接口服務(wù)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 《泵站運(yùn)行工》word版
- 食藥同源-PPT課件(PPT 55頁(yè))
- 山東大學(xué)畢業(yè)論文答辯通用ppt模板
- 汽車零部件規(guī)范申報(bào)ppt課件
- 沙盤游戲治療(課堂PPT)
- 項(xiàng)目驗(yàn)收單簡(jiǎn)潔模板
- Q∕SHCG 67-2013 采油用清防蠟劑技術(shù)要求
- 榆林智能礦山項(xiàng)目招商引資方案【參考范文】
- 碘對(duì)比劑過敏性休克應(yīng)急搶救演練記錄
- 餐飲商鋪工程條件一覽表
- 液壓的爬模檢查記錄簿表
評(píng)論
0/150
提交評(píng)論