第7章 計(jì)算機(jī)的并行通信接口課件_第1頁(yè)
第7章 計(jì)算機(jī)的并行通信接口課件_第2頁(yè)
第7章 計(jì)算機(jī)的并行通信接口課件_第3頁(yè)
第7章 計(jì)算機(jī)的并行通信接口課件_第4頁(yè)
第7章 計(jì)算機(jī)的并行通信接口課件_第5頁(yè)
已閱讀5頁(yè),還剩129頁(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)介

第10章并行通信接口10.1并行通信與并行接口10.2簡(jiǎn)單并行接口10.3可編程并行接口芯片8255A10.4并行通信接口設(shè)計(jì)第10章并行通信接口10.1并行通信與并行接口110.1并行通信與并行接口并行通信就是把一個(gè)字符的各數(shù)位用幾條線同時(shí)進(jìn)行傳輸。并行通信的主要特點(diǎn)是信息傳輸速度快、信息率高這種特點(diǎn)是多用通信電纜而換取的,用于數(shù)據(jù)傳輸率要求較高、而傳輸距離較短的場(chǎng)合。10.1并行通信與并行接口并行通信就是把一個(gè)字符的各數(shù)位用2并行接口實(shí)現(xiàn)并行通信的接口就是并行接口。并行接口廣泛應(yīng)用于微機(jī)內(nèi)部各部件之間以及主機(jī)與外部設(shè)備之間的信息交換。例如,打印機(jī)接口,A/D、D/A轉(zhuǎn)換器接口,開(kāi)關(guān)量接口,控制器接口等等。并行接口是指接口與I/O設(shè)備或控制對(duì)象一側(cè)的并行數(shù)據(jù)線。并行接口分為:不可編程接口::工作方式和功能是完全通過(guò)邏輯電路連接來(lái)設(shè)定可編程接口:工作方式和功能都能通過(guò)軟件編程的方法加以設(shè)定或改變。并行接口實(shí)現(xiàn)并行通信的接口就是并行接口。310.1.2并行接口的特點(diǎn)1、并行接口最基本的特點(diǎn)就是在多條數(shù)據(jù)線上以數(shù)據(jù)字節(jié)(字)為單位與I/O設(shè)備或被控對(duì)象傳送信息。2、并行接口適用于近距離傳送數(shù)據(jù)的場(chǎng)合。3、在并行接口中,一般都需要在接口與外設(shè)之間設(shè)置并行數(shù)據(jù)線的同時(shí),至少還要設(shè)置兩條握手(聯(lián)絡(luò))信號(hào)線,以便進(jìn)行互鎖異步握手方式的通信。10.1.2并行接口的特點(diǎn)1、并行接口最基本的特點(diǎn)就是在多410.1.2并行接口的特點(diǎn)4、在并行接口中,數(shù)據(jù)的每個(gè)位(8位或16位)都是一起行動(dòng)的,因此,當(dāng)并行接口與外設(shè)交換數(shù)據(jù)時(shí),即使是僅用到其中的一位,也是一次輸入或輸出8位或16位數(shù)據(jù)。5、并行傳送的信息,不要求有固定的傳輸格式。10.1.2并行接口的特點(diǎn)4、在并行接口中,數(shù)據(jù)的每個(gè)位(510.1.3并行接口的基本結(jié)構(gòu)與傳輸特性并行接口可設(shè)計(jì)為只作為輸入/輸出接口,也可設(shè)計(jì)為既作為輸入又作為輸出的接口。1、并行接口的功能一般而言,一個(gè)并行接口電路應(yīng)具有如下三方面的功能:⑴實(shí)現(xiàn)與系統(tǒng)總線的連接,提供數(shù)據(jù)的輸入與輸出功能;10.1.3并行接口的基本結(jié)構(gòu)與傳輸特性并行接口可設(shè)計(jì)為只6并行接口的基本結(jié)構(gòu)與傳輸特性⑵實(shí)現(xiàn)與I/O設(shè)備的連接,具有與I/O設(shè)備進(jìn)行應(yīng)答的同步機(jī)構(gòu),保證有效地進(jìn)行數(shù)據(jù)的收發(fā);⑶具有中斷請(qǐng)求與處理功能,使得數(shù)據(jù)的輸入輸出可以采用中斷的方法來(lái)實(shí)現(xiàn)。并行接口的基本結(jié)構(gòu)與傳輸特性⑵實(shí)現(xiàn)與I/O設(shè)備的連接,具有與72、并行接口的內(nèi)部結(jié)構(gòu)根據(jù)并行接口的功能可知,在接口電路中應(yīng)該有:數(shù)據(jù)鎖存器和緩沖器,以便于數(shù)據(jù)的輸入輸出。狀態(tài)和控制命令的寄存器,以便于CPU與接口電路之間用應(yīng)答的方式來(lái)交換信息,同樣也便于接口電路與外設(shè)之間傳送信息。接口電路中還要有譯碼與控制電路以及中斷請(qǐng)求觸發(fā)器、中斷屏蔽觸發(fā)器等,以解決CPU的驅(qū)動(dòng)能力問(wèn)題、時(shí)序配合問(wèn)題并能實(shí)現(xiàn)各種控制,保證CPU能正確可靠地與外設(shè)交換信息。因此,按功能劃分,接口電路可由四部分組成:數(shù)據(jù)寄存器、控制寄存器、狀態(tài)寄存器和其他控制電路。2、并行接口的內(nèi)部結(jié)構(gòu)根據(jù)并行接口的功能可知,在接口電路中應(yīng)8并行接口的內(nèi)部結(jié)構(gòu)并行接口電路組成(按功能劃分)數(shù)據(jù)寄存器控制寄存器狀態(tài)寄存器控制電路并行接口的內(nèi)部結(jié)構(gòu)并行接口電路組成(按功能劃分)93、并行接口的外部信號(hào)并行接口電路的外部信號(hào)可分成兩部分:與I/O設(shè)備相連的接口信號(hào)和與CPU相連的接口信號(hào)。與I/O設(shè)備相關(guān)聯(lián)的接口電路信號(hào)有三種:⑴數(shù)據(jù)信息,用于接口電路與I/O設(shè)備進(jìn)行輸入或輸出數(shù)據(jù);⑵控制信息,用于接口電路向I/O設(shè)備提供控制信號(hào);⑶狀態(tài)信息,用于接口電路接收I/O設(shè)備提供的狀態(tài)信號(hào)。3、并行接口的外部信號(hào)并行接口電路的外部信號(hào)可分成兩部分:與103、并行接口的外部信號(hào)與CPU相關(guān)的接口電路信號(hào)有:⑴數(shù)據(jù)線信號(hào),用于實(shí)現(xiàn)接口電路與CPU的數(shù)據(jù)交換;⑵地址線及地址譯碼信號(hào),用于選擇接口電路以及接口電路內(nèi)部不同的寄存器;⑶讀寫(xiě)控制信號(hào),用于確定CPU當(dāng)前對(duì)接口電路的操作性質(zhì)是讀還是寫(xiě);⑷中斷應(yīng)答信號(hào),用于實(shí)現(xiàn)中斷請(qǐng)求和中斷響應(yīng)操作。3、并行接口的外部信號(hào)與CPU相關(guān)的接口電路信號(hào)有:11典型并行輸入接口

典型并行輸入接口12典型并行輸入接口“輸入控制”的作用是將外部數(shù)據(jù)寫(xiě)入輸入寄存器,以便CPU在I/O讀總線周期中讀取。狀態(tài)信號(hào)“輸入數(shù)據(jù)準(zhǔn)備好”反映了輸入寄存器當(dāng)前的狀態(tài),供CPU決定是否可以讀取接口數(shù)據(jù),同時(shí)也可以作為限制外部輸入設(shè)備是否可以輸入下一數(shù)據(jù)的依據(jù)。中斷請(qǐng)求信號(hào)INTR的作用是在數(shù)據(jù)寫(xiě)入接口電路以后,用中斷的方式通知CPU讀數(shù)據(jù)。典型并行輸入接口“輸入控制”的作用是將外部數(shù)據(jù)寫(xiě)入輸入寄存器13典型并行輸出接口

典型并行輸出接口14典型并行輸出接口在輸出過(guò)程中,每當(dāng)CPU向輸出接口輸出一個(gè)數(shù)據(jù),接口電路就建立“輸出數(shù)據(jù)準(zhǔn)備好”狀態(tài),并通過(guò)該狀態(tài)的輸出向外部輸出設(shè)備表示可以讀取數(shù)據(jù)。當(dāng)外設(shè)從接口取走一個(gè)數(shù)據(jù)之后,向接口發(fā)送“輸出應(yīng)答”信號(hào),以后,接口就撤消“輸出準(zhǔn)備好”狀態(tài),并以查詢或中斷的方式告知CPU,CPU便可輸出下一個(gè)數(shù)據(jù)。典型并行輸出接口在輸出過(guò)程中,每當(dāng)CPU向輸出接口輸出一個(gè)數(shù)1510.2簡(jiǎn)單并行接口簡(jiǎn)單并行接口就是用簡(jiǎn)單的門(mén)電路、觸發(fā)器等連接組成的并行接口。一般采用無(wú)條件傳輸方式根據(jù)接口的功能簡(jiǎn)單輸入并行接口簡(jiǎn)單并行輸出接口雙向輸入/輸出并行接口關(guān)鍵電路是三態(tài)緩沖器:74LS244關(guān)鍵是用數(shù)據(jù)鎖存器來(lái)保存輸出數(shù)據(jù):74LS373/3748位雙向緩沖驅(qū)動(dòng)器74LS24510.2簡(jiǎn)單并行接口簡(jiǎn)單并行接口就是用簡(jiǎn)單的門(mén)電路、觸發(fā)1610.3可編程并行接口芯片8255A所謂可編程實(shí)際上就是具有可選擇性,并且是用編程的方法進(jìn)行選擇。例如,選擇芯片中的哪一個(gè)或哪幾個(gè)數(shù)據(jù)端口與外設(shè)連接;選擇端口中的哪一位或哪幾位作輸入,哪一位或哪幾位作輸出;選擇端口與CPU之間采用哪種方式傳送數(shù)據(jù)等,均可由用戶在程序中寫(xiě)入方式字或控制字來(lái)進(jìn)行指定。因此,它們具有廣泛的適應(yīng)性及很高的靈活性,在微機(jī)系統(tǒng)中得到廣泛應(yīng)用。10.3可編程并行接口芯片8255A所謂可編程實(shí)際上就是1710.3.18255A的外部特性和內(nèi)部結(jié)構(gòu)

1、8255A的基本特性8255A是一個(gè)具有兩個(gè)8位(A口和B口)和兩個(gè)4位(C口高/低4位)并行I/O端口的接口芯片,8255A的PC口還具有按位置位/復(fù)位功能,為按位控制提供了強(qiáng)有力的支持。8255A能適應(yīng)CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求。如無(wú)條件、查詢方式傳送和中斷方式傳送。8255A具有方式0、方式1和方式2三種工作方式。8255A的可編程功能很強(qiáng),由內(nèi)容豐富的命令字(方式字和控制字)來(lái)設(shè)置8255A,使其構(gòu)成多種功能的接口電路。8255APC口的使用比較特殊,除用作一般數(shù)據(jù)口外,PC口可以按位進(jìn)行控制,而且當(dāng)8255A工作在方式1和方式2時(shí),PC口的口線被分配成專用聯(lián)絡(luò)信號(hào)線,等等。10.3.18255A的外部特性和內(nèi)部結(jié)構(gòu)1、8251816151413121110987654321391718192021222324252627282930313233343536373840PA0PA1PA2PA3PA7PA5PA6PA4PC2PC1PC0PC4PC5PC6PC7PC3PB0PB1PB2PB4PB5PB3PB6PB7A0A1GND~CS~RD~WRRESETD0D2D1VCCD7D6D5D4D32、8255A的引腳信號(hào)及功能

8255A是一個(gè)單+5V電源供電、具有40個(gè)引腳的雙列直插封裝的器件8255A的引腳信號(hào)可分為兩部分:一部分是與外設(shè)相連的,另一部分是與CPU相連接的。161514131211109876543213917181198255A的引腳信號(hào)⑴用于同外設(shè)相連的信號(hào)有:①PA7~PA0:PA口的外設(shè)數(shù)據(jù)線(雙向)。②PB7~PB0:PB口的外設(shè)數(shù)據(jù)線(雙向)。③PC7~PC0:PC口的外設(shè)數(shù)據(jù)線(雙向)。8255A的引腳信號(hào)⑴用于同外設(shè)相連的信號(hào)有:20PC口的其他特殊用途如下所述:作數(shù)據(jù)口。PC口用作數(shù)據(jù)口時(shí),把8位分成高4位和低4位兩部分。因此,當(dāng)PC口作為數(shù)據(jù)口輸入/輸出時(shí),是4位是一起行動(dòng)的,即使只用到其中的某一位,也要同時(shí)輸入/輸出4位數(shù)據(jù)。作狀態(tài)口。8255A工作在方式1和方式2時(shí),有固定的狀態(tài)字,是從PC口讀入的,此時(shí)PC口就是8255A的臨時(shí)狀態(tài)口。PC口的其他特殊用途如下所述:21作固定聯(lián)絡(luò)信號(hào)線。8255A的方式1和方式2是一種應(yīng)答傳送方式,需要應(yīng)答聯(lián)絡(luò)信號(hào),因此,PC口的多數(shù)口線被定義為固定的聯(lián)絡(luò)信號(hào)線。作按位控制用。PC口的每個(gè)口線都可以單獨(dú)從輸出高/低電平。此時(shí),PC口是作為按位控制用,而不是作為數(shù)據(jù)輸出用。作固定聯(lián)絡(luò)信號(hào)線。8255A的方式1和方式2是一種應(yīng)答傳送方228255A的引腳信號(hào)⑵用于同CPU連接的信號(hào)有:①D7-D0:數(shù)據(jù)線,雙向,三態(tài),連接CPU的數(shù)據(jù)總線②:CS片選信號(hào),輸入,低電平有效。③A1、A0:片內(nèi)寄存器選擇信號(hào)(端口選擇),輸入④RESET:復(fù)位信號(hào),輸入,高電平有效。⑤:讀信號(hào),輸入,低電平有效。⑥:寫(xiě)信號(hào),輸入,低電平有效。除此以外,8255A還有二個(gè)引腳電源Vcc和地線GND8255A的引腳信號(hào)⑵用于同CPU連接的信號(hào)有:233、8255A的內(nèi)部編程結(jié)構(gòu)數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫(xiě)控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET3、8255A的內(nèi)部編程結(jié)構(gòu)數(shù)據(jù)內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~248255A的內(nèi)部編程結(jié)構(gòu)8255A的內(nèi)部編程結(jié)構(gòu)251.外設(shè)數(shù)據(jù)端口端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0A組控制高4位PC4~PC7B組控制低4位PC0~PC3端口A:PA0~PA7常作數(shù)據(jù)端口,功能最強(qiáng)大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個(gè)4位,每位可獨(dú)立操作控制最靈活,最難掌握1.外設(shè)數(shù)據(jù)端口端口A:PA0~PA7端口A:PA0~P262.與處理器接口CS*A1A0I/O地址讀操作RD*寫(xiě)操作WR*00000101001160H61H62H63H讀端口A讀端口B讀端口C非法寫(xiě)端口A寫(xiě)端口B寫(xiě)端口C寫(xiě)控制字D0~D7數(shù)據(jù)線 A0~A1地址線RD*讀信號(hào) WR*寫(xiě)信號(hào)CS*片選信號(hào) RESET復(fù)位信號(hào)2.與處理器接口CS*A1A0I/O地址讀操作RD*278255A的內(nèi)部組成8255A的內(nèi)部由四部分組成:①數(shù)據(jù)總線緩沖器②8位輸入/輸出端口PA、PB、PCPA口:有一個(gè)8位的數(shù)據(jù)輸入鎖存器和一個(gè)8位的數(shù)據(jù)輸出鎖存/緩沖器;PB口:有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸入輸出、鎖存/緩沖器;PC口:有一個(gè)8個(gè)位數(shù)據(jù)輸入緩沖器和一個(gè)8位輸出鎖存/緩沖器。③A組和B組的控制電路④讀/寫(xiě)控制邏輯8255A的內(nèi)部組成8255A的內(nèi)部由四部分組成:2810.3.28255A的編程命令8255A的編程命令包括工作方式選擇控制字和PC口按位操作控制字由于這兩個(gè)命令字都是送到8255A的同一個(gè)控制端口,故為了讓8255A能夠識(shí)別是哪個(gè)命令,采用在命令代碼中設(shè)置特征位的方法來(lái)進(jìn)行區(qū)分。如果寫(xiě)入的控制字的最高位D7=1,則該控制字為工作方式控制字;如果寫(xiě)入的控制字的最高位D7=0,則該控制字是PC口的按位復(fù)位/置位控制字。10.3.28255A的編程命令8255A的編程命令包29工作方式控制字1、工作方式控制字作用:指定8255A的工作方式和PA、PB、PC三個(gè)端口的輸入/輸出功能。工作方式控制字1、工作方式控制字30D7D6D5D4D3D2D1D0特征位必須寫(xiě)1A組方式00=方式001=方式11×=方式2PA0=輸出1=輸入PC7~40=輸出1=輸入B組方式0=方式01=方式1PB0=輸出1=輸入PC3~00=輸出1=輸入工作方式控制字D7D6D5D4D3D2D1D0特征位必須寫(xiě)1A組方式PA31例1例1:要求8255A的各端口處于如下工作方式:PA口指定為方式0輸入,PC口高四位指定為輸出;PB口指定為方式0輸出,PC口低四位指定為輸入。根據(jù)工作方式控制字的格式要求,控制字的代碼應(yīng)是10010001B,即91H。例1例1:要求8255A的各端口處于如下工作方式:PA口指定328255A的初始化如果將此控制字的內(nèi)容寫(xiě)到8255A的控制寄存器,就實(shí)現(xiàn)了對(duì)8255A的工作方式的指定,這個(gè)過(guò)程又稱為對(duì)8255A的初始化。如果8255A是PC機(jī)中使用的接口芯片,用上述工作方式控制字,其初始化程序段為:MOVDX,0063H ;8255A控制端口地址MOVAL,91H ;初始化命令字OUTDX,AL ;控制字送到控制口8255A的初始化如果將此控制字的內(nèi)容寫(xiě)到8255A的控制寄33PC口按位置位/復(fù)位控制字2、PC口按位置位/復(fù)位控制字作用:指定PC口的某一位(即某一個(gè)引腳)輸出高電平(置位)或輸出低電平(復(fù)位)。8255的PC口具有位操作功能,用PC口按位置位/復(fù)位控制字,可以改變PC口某一位的取值而不影響PC口的其他位。PC口按位置位/復(fù)位控制字2、PC口按位置位/復(fù)位控制字34D7D6D5D4D3D2D1D0特征位寫(xiě)0未使用(寫(xiě)0)位

擇000=PC口第0位001=PC口第1位…111=PC口第7位1=置位(高電平)0=復(fù)位(低電平)PC口按位置位/復(fù)位控制字D7D6D5D4D3D2D1D0特征位寫(xiě)0未使用位35例2例2:要求把PC5引腳設(shè)置成高電平輸出。根據(jù)置位/復(fù)位控制字格式,其控制字應(yīng)為00001011B,即0BH。將該控制字代碼寫(xiě)入8255A的控制寄存器,就會(huì)使得從PC口的PC5引腳輸出高電平,其程序段為:MOVDX,0063H ;8255A控制端口地址MOVAL,0BH ;使PC5=1的命令字OUTDX,AL ;控制字送到控制口例2例2:要求把PC5引腳設(shè)置成高電平輸出。36例2如果要使該位(PC5)復(fù)位,控制字為00001010B,即0AH,用下面程序段來(lái)實(shí)現(xiàn):MOVDX,0063H;8255A控制端口地址MOVAL,0AH ;使PC5=0的命令字OUTDX,AL ;控制字送到控制口例2如果要使該位(PC5)復(fù)位,控制字為00001010B37例3例3:利用在實(shí)驗(yàn)插件板上8255A的PC7產(chǎn)生負(fù)脈沖作為數(shù)據(jù)選通信號(hào)例3例3:利用在實(shí)驗(yàn)插件板上8255A的PC7產(chǎn)生負(fù)脈沖作為38例3MOVDX,0303H;插件板上8255A控制端口MOVAL,00001110B ;置PC7=0OUTDX,ALNOP ;維持低電平NOPMOVAL,00001111B ;置PC7=1OUTDX,AL 例3MOVDX,0303H;插件板上8255A控制端口39注意事項(xiàng)3、關(guān)于8255A兩個(gè)命令的使用注意事項(xiàng)①工作方式選擇控制字是對(duì)8255A的三個(gè)端口的工作方式及功能進(jìn)行設(shè)置,所以應(yīng)該放在程序的開(kāi)始處進(jìn)行初始化。②按位置位/復(fù)位控制字只對(duì)PC口的輸出進(jìn)行控制(對(duì)PC口輸入不起作用),而且每次只對(duì)PC口的某一位的輸出起作用,即令其輸出高電平(置位)或輸出低電平(復(fù)位)。使用該命令不會(huì)破壞已經(jīng)建立起來(lái)的3種工作方式,而且可以在初始化程序以后的任何需要的地方使用該命令。注意事項(xiàng)3、關(guān)于8255A兩個(gè)命令的使用注意事項(xiàng)40注意事項(xiàng)③兩個(gè)命令字的最高位是特征位。當(dāng)D7=1時(shí)表示是工作方式控制字;當(dāng)D7=0時(shí)表示是按位置位/復(fù)位控制字。④按位置位/復(fù)位的命令代碼只能寫(xiě)入控制端口。必須注意按位置位/復(fù)位控制字是一個(gè)命令而不是數(shù)據(jù),它只能按照命令的定義格式來(lái)處理每一位,如果把它寫(xiě)入PC口,就會(huì)按照PC口的數(shù)據(jù)定義格式來(lái)處理。注意事項(xiàng)③兩個(gè)命令字的最高位是特征位。當(dāng)D7=1時(shí)表示是工作4110.3.38255A的工作方式方式0:基本輸入輸出方式適用于無(wú)條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路10.3.38255A的工作方式方式0:基本輸入輸出方式4210.3.38255A的工作方式1、方式0——基本輸入輸出方式⑴方式0的工作特點(diǎn)方式0是一種基本輸入/輸出方式。方式0常用于無(wú)條件(簡(jiǎn)單)傳送,也可用于查詢傳送,其工作特點(diǎn)為:①按方式0工作,輸出數(shù)據(jù)被鎖存,而輸入數(shù)據(jù)不是鎖存的。因此,在方式0,8255A在輸入操作時(shí)相當(dāng)于一個(gè)三態(tài)緩沖器,在輸出操作時(shí)相當(dāng)于一個(gè)數(shù)據(jù)鎖存器。②在方式0下,PA、PBPC口的高4位和低4位都可以獨(dú)立地設(shè)置為輸入口或輸出口,共有16種不同的使用組態(tài)。10.3.38255A的工作方式1、方式0——基本輸入438255A的方式0③在方式0下,所有端口都是單向I/O端口,每次初始化只能指定PA、PB和PC口作為輸入或作為輸出,不能指定這些端口同時(shí)既作為輸入又作為輸出。④在方式0下,未設(shè)置專用聯(lián)絡(luò)信號(hào)線。當(dāng)需要聯(lián)絡(luò)信號(hào)時(shí),可以任意指定PC口中的某一條線來(lái)完成某種聯(lián)絡(luò)功能,但是不具備固定的時(shí)序關(guān)系,只能根據(jù)數(shù)據(jù)傳送的要求來(lái)決定輸入/輸出的操作過(guò)程。8255A的方式0③在方式0下,所有端口都是單向I/O端口,44方式0的適用場(chǎng)合⑶方式0的適用場(chǎng)合方式0適合于兩種使用場(chǎng)合:一種是無(wú)條件傳送,另一種是查詢式傳送。在無(wú)條件傳送時(shí),發(fā)送方和接收方不需要應(yīng)答信號(hào),即不需要查詢處設(shè)的狀態(tài)。在無(wú)條件傳送時(shí)使用8255A,3個(gè)數(shù)據(jù)端口可以實(shí)現(xiàn)三路數(shù)據(jù)傳輸。查詢式傳送時(shí),需要有應(yīng)答信號(hào),由于方式0不提供固定的應(yīng)答信號(hào),所以,通常用PA和PB口用作數(shù)據(jù)口,用PC口的高4位和低4位分別設(shè)置成輸入和輸出,用來(lái)作為控制信號(hào)的輸出和狀態(tài)信號(hào)的輸入方式0的適用場(chǎng)合⑶方式0的適用場(chǎng)合452、方式1—選通輸入輸出方式方式1是一種選通輸入輸出方式,也稱為應(yīng)答I/O方式。在這種方式時(shí),端口PA或PB可以用作數(shù)據(jù)的輸入或輸出,但同時(shí)規(guī)定端口PC的某些位用作控制或狀態(tài)信息。2、方式1—選通輸入輸出方式方式1是一種選通輸入輸出方式,463、方式2:雙向選通輸入輸出方式方式2是一種雙向傳送方式,這種方式只適合于端口A。在方式2下,外設(shè)通過(guò)8根數(shù)據(jù)線,既可以往CPU發(fā)送數(shù)據(jù),又可以從CPU接收數(shù)據(jù)。如果一個(gè)并行外部設(shè)備既可以作為輸入設(shè)備,又可以作為輸出設(shè)備,并且輸入/輸出動(dòng)作不會(huì)同時(shí)進(jìn)行,那么,將這個(gè)外設(shè)和8255的端口A相連,并使它工作在方式2,就會(huì)非常合適。3、方式2:雙向選通輸入輸出方式方式2是一種雙向傳送方式,478255A的鍵盤(pán)和揚(yáng)聲器控制示意8255APB1PB0驅(qū)動(dòng)電路揚(yáng)聲器GATE2CLK2時(shí)鐘信號(hào)與門(mén)8253的計(jì)數(shù)器2

PA7~PA0PB7PB6鍵盤(pán)掃描碼鍵盤(pán)控制信號(hào)8255A的鍵盤(pán)和揚(yáng)聲器控制示意8255APB1驅(qū)動(dòng)揚(yáng)聲器G488255A應(yīng)用舉例1電路連接如圖所示。8255端口C接邏輯電平開(kāi)關(guān)K0~K7(作為輸入),端口A接LED顯示電路L0~L7。編程從8255端口C輸入數(shù)據(jù)并且從端口A輸出該數(shù)據(jù),驗(yàn)證結(jié)果。8255A應(yīng)用舉例1電路連接如圖所示。8255端口C接邏輯電49可編程并行接口(8255方式0)可編程并行接口(8255方式0)50;本程序?yàn)閺?255的C口輸入,A口輸出CODESEGMENT ASSUMECS:CODESTART:MOVDX,28BH;設(shè)8255為C口輸入,A口輸出 MOVAL,8BH OUTDX,ALINOUT:MOVDX,28AH;從C口輸入一數(shù)據(jù) INAL,DX MOVDX,288H;從A口輸出剛才自C口 OUTDX,AL;所輸入的數(shù)據(jù);本程序?yàn)閺?255的C口輸入,A口輸出51MOVAH,01H;判斷是否有按鍵INT16HJZINOUT;若無(wú),則繼續(xù)自C口輸入,A口輸出MOVAH,4CH;否則返回DOSINT21HCODEENDS ENDSTARTMOVAH,01H;判斷是5210.4.3LED數(shù)碼顯示器接口設(shè)計(jì)發(fā)光二極管LED是最簡(jiǎn)單的顯示設(shè)備由7段LED就可以組成LED數(shù)碼管LED數(shù)碼管廣泛用于單板微型機(jī)、微型機(jī)控制系統(tǒng)及數(shù)字化儀器中LED數(shù)碼管可以顯示內(nèi)存地址和數(shù)據(jù)等10.4.3LED數(shù)碼顯示器接口設(shè)計(jì)發(fā)光二極管LED是最簡(jiǎn)531.LED數(shù)碼管的工作原理主要部分是7段發(fā)光管順時(shí)針?lè)謩e稱為a、b、c、d、e、f、g有的產(chǎn)品還附帶有一個(gè)小數(shù)點(diǎn)h通過(guò)7個(gè)發(fā)光段的不同組合主要顯示0~9也可顯示A~F(16進(jìn)制數(shù))還可顯示個(gè)別特殊字符:-、Phgfedcba1.LED數(shù)碼管的工作原理主要部分是7段發(fā)光管hgfed54LED數(shù)碼管的結(jié)構(gòu)共陽(yáng)極陽(yáng)極+5Vabcdefgh陰極abcdefgh共陰極LED數(shù)碼管的結(jié)構(gòu)共陽(yáng)極陽(yáng)極+5Va陰極a共陰極552.單個(gè)LED數(shù)碼管的顯示(靜態(tài)顯示)8255APA0PA1PA2PA3PA4PA5PA6PA7驅(qū)動(dòng)電路abcdefgh2.單個(gè)LED數(shù)碼管的顯示(靜態(tài)顯示)8255APA0a56數(shù)據(jù)寄存器WR300HDBabgabcdefgdpCOMLED靜態(tài)顯示接口數(shù)據(jù)寄存器WR300HDBabgabcdefgdpCOMLE57MOVDX,300H MOVAL,06H OUTDX,AL數(shù)據(jù)寄存器WR300HDBabcdefgdpCOMabgfedc010000106H執(zhí)行如下程序,數(shù)碼管顯示“1”

