匯編語言(微機(jī))第六章.ppt
《匯編語言(微機(jī))第六章.ppt》由會員分享,可在線閱讀,更多相關(guān)《匯編語言(微機(jī))第六章.ppt(60頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1,主講教師:范新民,第六章:可編程并行接口芯片和串行接口芯片,2,主要內(nèi)容:,3,6.1并行接口與串行接口,并行接口:是指數(shù)據(jù)的各位同時進(jìn)行傳送,其特點(diǎn)是傳輸速度快,但當(dāng)傳輸距離較遠(yuǎn)、位數(shù)又多時,導(dǎo)致了通信線路復(fù)雜且成本提高。,串行接口:是指一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式。其特點(diǎn)是數(shù)據(jù)按位傳送,最少只需一根傳輸線即可完成,成本低但傳送速度慢。,可編程并行接口芯片和串行接口芯片,,,4,串口與并口:并口由于8位通道之間的互相干擾。傳輸時速度就受到了限制。而且當(dāng)傳輸出錯時,要同時重新傳8個位的數(shù)據(jù)。串口沒有干擾,傳輸出錯后重發(fā)一位就可以了。所以串口速度非常快。,并行接口與串行接口,5,一、可編程接口芯片的功能和電路組成多數(shù)I/O接口具有如下功能及其電路單元:輸入/輸出數(shù)據(jù)鎖存器和緩沖器,用以解決CPU與外設(shè)之間速度不匹配的矛盾,以及起隔離和緩沖的作用;控制命令和狀態(tài)寄存器,以存放CPU對外設(shè)的控制命令,以及外設(shè)的狀態(tài)信息;,6.1.1可編程接口芯片概述,地址譯碼器,用來選擇接口電路中的不同端口;讀寫控制邏輯中斷控制邏輯,并行接口與串行接口,6,二、可編程接口芯片的幾個概念片選的概念必須要有一個地址信號選中接口芯片后,才能使該接口芯片進(jìn)入電路工作狀態(tài),實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出。選通端CE(ChipEnable),又稱片選端CS(ChipSelect)。CE端是控制接口芯片進(jìn)入電路工作狀態(tài)的引腳端。,可編程接口芯片概述,,,,7,讀/寫概念:當(dāng)?shù)刂沸盘柗€(wěn)定,讀信號和訪問I/O口控制信號有效時,片選信號穩(wěn)定,CPU數(shù)據(jù)線和輸入口接通,進(jìn)行讀操作。當(dāng)?shù)刂沸盘柗€(wěn)定,CPU輸出數(shù)據(jù),寫信號和訪問I/O口控制信號有效時,片選信號穩(wěn)定,數(shù)據(jù)寫入I/O口。,可編程接口芯片概述,8,可編程接口的概念接口芯片大部分是多通道、多功能的。多通道是指一個接口芯片一面與CPU連接,另一面可接幾個外設(shè);多功能是指一個接口芯片能實(shí)現(xiàn)多種接口功能,實(shí)現(xiàn)不同的電路工作狀態(tài)。接口芯片功能可由程序改變。,可編程接口芯片概述,9,“聯(lián)絡(luò)”的概念接口芯片常常需要和外設(shè)間有一定的“聯(lián)絡(luò)”信號,以保證信息的正常傳送。通常采用兩個“聯(lián)絡(luò)”(Handhake)信號:(選通信號,strobe)和RDY(就緒信號,Ready)。,可編程接口芯片概述,10,8255A的結(jié)構(gòu)和引腳功能8255A的工作方式8255A的初始化8255A的應(yīng)用舉例16位系統(tǒng)中的并行接口,6.2可編程并行接口芯片8255A,11,6.2.18255A的結(jié)構(gòu)和引腳功能,1、8255A的內(nèi)部結(jié)構(gòu),12,(1)數(shù)據(jù)端口端口A:PA0~PA7,數(shù)據(jù)輸出鎖存器/緩存器和輸入鎖存器,可用于數(shù)據(jù)雙向傳輸。端口B:PB0~PB7,數(shù)據(jù)輸出鎖存器/緩存器和輸入緩存器,B口作為輸出口時數(shù)據(jù)可得到鎖存,做輸入口時,外設(shè)輸入的數(shù)據(jù)必須維持到有效讀取為止。端口C:PC0~PC7,結(jié)構(gòu)同B口,可作為兩個4位端口使用,可配合A口或B口在數(shù)據(jù)傳輸時做控制、狀態(tài)和中斷請求信號使用。,8255A的內(nèi)部結(jié)構(gòu),13,(2)A組控制和B組控制A口和高4位PC4~PC7構(gòu)成A組,B口和低4位PC0~PC3構(gòu)成B組。一組有一個控制寄存器接收CPU控制字,確定8255工作方式。(3)數(shù)據(jù)總線緩沖器八位三態(tài)雙向緩沖器,用于8255與CPU數(shù)據(jù)總線的接口。(4)讀/寫控制邏輯把接受來自CPU的地址和控制信號發(fā)送給兩個控制組。根據(jù)不同的信息進(jìn)行不同的傳送。,8255A的內(nèi)部結(jié)構(gòu),14,2、8255A的引腳及其功能(1)端口引腳PA0~PA7:端口A數(shù)據(jù)線,雙向,三態(tài)。PB0~PB7:端口B數(shù)據(jù)線,雙向,三態(tài)。PC0~PC7:端口C數(shù)據(jù)線,雙向,三態(tài)。,(2)和CPU連接的引腳D7~D0:數(shù)據(jù)線,與系統(tǒng)總線連接。RD:讀信號,輸入,低電平有效,從8255A讀取數(shù)據(jù)WR:寫信號,輸入,低電平有效,把數(shù)據(jù)寫入8255,,,8255A的引腳,15,CS:片選信號,輸入,低電平有效,決定芯片地址。RESET:復(fù)位信號,輸入。將所有內(nèi)部寄存器的內(nèi)容清零,3個數(shù)據(jù)端口設(shè)為輸入工作方式。A0,A1:端口選擇信號,8255占四個端口地址:,,根據(jù)RD、WR、CS、A0、A1的不同組合決定8255A的不同端口的操作,,,,8255A的引腳,16,6.2.28255A的工作方式,1、方式0—基本輸入輸出,CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù)。若把C口的兩個部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU也可通過對C口的讀寫,實(shí)現(xiàn)A口與B口的查詢方式工作。輸出的數(shù)據(jù)被鎖存,輸入的數(shù)據(jù)不鎖存,端口A、B和C都可工作于輸入或輸出。三個端口無必然聯(lián)系,各端口輸入輸出組合共有16種,可適用于多種用途。,17,2、方式1—選通輸入輸出(應(yīng)答式輸入輸出)端口A和B輸入/輸出數(shù)據(jù)時,必須利用端口C提供聯(lián)絡(luò)信號(選通、應(yīng)答信號)。一般情況下,用中斷傳送數(shù)據(jù)方式(也可用查詢方式)。這時:通道A:8位數(shù)據(jù)端口(A口),3位控制位(C口)。通道B:8位數(shù)據(jù)端口(B口),3位控制位(C口)。這種配合固定,不可以用程序修改。,8255A的工作方式,18,特點(diǎn):端口A、B既可做輸入又可做輸出。端口C引腳分別作為控制、狀態(tài)和中斷申請信號等。若只有一個端口工作在方式1,則余下13位可工作在方式0。若兩個端口都工作在方式1,則余下2位可由程序指定為輸入或輸出。,端口A、B工作于方式1的輸入或輸出時,端口C聯(lián)絡(luò)信號的引腳和意義都不同。,8255A的工作方式,19,(1)方式1的輸入傳送,A、B兩個口都設(shè)為方式1輸入方式,8255A的工作方式,20,INTR:中斷請求信號,輸出,高電平有效,可向CPU申請中斷。,STB:輸入選通信號,輸入,低電平有效,表示外設(shè)輸入的數(shù)據(jù)送至8255A的輸入鎖存器中。,IBF:輸入緩沖區(qū)滿,輸出,高電平有效。通知外設(shè)輸入緩沖區(qū)滿,不要送新數(shù)據(jù),由CPU讀取數(shù)據(jù)時(RD的上升沿)清除,表明輸入緩沖器可以接受新數(shù)據(jù)。,INTE:中斷允許,INTEA是C口輸出鎖存器的PC4,INTEB是C口輸出鎖存器的PC2,由它們分別控制A口和B口的中斷申請。(可由C口置/復(fù)位控制字將INTE置1或復(fù)位為0),,,8255A的工作方式,21,方式1的輸入時序:從工作在方式1下的輸入端口輸入數(shù)據(jù)時,有關(guān)信號的變化關(guān)系。,8255A的工作方式,22,①當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,將數(shù)據(jù)送至端口線PA7~PA0或PB7~PB0②外設(shè)發(fā)出選通信號STB:將數(shù)據(jù)鎖存在輸入端口內(nèi)。使IBF變高,表示輸入端口滿,可用于阻止外設(shè)輸入新數(shù)據(jù)。如果INTE=1,STB的上升沿使INTR變高,發(fā)出中斷請求。③中斷處理程序中CPU讀取數(shù)據(jù),發(fā)出RD信號:(1)RD的下降沿清除INTR(2)RD的上升沿清除IBF(3)端口內(nèi)的數(shù)據(jù)進(jìn)入CPU,,,,,,以中斷方式輸入數(shù)據(jù):,8255A的工作方式,23,①當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,將數(shù)據(jù)送至端口線PA7~PA0或PB7~PB0②外設(shè)發(fā)出選通信號STB:將數(shù)據(jù)鎖存在輸入端口內(nèi)。使IBF變高,表示輸入端口滿,可用于阻止外設(shè)輸入新數(shù)據(jù)。③在主程序中CPU查詢IBF,若其為高電平,讀取數(shù)據(jù),發(fā)出RD信號:RD的上升沿清除IBF端口內(nèi)的數(shù)據(jù)進(jìn)入CPU,,,以查詢方式輸入數(shù)據(jù):,,8255A的工作方式,24,查詢方法從8255的A口向CPU輸入數(shù)據(jù):程序如下:INPUT:INAL,PortC;讀方式1狀態(tài)信號TESTAL,20H;查A口的IBFJZINPUT;IBF=0,數(shù)據(jù)未準(zhǔn)備好INAL,PortA;IBF≠0,CPU讀入數(shù)據(jù),方式1輸入時共用到C口6個引腳,剩余2個引腳PC6、PC7可做I/O位,或由C口置/復(fù)位控制字決定其輸出。,8255A的工作方式,25,(2)方式1的輸出傳送,A口方式1輸出時相應(yīng)的聯(lián)絡(luò)信號,B口方式1輸出時相應(yīng)的聯(lián)絡(luò)信號,8255A的工作方式,26,INTE:中斷允許,INTEA、INTEB分別控制A口和B口的中斷申請。(INTEA由PC6、INTEB由PC2控制),OBF:輸出緩沖器滿,輸出,表示CPU已將數(shù)據(jù)輸出到指定端口,通知外設(shè)可以將數(shù)據(jù)取走。,,ACK:響應(yīng)信號,輸入。外設(shè)通知8255已取走數(shù)據(jù),并清除OBF,置INTR為“1”。,INTR:中斷請求信號,輸出。向CPU申請中斷,請求CPU輸出后續(xù)數(shù)據(jù)。(條件:OBF∧ACK∧INTE=1),控制信號:,,,,8255A的工作方式,27,方式1的輸出時序:,以中斷方式輸出數(shù)據(jù):,①CPU輸出數(shù)據(jù)②CPU發(fā)出WR:數(shù)據(jù)寫到8255A的端口使OBF有效,表示輸出端口滿,清除中斷請求信號INTR③外設(shè)接受到數(shù)據(jù)后,發(fā)出ACK信號:(1)ACK的下降沿使OBF變高,(2)當(dāng)INTE=1,ACK的上升沿使INTR變高,請求CPU輸出新的數(shù)據(jù),,,,,,8255A的工作方式,28,①CPU輸出數(shù)據(jù)②CPU發(fā)出WR:(ⅰ)數(shù)據(jù)寫到8255A的端口(ⅱ)使OBF有效,表示輸出端口滿,通知外設(shè)取數(shù)據(jù)。③外設(shè)接受到數(shù)據(jù)后,發(fā)出ACK信號:(ⅰ)ACK的下降沿使OBF變高,(ⅱ)在主程序中CPU查詢OBF,若其為高電平,數(shù)據(jù)已取走,端口可接受新的數(shù)據(jù)。,,,以查詢方式輸出數(shù)據(jù):,,,,,8255A的工作方式,29,注意:方式1輸出時共用到C口6個引腳,剩余2個引腳PC4、PC5可做I/O位,或由C口置/復(fù)位控制字決定其輸出。,查詢方法向8255的A口輸出數(shù)據(jù):程序如下:OUTPUT:INAL,PortC;讀方式1狀態(tài)信號TESTAL,80H;查A口的OBF,設(shè)備空閑?JZOUTPUT;OBF=0,不空,等待。MOVAL,DATASOUTPortA,AL;OBF=1,CPU輸出數(shù)據(jù)。,,,,8255A的工作方式,30,3、方式2—雙向選通輸入輸出,方式2只限于A組使用。與方式0、方式1的單向傳送不同,工作在方式2下的端口A,具有雙向傳送功能。端口工作在方式2時,C口的5根引腳作為端口的聯(lián)絡(luò)信號;是方式1下A口輸入、輸出聯(lián)絡(luò)信號的組合。C口未做聯(lián)絡(luò)信號的3條引腳,可作為B口在方式1下的聯(lián)絡(luò)線,也可和B口一樣工作在方式0。由方式控制字決定其輸入/輸出。,8255A的工作方式,31,,方式2下的時序?yàn)榉绞?輸入/輸出兩者的組合。,8255A的工作方式,32,6.2.38255A的控制字及初始化使用8255A,首先要由CPU對8255A寫入控制命令字。有2種控制命令字:方式選擇控制字;C口按位置位/復(fù)位控制字;1、方式選擇控制字(D7=1)控制字可以使8255A的三個數(shù)據(jù)端口工作在不同的工作方式,將三個端口分為兩組來設(shè)定。,8255A的工作方式,33,8255A方式選擇控制字,8255A的控制字,34,2、端口C按位置/復(fù)位控制字(D7=0)可使8255作為位控接口,實(shí)現(xiàn)對外設(shè)的按位控制。,,8255A的控制字,35,例:利用位復(fù)位和置位可使端口CPC5位產(chǎn)生方波。,程序如下:MOVCX,10LOP:MOVAL,0AHOUTPOR-CL,AL;置0CALLDELAYMOVAL,0BHOUTPORT-CL,AL;置1CALLDELAYLOOPLOP,8255A的控制字,36,,6.2.48255A的應(yīng)用實(shí)例1、初始化設(shè)置例:一8088系統(tǒng)的8255A工作于方式0,端口A為輸入,端口B為輸出,若系統(tǒng)中8255A的口地址為80H-83H。,方式控制字:,1001X00X,初始化程序:,MOVAL,90HOUT83H,AL,37,例6-2:開關(guān)接口(8255端口地址:60H~63H),實(shí)現(xiàn)如下功能:每隔5分鐘從PA口讀入8個開關(guān)的狀態(tài)存入2000H:3000H開始的數(shù)據(jù)區(qū),工作10小時結(jié)束。,8255A的應(yīng)用實(shí)例,38,MOVAX,2000HMOVDS,AXMOVBX,3000HMOVCX,120MOVAL,10010000B(90H)OUT63H,ALLOP:INAL,60HMOV[BX],ALINCBXCALLDELAY5MLOOPLOPHLT,程序設(shè)計:,8255A的應(yīng)用實(shí)例,39,例6-3LED接口,PA口做輸出數(shù)據(jù)口,采用方式0工作方式,無條件傳送。設(shè)8255A的端口地址為60H~63H。要求每隔5分秒,發(fā)光燈向上移一個。,8255A的應(yīng)用實(shí)例,40,MOVAL,10000000B(80H)OUT63H,ALMOVCX,7200MOVAL,7FHLOP:OUT60H,ALRORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21H,8255A的應(yīng)用實(shí)例,41,例6-4打印機(jī)接口(1)并行接口標(biāo)準(zhǔn)(Centronice)該標(biāo)準(zhǔn)規(guī)定了一個36芯的連接口。STB:數(shù)據(jù)選通接口;DATA:數(shù)據(jù)信號;ACK:響應(yīng)信號;BUSY:忙信號。,,,8255A的應(yīng)用實(shí)例,42,采用查詢控制方式(方式0)的接口PA口作為向打印機(jī)輸出的數(shù)據(jù)口,PC0產(chǎn)生控制信號STB,PC7讀取外設(shè)狀態(tài)BUSY,端口地址為90H~93H。從內(nèi)存2000H:3000H開始取出100個數(shù)據(jù)送打印機(jī)打印的控制程序?yàn)椋?8255A的應(yīng)用實(shí)例,43,MOVAX,2000HMOVDS,AXMOVBX,3000HMOVCX,100MOVAL,10001000BOUT93H,ALLOP:INAL,92HTESTAL,80HJNZLOP,8255A的應(yīng)用實(shí)例,44,MOVAL,[BX]OUT90H,ALMOVAL,01HOUT92H,ALMOVAL,00HOUT92H,ALMOVAL,01HOUT92H,ALINCBXLOOPLOPMOVAH,4CHINT21H,,8255A的應(yīng)用實(shí)例,45,例6-5鍵盤接口兩類鍵盤:簡單鍵盤和矩陣結(jié)構(gòu)鍵盤。矩陣結(jié)構(gòu)鍵盤又有編碼鍵盤和非編碼鍵盤。編碼鍵盤能自動提供對應(yīng)于被按鍵的編碼信息,如ASCII碼,并能同時產(chǎn)生一個選通脈沖通知微處理器。非編碼鍵盤由一組開關(guān)組成,提供行和列的鍵盤矩陣。其全部工作,包括按鍵的識別、按鍵代碼的產(chǎn)生、防止串鍵和消去抖動等問題,都靠程序來實(shí)現(xiàn)。,8255A的應(yīng)用實(shí)例,46,最簡單的線性結(jié)構(gòu)鍵盤每一個引腳連接一個鍵輸入0/1反映健是否高低,◆簡易鍵盤的工作原理,8255A的應(yīng)用實(shí)例,47,常用的矩陣結(jié)構(gòu)鍵盤每行連接一個引腳每列連接一個引腳,◆常用的矩陣結(jié)構(gòu)鍵盤,8255A的應(yīng)用實(shí)例,48,(1)鍵盤輸入信息的過程:①檢測是否有鍵按下;②查出按下的是哪一個鍵;③將該鍵所代表的信息翻譯成計算機(jī)能識別的內(nèi)部代碼,設(shè)有mn個鍵:m行——由輸出口控制n列——由輸入口讀入,當(dāng)某行輸出為低電平時:有鍵按下——某列輸入低電平無鍵按下——某列輸入高電平,8255A的應(yīng)用實(shí)例,49,,(2)非編碼鍵盤的鍵碼識別方法為了識別鍵盤上的閉合鍵,常用的鍵碼識別方法有行掃描法。,8255A的應(yīng)用實(shí)例,50,(3)8255A作矩陣結(jié)構(gòu)鍵盤接口的實(shí)例,8255A的應(yīng)用實(shí)例,,51,使用行掃描方式尋找按下鍵的編號(鍵號)的程序如下:…PORTAEQU0FFF8HPORTBEQU0FFFAHPORTCEQU0FFFCHPORTCNEQU0FFFEHMOVDX,PORTCNMOVAL,10000010BOUTDX,ALWAITK:MOVDX,PORTAMOVAL,0OUTDX,AL,8255A的應(yīng)用實(shí)例,52,MOVDX,PORTBINAL,DXCMPAL,0FFHJZWAITKMOVBL,0;置鍵號初值MOVBH,11111110B;置行掃描初值MOVCX,8;置掃描計數(shù)器初值FNDROW:MOVAL,BH;輸出行掃描值MOVDX,PORTAOUTDX,ALROLBH,1;修改下次行掃描值MOVDX,PORTB;讀列值INAL,DX,8255A的應(yīng)用實(shí)例,53,CMPAL,0FFHJNZFNDCOLADDBL,8LOOPFNDROWJMPDONEFNDCOL:RORAL,1JNCRIGHTINCBLJMPFNDCOLRIGHT:……DONE…,8255A的應(yīng)用實(shí)例,54,共陽極,共陰極,3、七段LED顯示器接口,◆LED數(shù)碼管的結(jié)構(gòu),8255A的應(yīng)用實(shí)例,55,(1)單個8段LED數(shù)碼管的顯示,8255A的應(yīng)用實(shí)例,56,(2)8255A作8個8段LED顯示器接口,,8255A的應(yīng)用實(shí)例,程序?qū)崿F(xiàn):8個數(shù)碼管分別顯示0~7。,57,程序如下:,DATASEGMENTTABLEDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,80HMODDX,PORTCLOUTDX,AL,8255A的應(yīng)用實(shí)例,58,LOP0:LEABX,TABLEMOVCX,8MOVAL,7FHLOP1:OUTPORTA,ALMOVDL,ALMOVAL,[BX]OUTPORTB,ALCALLDELAYINCBXRORDL,1MOVAL,DLLOOPLOP1JMPLOP0,MOVAH,4CHINT21HCODEENDSENDSTART,8255A的應(yīng)用實(shí)例,59,60,ThankYou!,,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 匯編語言 微機(jī) 第六
鏈接地址:http://m.italysoccerbets.com/p-3257166.html