:MOVDX,300H 數(shù)據(jù)寄存器WR300HDBabcd58若希望顯示數(shù)字“5”,則應(yīng)執(zhí)行如下程序:MOVDX,300H ;300H為數(shù)據(jù)寄存器的口地址MOVAL,6DH ;6DH為“5”的顯示代碼OUTDX,AL若希望顯示數(shù)字“5”,則應(yīng)執(zhí)行如下程序:59七段數(shù)碼管顯示舉例將8255的端口A的PA0~PA6分別與七段數(shù)碼管的段碼驅(qū)動(dòng)輸入端a~g相連,數(shù)碼管的陰極公共端接地。要求編程從鍵盤(pán)輸入一位十進(jìn)制數(shù)字(0~9),并且在七段數(shù)碼管上顯示出來(lái)。七段數(shù)碼管顯示舉例將8255的端口A的PA0~PA6分別與七60PA4PA5PA6PA7CSPA0PA1PA2PA3288H~ABCDEFG8255A七段數(shù)碼管靜態(tài)顯示PA4PA5PA6PA7CSPA0PA1PA2PA3288H61;本程序?yàn)閺逆I盤(pán)輸入數(shù)據(jù)(0-9)控制LED數(shù)碼管發(fā)光DATASEGMENT;定義0-9的字形碼LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;定義提示信息MSGDB0DH,0AH,'INPUTANUM(0-9):','$'DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA

MOVDS,AX;本程序?yàn)閺逆I盤(pán)輸入數(shù)據(jù)(0-9)控制LED數(shù)碼管發(fā)光62

MOVDX,28BH;使8255的A口為輸出方式 MOVAX,80H OUTDX,ALSSS:MOVDX,OFFSETMSG;顯示提示信息 MOVAH,09H INT21H MOVAH,01;從鍵盤(pán)接收字符 INT21H CMPAL,'0';是否小于0 JLEXIT;若是則退出 CMPAL,'9';是否大于9 JGEXIT;若是則退出MOVDX,28BH;使8255的A口為輸出方式63 SUBAL,30H;將所得字符的ASCII碼減30H MOVBX,OFFSETLED;bx為數(shù)碼表的起始地址 XLAT;求出相應(yīng)的字形碼MOVDX,288H;從8255的A口輸出 OUTDX,AL MOVAH,01H;判斷是否有按鍵INT16HJZSSS;若無(wú)按鍵,則繼續(xù)顯示EXIT:MOVAH,4CH;若有按鍵,則返回DOS INT21HCODEENDS ENDSTART SUBAL,30H;將所得字符的ASCII碼減30643、LED動(dòng)態(tài)顯示接口接口電路中共有二個(gè)數(shù)據(jù)輸出寄存器與共陰極數(shù)碼管相連。一個(gè)寄存器(口地址60H)的輸出連到每個(gè)數(shù)碼管的a~g端,用于控制數(shù)碼管顯示的字形,通常稱為字形口;另一個(gè)寄存器(口地址61H)的輸出分別連接兩個(gè)數(shù)碼管的COM端,用于控制不同的數(shù)碼管被選中并點(diǎn)亮顯示字形,通常稱為字位口。要想每位同時(shí)顯示不同的字符,就必須采用掃描方法輪流點(diǎn)亮各位數(shù)碼管,即在某一瞬間只使某一位顯示字符。3、LED動(dòng)態(tài)顯示接口接口電路中共有二個(gè)數(shù)據(jù)輸出寄存器與共陰65abcdefgdp數(shù)據(jù)寄存器WR60HDB數(shù)據(jù)寄存器WR61Habcdefgdp06HFEHFFH5BHFDHabcdefgdp數(shù)據(jù)寄存器WR60HDB數(shù)據(jù)寄存器WR6166在這兩位數(shù)碼管上顯示數(shù)字“21”,實(shí)現(xiàn)動(dòng)態(tài)顯示“21”的程序段如下:DISP:MOVAL,06H ;數(shù)字“1”的字型碼OUT60H,AL MOVAL,0FEHOUT61H,AL ;選中第一位數(shù)碼管CALLDELAY1MS ;延時(shí)1msMOVAL,0FFH ;關(guān)第一位數(shù)碼管OUT61H,ALMOVAL,5BH ;數(shù)字“2”的顯示代碼值OUT60H,AL在這兩位數(shù)碼管上顯示數(shù)字“21”,實(shí)現(xiàn)動(dòng)態(tài)顯示“21”的程序67MOVAL,0FDH OUT61H,AL ;選中第二位七段數(shù)碼管CALLDELAY1MS ;延時(shí)1msMOVAL,0FFH ;關(guān)第二位數(shù)碼管

OUT61H,ALJMPDISP ;繼續(xù)掃描顯示對(duì)于延時(shí)的時(shí)間,一般在幾個(gè)毫秒之間,因人眼的視覺(jué)暫留時(shí)間為100ms,所以每位顯示的間隔也不要超過(guò)20ms,從而造成視覺(jué)暫留效果,給人看上去每個(gè)數(shù)碼管總是在亮。MOVAL,0FDH 對(duì)于延時(shí)的時(shí)間,一般在幾個(gè)毫秒之間68第10章并行通信接口10.1并行通信與并行接口10.2簡(jiǎn)單并行接口10.3可編程并行接口芯片8255A10.4并行通信接口設(shè)計(jì)第10章并行通信接口10.1并行通信與并行接口6910.1并行通信與并行接口并行通信就是把一個(gè)字符的各數(shù)位用幾條線同時(shí)進(jìn)行傳輸。并行通信的主要特點(diǎn)是信息傳輸速度快、信息率高這種特點(diǎn)是多用通信電纜而換取的,用于數(shù)據(jù)傳輸率要求較高、而傳輸距離較短的場(chǎng)合。10.1并行通信與并行接口并行通信就是把一個(gè)字符的各數(shù)位用70并行接口實(shí)現(xiàn)并行通信的接口就是并行接口。并行接口廣泛應(yīng)用于微機(jī)內(nèi)部各部件之間以及主機(jī)與外部設(shè)備之間的信息交換。例如,打印機(jī)接口,A/D、D/A轉(zhuǎn)換器接口,開(kāi)關(guān)量接口,控制器接口等等。并行接口是指接口與I/O設(shè)備或控制對(duì)象一側(cè)的并行數(shù)據(jù)線。并行接口分為:不可編程接口::工作方式和功能是完全通過(guò)邏輯電路連接來(lái)設(shè)定可編程接口:工作方式和功能都能通過(guò)軟件編程的方法加以設(shè)定或改變。并行接口實(shí)現(xiàn)并行通信的接口就是并行接口。7110.1.2并行接口的特點(diǎn)1、并行接口最基本的特點(diǎn)就是在多條數(shù)據(jù)線上以數(shù)據(jù)字節(jié)(字)為單位與I/O設(shè)備或被控對(duì)象傳送信息。2、并行接口適用于近距離傳送數(shù)據(jù)的場(chǎng)合。3、在并行接口中,一般都需要在接口與外設(shè)之間設(shè)置并行數(shù)據(jù)線的同時(shí),至少還要設(shè)置兩條握手(聯(lián)絡(luò))信號(hào)線,以便進(jìn)行互鎖異步握手方式的通信。10.1.2并行接口的特點(diǎn)1、并行接口最基本的特點(diǎn)就是在多7210.1.2并行接口的特點(diǎn)4、在并行接口中,數(shù)據(jù)的每個(gè)位(8位或16位)都是一起行動(dòng)的,因此,當(dāng)并行接口與外設(shè)交換數(shù)據(jù)時(shí),即使是僅用到其中的一位,也是一次輸入或輸出8位或16位數(shù)據(jù)。5、并行傳送的信息,不要求有固定的傳輸格式。10.1.2并行接口的特點(diǎn)4、在并行接口中,數(shù)據(jù)的每個(gè)位(7310.1.3并行接口的基本結(jié)構(gòu)與傳輸特性并行接口可設(shè)計(jì)為只作為輸入/輸出接口,也可設(shè)計(jì)為既作為輸入又作為輸出的接口。1、并行接口的功能一般而言,一個(gè)并行接口電路應(yīng)具有如下三方面的功能:⑴實(shí)現(xiàn)與系統(tǒng)總線的連接,提供數(shù)據(jù)的輸入與輸出功能;10.1.3并行接口的基本結(jié)構(gòu)與傳輸特性并行接口可設(shè)計(jì)為只74并行接口的基本結(jié)構(gòu)與傳輸特性⑵實(shí)現(xiàn)與I/O設(shè)備的連接,具有與I/O設(shè)備進(jìn)行應(yīng)答的同步機(jī)構(gòu),保證有效地進(jìn)行數(shù)據(jù)的收發(fā);⑶具有中斷請(qǐng)求與處理功能,使得數(shù)據(jù)的輸入輸出可以采用中斷的方法來(lái)實(shí)現(xiàn)。并行接口的基本結(jié)構(gòu)與傳輸特性⑵實(shí)現(xiàn)與I/O設(shè)備的連接,具有與752、并行接口的內(nèi)部結(jié)構(gòu)根據(jù)并行接口的功能可知,在接口電路中應(yīng)該有:數(shù)據(jù)鎖存器和緩沖器,以便于數(shù)據(jù)的輸入輸出。狀態(tài)和控制命令的寄存器,以便于CPU與接口電路之間用應(yīng)答的方式來(lái)交換信息,同樣也便于接口電路與外設(shè)之間傳送信息。接口電路中還要有譯碼與控制電路以及中斷請(qǐng)求觸發(fā)器、中斷屏蔽觸發(fā)器等,以解決CPU的驅(qū)動(dòng)能力問(wèn)題、時(shí)序配合問(wèn)題并能實(shí)現(xiàn)各種控制,保證CPU能正確可靠地與外設(shè)交換信息。因此,按功能劃分,接口電路可由四部分組成:數(shù)據(jù)寄存器、控制寄存器、狀態(tài)寄存器和其他控制電路。2、并行接口的內(nèi)部結(jié)構(gòu)根據(jù)并行接口的功能可知,在接口電路中應(yīng)76并行接口的內(nèi)部結(jié)構(gòu)并行接口電路組成(按功能劃分)數(shù)據(jù)寄存器控制寄存器狀態(tài)寄存器控制電路并行接口的內(nèi)部結(jié)構(gòu)并行接口電路組成(按功能劃分)773、并行接口的外部信號(hào)并行接口電路的外部信號(hào)可分成兩部分:與I/O設(shè)備相連的接口信號(hào)和與CPU相連的接口信號(hào)。與I/O設(shè)備相關(guān)聯(lián)的接口電路信號(hào)有三種:⑴數(shù)據(jù)信息,用于接口電路與I/O設(shè)備進(jìn)行輸入或輸出數(shù)據(jù);⑵控制信息,用于接口電路向I/O設(shè)備提供控制信號(hào);⑶狀態(tài)信息,用于接口電路接收I/O設(shè)備提供的狀態(tài)信號(hào)。3、并行接口的外部信號(hào)并行接口電路的外部信號(hào)可分成兩部分:與783、并行接口的外部信號(hào)與CPU相關(guān)的接口電路信號(hào)有:⑴數(shù)據(jù)線信號(hào),用于實(shí)現(xiàn)接口電路與CPU的數(shù)據(jù)交換;⑵地址線及地址譯碼信號(hào),用于選擇接口電路以及接口電路內(nèi)部不同的寄存器;⑶讀寫(xiě)控制信號(hào),用于確定CPU當(dāng)前對(duì)接口電路的操作性質(zhì)是讀還是寫(xiě);⑷中斷應(yīng)答信號(hào),用于實(shí)現(xiàn)中斷請(qǐng)求和中斷響應(yīng)操作。3、并行接口的外部信號(hào)與CPU相關(guān)的接口電路信號(hào)有:79典型并行輸入接口

典型并行輸入接口80典型并行輸入接口“輸入控制”的作用是將外部數(shù)據(jù)寫(xiě)入輸入寄存器,以便CPU在I/O讀總線周期中讀取。狀態(tài)信號(hào)“輸入數(shù)據(jù)準(zhǔn)備好”反映了輸入寄存器當(dāng)前的狀態(tài),供CPU決定是否可以讀取接口數(shù)據(jù),同時(shí)也可以作為限制外部輸入設(shè)備是否可以輸入下一數(shù)據(jù)的依據(jù)。中斷請(qǐng)求信號(hào)INTR的作用是在數(shù)據(jù)寫(xiě)入接口電路以后,用中斷的方式通知CPU讀數(shù)據(jù)。典型并行輸入接口“輸入控制”的作用是將外部數(shù)據(jù)寫(xiě)入輸入寄存器81典型并行輸出接口

典型并行輸出接口82典型并行輸出接口在輸出過(guò)程中,每當(dāng)CPU向輸出接口輸出一個(gè)數(shù)據(jù),接口電路就建立“輸出數(shù)據(jù)準(zhǔn)備好”狀態(tài),并通過(guò)該狀態(tài)的輸出向外部輸出設(shè)備表示可以讀取數(shù)據(jù)。當(dāng)外設(shè)從接口取走一個(gè)數(shù)據(jù)之后,向接口發(fā)送“輸出應(yīng)答”信號(hào),以后,接口就撤消“輸出準(zhǔn)備好”狀態(tài),并以查詢或中斷的方式告知CPU,CPU便可輸出下一個(gè)數(shù)據(jù)。典型并行輸出接口在輸出過(guò)程中,每當(dāng)CPU向輸出接口輸出一個(gè)數(shù)8310.2簡(jiǎn)單并行接口簡(jiǎn)單并行接口就是用簡(jiǎn)單的門(mén)電路、觸發(fā)器等連接組成的并行接口。一般采用無(wú)條件傳輸方式根據(jù)接口的功能簡(jiǎn)單輸入并行接口簡(jiǎn)單并行輸出接口雙向輸入/輸出并行接口關(guān)鍵電路是三態(tài)緩沖器:74LS244關(guān)鍵是用數(shù)據(jù)鎖存器來(lái)保存輸出數(shù)據(jù):74LS373/3748位雙向緩沖驅(qū)動(dòng)器74LS24510.2簡(jiǎn)單并行接口簡(jiǎn)單并行接口就是用簡(jiǎn)單的門(mén)電路、觸發(fā)8410.3可編程并行接口芯片8255A所謂可編程實(shí)際上就是具有可選擇性,并且是用編程的方法進(jìn)行選擇。例如,選擇芯片中的哪一個(gè)或哪幾個(gè)數(shù)據(jù)端口與外設(shè)連接;選擇端口中的哪一位或哪幾位作輸入,哪一位或哪幾位作輸出;選擇端口與CPU之間采用哪種方式傳送數(shù)據(jù)等,均可由用戶在程序中寫(xiě)入方式字或控制字來(lái)進(jìn)行指定。因此,它們具有廣泛的適應(yīng)性及很高的靈活性,在微機(jī)系統(tǒng)中得到廣泛應(yīng)用。10.3可編程并行接口芯片8255A所謂可編程實(shí)際上就是8510.3.18255A的外部特性和內(nèi)部結(jié)構(gòu)

1、8255A的基本特性8255A是一個(gè)具有兩個(gè)8位(A口和B口)和兩個(gè)4位(C口高/低4位)并行I/O端口的接口芯片,8255A的PC口還具有按位置位/復(fù)位功能,為按位控制提供了強(qiáng)有力的支持。8255A能適應(yīng)CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求。如無(wú)條件、查詢方式傳送和中斷方式傳送。8255A具有方式0、方式1和方式2三種工作方式。8255A的可編程功能很強(qiáng),由內(nèi)容豐富的命令字(方式字和控制字)來(lái)設(shè)置8255A,使其構(gòu)成多種功能的接口電路。8255APC口的使用比較特殊,除用作一般數(shù)據(jù)口外,PC口可以按位進(jìn)行控制,而且當(dāng)8255A工作在方式1和方式2時(shí),PC口的口線被分配成專用聯(lián)絡(luò)信號(hào)線,等等。10.3.18255A的外部特性和內(nèi)部結(jié)構(gòu)1、8258616151413121110987654321391718192021222324252627282930313233343536373840PA0PA1PA2PA3PA7PA5PA6PA4PC2PC1PC0PC4PC5PC6PC7PC3PB0PB1PB2PB4PB5PB3PB6PB7A0A1GND~CS~RD~WRRESETD0D2D1VCCD7D6D5D4D32、8255A的引腳信號(hào)及功能

8255A是一個(gè)單+5V電源供電、具有40個(gè)引腳的雙列直插封裝的器件8255A的引腳信號(hào)可分為兩部分:一部分是與外設(shè)相連的,另一部分是與CPU相連接的。161514131211109876543213917181878255A的引腳信號(hào)⑴用于同外設(shè)相連的信號(hào)有:①PA7~PA0:PA口的外設(shè)數(shù)據(jù)線(雙向)。②PB7~PB0:PB口的外設(shè)數(shù)據(jù)線(雙向)。③PC7~PC0:PC口的外設(shè)數(shù)據(jù)線(雙向)。8255A的引腳信號(hào)⑴用于同外設(shè)相連的信號(hào)有:88PC口的其他特殊用途如下所述:作數(shù)據(jù)口。PC口用作數(shù)據(jù)口時(shí),把8位分成高4位和低4位兩部分。因此,當(dāng)PC口作為數(shù)據(jù)口輸入/輸出時(shí),是4位是一起行動(dòng)的,即使只用到其中的某一位,也要同時(shí)輸入/輸出4位數(shù)據(jù)。作狀態(tài)口。8255A工作在方式1和方式2時(shí),有固定的狀態(tài)字,是從PC口讀入的,此時(shí)PC口就是8255A的臨時(shí)狀態(tài)口。PC口的其他特殊用途如下所述:89作固定聯(lián)絡(luò)信號(hào)線。8255A的方式1和方式2是一種應(yīng)答傳送方式,需要應(yīng)答聯(lián)絡(luò)信號(hào),因此,PC口的多數(shù)口線被定義為固定的聯(lián)絡(luò)信號(hào)線。作按位控制用。PC口的每個(gè)口線都可以單獨(dú)從輸出高/低電平。此時(shí),PC口是作為按位控制用,而不是作為數(shù)據(jù)輸出用。作固定聯(lián)絡(luò)信號(hào)線。8255A的方式1和方式2是一種應(yīng)答傳送方908255A的引腳信號(hào)⑵用于同CPU連接的信號(hào)有:①D7-D0:數(shù)據(jù)線,雙向,三態(tài),連接CPU的數(shù)據(jù)總線②:CS片選信號(hào),輸入,低電平有效。③A1、A0:片內(nèi)寄存器選擇信號(hào)(端口選擇),輸入④RESET:復(fù)位信號(hào),輸入,高電平有效。⑤:讀信號(hào),輸入,低電平有效。⑥:寫(xiě)信號(hào),輸入,低電平有效。除此以外,8255A還有二個(gè)引腳電源Vcc和地線GND8255A的引腳信號(hào)⑵用于同CPU連接的信號(hào)有:913、8255A的內(nèi)部編程結(jié)構(gòu)數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫(xiě)控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET3、8255A的內(nèi)部編程結(jié)構(gòu)數(shù)據(jù)內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~928255A的內(nèi)部編程結(jié)構(gòu)8255A的內(nèi)部編程結(jié)構(gòu)931.外設(shè)數(shù)據(jù)端口端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0A組控制高4位PC4~PC7B組控制低4位PC0~PC3端口A:PA0~PA7常作數(shù)據(jù)端口,功能最強(qiáng)大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個(gè)4位,每位可獨(dú)立操作控制最靈活,最難掌握1.外設(shè)數(shù)據(jù)端口端口A:PA0~PA7端口A:PA0~P942.與處理器接口CS*A1A0I/O地址讀操作RD*寫(xiě)操作WR*00000101001160H61H62H63H讀端口A讀端口B讀端口C非法寫(xiě)端口A寫(xiě)端口B寫(xiě)端口C寫(xiě)控制字D0~D7數(shù)據(jù)線 A0~A1地址線RD*讀信號(hào) WR*寫(xiě)信號(hào)CS*片選信號(hào) RESET復(fù)位信號(hào)2.與處理器接口CS*A1A0I/O地址讀操作RD*958255A的內(nèi)部組成8255A的內(nèi)部由四部分組成:①數(shù)據(jù)總線緩沖器②8位輸入/輸出端口PA、PB、PCPA口:有一個(gè)8位的數(shù)據(jù)輸入鎖存器和一個(gè)8位的數(shù)據(jù)輸出鎖存/緩沖器;PB口:有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸入輸出、鎖存/緩沖器;PC口:有一個(gè)8個(gè)位數(shù)據(jù)輸入緩沖器和一個(gè)8位輸出鎖存/緩沖器。③A組和B組的控制電路④讀/寫(xiě)控制邏輯8255A的內(nèi)部組成8255A的內(nèi)部由四部分組成:9610.3.28255A的編程命令8255A的編程命令包括工作方式選擇控制字和PC口按位操作控制字由于這兩個(gè)命令字都是送到8255A的同一個(gè)控制端口,故為了讓8255A能夠識(shí)別是哪個(gè)命令,采用在命令代碼中設(shè)置特征位的方法來(lái)進(jìn)行區(qū)分。如果寫(xiě)入的控制字的最高位D7=1,則該控制字為工作方式控制字;如果寫(xiě)入的控制字的最高位D7=0,則該控制字是PC口的按位復(fù)位/置位控制字。10.3.28255A的編程命令8255A的編程命令包97工作方式控制字1、工作方式控制字作用:指定8255A的工作方式和PA、PB、PC三個(gè)端口的輸入/輸出功能。工作方式控制字1、工作方式控制字98D7D6D5D4D3D2D1D0特征位必須寫(xiě)1A組方式00=方式001=方式11×=方式2PA0=輸出1=輸入PC7~40=輸出1=輸入B組方式0=方式01=方式1PB0=輸出1=輸入PC3~00=輸出1=輸入工作方式控制字D7D6D5D4D3D2D1D0特征位必須寫(xiě)1A組方式PA99例1例1:要求8255A的各端口處于如下工作方式:PA口指定為方式0輸入,PC口高四位指定為輸出;PB口指定為方式0輸出,PC口低四位指定為輸入。根據(jù)工作方式控制字的格式要求,控制字的代碼應(yīng)是10010001B,即91H。例1例1:要求8255A的各端口處于如下工作方式:PA口指定1008255A的初始化如果將此控制字的內(nèi)容寫(xiě)到8255A的控制寄存器,就實(shí)現(xiàn)了對(duì)8255A的工作方式的指定,這個(gè)過(guò)程又稱為對(duì)8255A的初始化。如果8255A是PC機(jī)中使用的接口芯片,用上述工作方式控制字,其初始化程序段為:MOVDX,0063H ;8255A控制端口地址MOVAL,91H ;初始化命令字OUTDX,AL ;控制字送到控制口8255A的初始化如果將此控制字的內(nèi)容寫(xiě)到8255A的控制寄101PC口按位置位/復(fù)位控制字2、PC口按位置位/復(fù)位控制字作用:指定PC口的某一位(即某一個(gè)引腳)輸出高電平(置位)或輸出低電平(復(fù)位)。8255的PC口具有位操作功能,用PC口按位置位/復(fù)位控制字,可以改變PC口某一位的取值而不影響PC口的其他位。PC口按位置位/復(fù)位控制字2、PC口按位置位/復(fù)位控制字102D7D6D5D4D3D2D1D0特征位寫(xiě)0未使用(寫(xiě)0)位

擇000=PC口第0位001=PC口第1位…111=PC口第7位1=置位(高電平)0=復(fù)位(低電平)PC口按位置位/復(fù)位控制字D7D6D5D4D3D2D1D0特征位寫(xiě)0未使用位103例2例2:要求把PC5引腳設(shè)置成高電平輸出。根據(jù)置位/復(fù)位控制字格式,其控制字應(yīng)為00001011B,即0BH。將該控制字代碼寫(xiě)入8255A的控制寄存器,就會(huì)使得從PC口的PC5引腳輸出高電平,其程序段為:MOVDX,0063H ;8255A控制端口地址MOVAL,0BH ;使PC5=1的命令字OUTDX,AL ;控制字送到控制口例2例2:要求把PC5引腳設(shè)置成高電平輸出。104例2如果要使該位(PC5)復(fù)位,控制字為00001010B,即0AH,用下面程序段來(lái)實(shí)現(xiàn):MOVDX,0063H;8255A控制端口地址MOVAL,0AH ;使PC5=0的命令字OUTDX,AL ;控制字送到控制口例2如果要使該位(PC5)復(fù)位,控制字為00001010B105例3例3:利用在實(shí)驗(yàn)插件板上8255A的PC7產(chǎn)生負(fù)脈沖作為數(shù)據(jù)選通信號(hào)例3例3:利用在實(shí)驗(yàn)插件板上8255A的PC7產(chǎn)生負(fù)脈沖作為106例3MOVDX,0303H;插件板上8255A控制端口MOVAL,00001110B ;置PC7=0OUTDX,ALNOP ;維持低電平NOPMOVAL,00001111B ;置PC7=1OUTDX,AL 例3MOVDX,0303H;插件板上8255A控制端口107注意事項(xiàng)3、關(guān)于8255A兩個(gè)命令的使用注意事項(xiàng)①工作方式選擇控制字是對(duì)8255A的三個(gè)端口的工作方式及功能進(jìn)行設(shè)置,所以應(yīng)該放在程序的開(kāi)始處進(jìn)行初始化。②按位置位/復(fù)位控制字只對(duì)PC口的輸出進(jìn)行控制(對(duì)PC口輸入不起作用),而且每次只對(duì)PC口的某一位的輸出起作用,即令其輸出高電平(置位)或輸出低電平(復(fù)位)。使用該命令不會(huì)破壞已經(jīng)建立起來(lái)的3種工作方式,而且可以在初始化程序以后的任何需要的地方使用該命令。注意事項(xiàng)3、關(guān)于8255A兩個(gè)命令的使用注意事項(xiàng)108注意事項(xiàng)③兩個(gè)命令字的最高位是特征位。當(dāng)D7=1時(shí)表示是工作方式控制字;當(dāng)D7=0時(shí)表示是按位置位/復(fù)位控制字。④按位置位/復(fù)位的命令代碼只能寫(xiě)入控制端口。必須注意按位置位/復(fù)位控制字是一個(gè)命令而不是數(shù)據(jù),它只能按照命令的定義格式來(lái)處理每一位,如果把它寫(xiě)入PC口,就會(huì)按照PC口的數(shù)據(jù)定義格式來(lái)處理。注意事項(xiàng)③兩個(gè)命令字的最高位是特征位。當(dāng)D7=1時(shí)表示是工作10910.3.38255A的工作方式方式0:基本輸入輸出方式適用于無(wú)條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路10.3.38255A的工作方式方式0:基本輸入輸出方式11010.3.38255A的工作方式1、方式0——基本輸入輸出方式⑴方式0的工作特點(diǎn)方式0是一種基本輸入/輸出方式。方式0常用于無(wú)條件(簡(jiǎn)單)傳送,也可用于查詢傳送,其工作特點(diǎn)為:①按方式0工作,輸出數(shù)據(jù)被鎖存,而輸入數(shù)據(jù)不是鎖存的。因此,在方式0,8255A在輸入操作時(shí)相當(dāng)于一個(gè)三態(tài)緩沖器,在輸出操作時(shí)相當(dāng)于一個(gè)數(shù)據(jù)鎖存器。②在方式0下,PA、PBPC口的高4位和低4位都可以獨(dú)立地設(shè)置為輸入口或輸出口,共有16種不同的使用組態(tài)。10.3.38255A的工作方式1、方式0——基本輸入1118255A的方式0③在方式0下,所有端口都是單向I/O端口,每次初始化只能指定PA、PB和PC口作為輸入或作為輸出,不能指定這些端口同時(shí)既作為輸入又作為輸出。④在方式0下,未設(shè)置專用聯(lián)絡(luò)信號(hào)線。當(dāng)需要聯(lián)絡(luò)信號(hào)時(shí),可以任意指定PC口中的某一條線來(lái)完成某種聯(lián)絡(luò)功能,但是不具備固定的時(shí)序關(guān)系,只能根據(jù)數(shù)據(jù)傳送的要求來(lái)決定輸入/輸出的操作過(guò)程。8255A的方式0③在方式0下,所有端口都是單向I/O端口,112方式0的適用場(chǎng)合⑶方式0的適用場(chǎng)合方式0適合于兩種使用場(chǎng)合:一種是無(wú)條件傳送,另一種是查詢式傳送。在無(wú)條件傳送時(shí),發(fā)送方和接收方不需要應(yīng)答信號(hào),即不需要查詢處設(shè)的狀態(tài)。在無(wú)條件傳送時(shí)使用8255A,3個(gè)數(shù)據(jù)端口可以實(shí)現(xiàn)三路數(shù)據(jù)傳輸。查詢式傳送時(shí),需要有應(yīng)答信號(hào),由于方式0不提供固定的應(yīng)答信號(hào),所以,通常用PA和PB口用作數(shù)據(jù)口,用PC口的高4位和低4位分別設(shè)置成輸入和輸出,用來(lái)作為控制信號(hào)的輸出和狀態(tài)信號(hào)的輸入方式0的適用場(chǎng)合⑶方式0的適用場(chǎng)合1132、方式1—選通輸入輸出方式方式1是一種選通輸入輸出方式,也稱為應(yīng)答I/O方式。在這種方式時(shí),端口PA或PB可以用作數(shù)據(jù)的輸入或輸出,但同時(shí)規(guī)定端口PC的某些位用作控制或狀態(tài)信息。2、方式1—選通輸入輸出方式方式1是一種選通輸入輸出方式,1143、方式2:雙向選通輸入輸出方式方式2是一種雙向傳送方式,這種方式只適合于端口A。在方式2下,外設(shè)通過(guò)8根數(shù)據(jù)線,既可以往CPU發(fā)送數(shù)據(jù),又可以從CPU接收數(shù)據(jù)。如果一個(gè)并行外部設(shè)備既可以作為輸入設(shè)備,又可以作為輸出設(shè)備,并且輸入/輸出動(dòng)作不會(huì)同時(shí)進(jìn)行,那么,將這個(gè)外設(shè)和8255的端口A相連,并使它工作在方式2,就會(huì)非常合適。3、方式2:雙向選通輸入輸出方式方式2是一種雙向傳送方式,1158255A的鍵盤(pán)和揚(yáng)聲器控制示意8255APB1PB0驅(qū)動(dòng)電路揚(yáng)聲器GATE2CLK2時(shí)鐘信號(hào)與門(mén)8253的計(jì)數(shù)器2

PA7~PA0PB7PB6鍵盤(pán)掃描碼鍵盤(pán)控制信號(hào)8255A的鍵盤(pán)和揚(yáng)聲器控制示意8255APB1驅(qū)動(dòng)揚(yáng)聲器G1168255A應(yīng)用舉例1電路連接如圖所示。8255端口C接邏輯電平開(kāi)關(guān)K0~K7(作為輸入),端口A接LED顯示電路L0~L7。編程從8255端口C輸入數(shù)據(jù)并且從端口A輸出該數(shù)據(jù),驗(yàn)證結(jié)果。8255A應(yīng)用舉例1電路連接如圖所示。8255端口C接邏輯電117可編程并行接口(8255方式0)可編程并行接口(8255方式0)118;本程序?yàn)閺?255的C口輸入,A口輸出CODESEGMENT ASSUMECS:CODESTART:MOVDX,28BH;設(shè)8255為C口輸入,A口輸出 MOVAL,8BH OUTDX,ALINOUT:MOVDX,28AH;從C口輸入一數(shù)據(jù) INAL,DX MOVDX,288H;從A口輸出剛才自C口 OUTDX,AL;所輸入的數(shù)據(jù);本程序?yàn)閺?255的C口輸入,A口輸出119MOVAH,01H;判斷是否有按鍵INT16HJZINOUT;若無(wú),則繼續(xù)自C口輸入,A口輸出MOVAH,4CH;否則返回DOSINT21HCODEENDS ENDSTARTMOVAH,01H;判斷是12010.4.3LED數(shù)碼顯示器接口設(shè)計(jì)發(fā)光二極管LED是最簡(jiǎn)單的顯示設(shè)備由7段LED就可以組成LED數(shù)碼管LED數(shù)碼管廣泛用于單板微型機(jī)、微型機(jī)控制系統(tǒng)及數(shù)字化儀器中LED數(shù)碼管可以顯示內(nèi)存地址和數(shù)據(jù)等10.4.3LED數(shù)碼顯示器接口設(shè)計(jì)發(fā)光二極管LED是最簡(jiǎn)1211.LED數(shù)碼管的工作原理主要部分是7段發(fā)光管順時(shí)針?lè)謩e稱為a、b、c、d、e、f、g有的產(chǎn)品還附帶有一個(gè)小數(shù)點(diǎn)h通過(guò)7個(gè)發(fā)光段的不同組合主要顯示0~9也可顯示A~F(16進(jìn)制數(shù))還可顯示個(gè)別特殊字符:-、Phgfedcba1.LED數(shù)碼管的工作原理主要部分是7段發(fā)光管hgfed122LED數(shù)碼管的結(jié)構(gòu)共陽(yáng)極陽(yáng)極+5Vabcdefgh陰極abcdefgh共陰極LED數(shù)碼管的結(jié)構(gòu)共陽(yáng)極陽(yáng)極+5Va陰極a共陰極1232.單個(gè)LED數(shù)碼管的顯示(靜態(tài)顯示)8255APA0PA1PA2PA3PA4PA5PA6PA7驅(qū)動(dòng)電路abcdefgh2.單個(gè)LED數(shù)碼管的顯示(靜態(tài)顯示)8255A

溫馨提示

  • 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)論