版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
會(huì)計(jì)學(xué)1第七并行接口1.8255A的基本特性具有兩個(gè)8位(A口和B口)和兩個(gè)4位(C口高/低4位)并行I/O端口的接口芯片。能適應(yīng)CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求??蓤?zhí)行功能很強(qiáng),內(nèi)容豐富的命令(方式字和控制字)為用戶如何根據(jù)外界條件(I/O設(shè)備需要哪些信號線以及它能提供哪些狀態(tài)線)來使用8255A構(gòu)成多種接口電路,組成微機(jī)應(yīng)用系統(tǒng)提供了靈活方便的編程環(huán)境。PC口的使用比較特殊,除作數(shù)據(jù)口外,當(dāng)工作在1方式和2方式時(shí),它的大部分引腳被分配作專用聯(lián)絡(luò)信號;PC口可以進(jìn)行按位控制;在CPU讀取8255A狀態(tài)時(shí),PC口又作1,2方式的狀態(tài)口用,等等。第1頁/共54頁8255芯片內(nèi)部主要由控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄器組成。2.8255A的外部引線與內(nèi)部結(jié)構(gòu)
8255A是一個(gè)單+5V電源供電,40個(gè)引腳的雙列直插式組件,其外部引線如圖7.1所示。(1)外部引腳①與系統(tǒng)總線的連接信號面向數(shù)據(jù)總線的有:
D0~D7:雙向數(shù)據(jù)線,用于CPU向8255A發(fā)送命令、數(shù)據(jù)和8255A向CPU回送狀態(tài)、數(shù)據(jù)和8255A向CPU回送狀態(tài)、數(shù)據(jù)。面向地址總線的有:第2頁/共54頁圖7.18255A引腳
RD:讀信號,低電平有效。WR:寫信號,低電平有效。RESET:復(fù)位信號,高電平有效。它清除控制寄存器并將8255A的A、B、C三個(gè)端口均置為輸入方式;輸入寄存器和狀態(tài)寄存器被復(fù)位,并且屏蔽中斷請求;24條面向外設(shè)信號線呈現(xiàn)高阻懸浮狀態(tài)。12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB7PB5PB4PB3PB8D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A第3頁/共54頁②與外部設(shè)備的連接信號
PA0~PA7:端口A的輸入/輸出線。
PB0~PB7:端口B的輸入/輸出線。
PC0~PC7:端口C的輸入/輸出線。這24根信號線均可用來連接I/O設(shè)備和傳送信息。其中,A口和B口只作輸入/輸出的數(shù)據(jù)口用,盡管有時(shí)也利用它們從I/O設(shè)備讀取一些狀態(tài)信號,如打印機(jī)的“忙”(Busy)狀態(tài)信號、A/D轉(zhuǎn)換器的“轉(zhuǎn)換結(jié)束”(EOC)狀態(tài)信號,但對A口和B口來說,都是作8255A的數(shù)據(jù)口讀入,而不是作8255A的狀態(tài)口讀入的。第4頁/共54頁C口的作用與8255A的工作方式有關(guān),它除了作數(shù)據(jù)口以外,還有其他用途,故C口的使用比較特殊,單獨(dú)介紹如下:
a.作數(shù)據(jù)口。
b.作狀態(tài)口。
c.作專用(固定)聯(lián)絡(luò)(握手)信號線。
d.作按位控制用。(2)內(nèi)部結(jié)構(gòu)8255A的內(nèi)部結(jié)構(gòu)如圖7.2所示。它由以下4個(gè)部分組成。第5頁/共54頁A組控制數(shù)據(jù)總線緩沖器讀/寫控制邏輯B組控制A組A口(8位)A組C口高位(4位)B組C口低位(4位)B組B口(8位)D0~D7RDRDA1A0RESETRDPA0~PA7PC4~PC7PC0~PC3PB0~PB7圖7.28255A內(nèi)部框圖第6頁/共54頁①數(shù)據(jù)總線緩沖器。這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與CPU系統(tǒng)數(shù)據(jù)總線的接口。②讀/寫控制邏輯。讀/寫控制邏輯由讀信號RD、寫信號WR、選片信號CS以及端口選擇信號A1A0等組成。③輸入/輸出端口A、B、C。8255A包括3個(gè)8位輸入輸出端口(port)。每個(gè)端口都有一個(gè)數(shù)據(jù)輸入寄存器和一個(gè)數(shù)據(jù)輸出寄存器。④A組和B組控制電路??刂艫、B和C三個(gè)端口的工作方式。第7頁/共54頁CSA1A0RDWR讀操作內(nèi)容PC系統(tǒng)實(shí)驗(yàn)平臺(tái)00001PA口→數(shù)據(jù)總線(→CPU)數(shù)據(jù)60H300H00101PB口→數(shù)據(jù)總線(→CPU)數(shù)據(jù)61H301H01001PC口→數(shù)據(jù)總線(→CPU)數(shù)據(jù)62H302H寫操作00010PA口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)60H300H00110PB口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)61H301H01010PC口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)62H302H01110控制寄存器←數(shù)據(jù)總線控制字63H303H無操作情況1××××總線懸?。ㄈ龖B(tài))0××11總線懸浮01101控制口不能讀63H303H表7.18255A基本操作與端口地址第8頁/共54頁二、8255A的編程命令1.方式命令作用:指定8255A的工作方式及其方式下3個(gè)并行端口(PA、PB、PC)的功能,是作輸入還是作輸出。格式:8位,其中最高位是特征位,一定要寫1,其余各位定義如下,應(yīng)根據(jù)用戶的設(shè)計(jì)要求填寫1或0。1D6D5D4D3D2D1D0特征位A組方式00=0方式01=1方式10=2方式11=不用PA0=輸出1=輸入PC4~70=輸出1=輸入B組方式0=0方式1=1方式PB0=輸出1=輸入PC0~30=輸出1=輸入第9頁/共54頁例1:
要把A口指定為1方式,輸入,C口上半部為輸出;B組指定為0方式,輸出,C口下半部定為輸入,則工作方式命令代碼是:10110001B或B1H。若將此命令代碼寫到8255A的命令寄存器,即實(shí)現(xiàn)了對8255A工作方式及端口功能的指定,或者說完成了對8255A的初始化。初始化的程序段為:
MOVDX,303H;8255A命令口地址
MOVAL,0B1H;初始化命令
OUTDX,AL;送到命令口第10頁/共54頁2.按位置位/復(fù)位命令作用:指定PC口的某一位(某一個(gè)引腳)輸出高平或低電平。格式:8位,其中最高位是特征位,一定要寫0,其余各位的定義如下,應(yīng)根據(jù)用戶的設(shè)計(jì)要求填寫1或0.0D6D5D4D3D2D1D0特征位
不用(寫0)位選擇000=C口0位001=C口1位…111=C口7位1=置位(高電平)0=復(fù)位(低電平)第11頁/共54頁例2:若要把C口的PC2引腳置成高電平輸出,則命令字應(yīng)該為00000101B或05H。將該命令的代碼寫入8255A的命令寄存器,就會(huì)使得從PC口的PC2引腳輸出高電平,其程序段為:
MOVDX,303H;8255A命令口地址
MOVAL,05H;使PC2=1的命令字
OUTDX,AL;送到命令口如果要使引腳PC2輸出低電位,則程序段為:
MOVDX,303H;8255A命令口地址
MOVAL,04H;使PC2=0的命令字
OUTDX,AL
;送到命令口第12頁/共54頁
利用C口的按位控制特性還可以產(chǎn)生、負(fù)脈沖或方波輸出,對外設(shè)進(jìn)行控制。例3:利用8255A的PC7產(chǎn)生負(fù)脈沖,作打印機(jī)接口電路的數(shù)據(jù)選通信號,其程序段為:
MOVDX,303H;8255A命令口
MOVAL,00001110B;置PC7=0OUTDX,ALNOP;維持低電平
NOPMOVAL,00001111B;置PC7=1OUTDX,AL第13頁/共54頁3.關(guān)于兩個(gè)命令的討論①方式命令是對8255A的3個(gè)端口的工作方式及功能進(jìn)行指定,即進(jìn)行初始化,初始工作要在使用8255A之前做。②按位置位/復(fù)位命令只是對PC口的輸出進(jìn)行控制,使用它產(chǎn)不破壞已經(jīng)建立的3種工作方式,而是對它們實(shí)現(xiàn)動(dòng)態(tài)控制的一種支持。它可放在初始化程序以后的任何地方。③兩個(gè)命令的最高位(D7)都分配作了特征位,之所以要設(shè)置特征位,是為了識(shí)別兩個(gè)不同的命令。④按位置位/復(fù)位的命令代碼只能寫入命令口。這個(gè)問題常有人弄錯(cuò)。第14頁/共54頁4.A口和B口另一個(gè)有趣的使用方法
A口、B口也可以按位輸出高低電平,但是,它與前面的按位置位/復(fù)位命令有本質(zhì)的差別,并且實(shí)現(xiàn)的方法也不同,。C口按位輸出是以送數(shù)據(jù)到A口、B口來實(shí)現(xiàn)的。其具體作法是:若要使某一位置高電平,則先對端口進(jìn)行讀操作,將讀入的原輸出值,“或”上一個(gè)字節(jié),字節(jié)中使該位為1,其他位為0,然后再送到同一端口,即可使該位為0,然后再送到同一端口,即可使該位置位。
10101010OR
00000001
1010101110101011AND1111111010101010第15頁/共54頁例5:若要使PA7位輸出高/低電平,則用下列程序段:使PA7輸出高電平.
MOVDX,300H;PA數(shù)據(jù)口地址
INAL,DX;讀入A口原輸出內(nèi)容
MOVAH,AL;保存原輸出內(nèi)容
ORAL,80H;使PA7=1OUTDX,AL;輸出PA7┇MOVAL,AH;恢復(fù)原輸出內(nèi)容
OUTDX,AL第16頁/共54頁使PA7輸出低電平MOVDX,300H;A口地址INAL,DX;讀入端口原輸出值MOVAH,AL;保存原輸出值ORAL,7FH;使PA7=0OUTDX,AL;輸出PA7┇MOVAL,AH;恢復(fù)原輸出內(nèi)容OUTDX,AL第17頁/共54頁三、8255A的工作方式
8255A的工作方式與端口有關(guān),PA口有三種方式(0方式、1方式、2方式),PB口和PC口只有兩種方式(0方式、1方式)。7.38255A的0方式及其應(yīng)用一、特點(diǎn)0方式是一種基本輸入/輸出工作方式。通常不用聯(lián)絡(luò)信號,或不使用固定的聯(lián)絡(luò)信號?;綢/O方式是指查詢方式傳送,也包括無條件傳送。第18頁/共54頁在0方式下,彼此獨(dú)立的兩個(gè)8位和兩個(gè)4位并行口,都能被指定作為輸入或者輸出用,共有16種不同的使用狀態(tài)。在0方式下不設(shè)置專用聯(lián)絡(luò)信號線,需要聯(lián)絡(luò)時(shí),可由用戶任意指定C口中的哪根線完成某種聯(lián)絡(luò)功能,這與后面要討論的在1方式、2方式下設(shè)置固定的專用聯(lián)絡(luò)信號線不同。是單向I/O,一次初始化只能指定端口(PA、PB和PC)作輸入或輸出,不能指定端口同時(shí)既作輸入又作輸出。二、并行打印機(jī)接口設(shè)計(jì)1.要求為某應(yīng)用系統(tǒng)配置一個(gè)并行打印機(jī)接口,并且通過接口CPU采用查詢方式把存放在BUF緩沖區(qū)的256個(gè)字(ASCII碼)送去打印。
第19頁/共54頁2.分析由于打印接口直接面向的對象是打印機(jī)接口標(biāo)準(zhǔn),而不是打印機(jī)本身,因此打印機(jī)接口要按照接口標(biāo)準(zhǔn)的要求進(jìn)行設(shè)計(jì)。有關(guān)打印機(jī)接口標(biāo)準(zhǔn)Centronics的信號線定義和工作時(shí)序見8.14。DATA0~DATA7STROBEBUSYACK圖8.14并行打印機(jī)接口數(shù)據(jù)傳送時(shí)序第20頁/共54頁過程:采用查詢方式時(shí),打印機(jī)與CPU之間傳送數(shù)據(jù)的過程是:①首先查詢BUSY。若BUSY=1,打印機(jī)忙,則等待;若BUSY=0,打印機(jī)不忙,則送數(shù)據(jù)。②通過并行接口把數(shù)據(jù)送給標(biāo)準(zhǔn)插座DATABIT1~DATABIT8
數(shù)據(jù)線上,此時(shí)數(shù)據(jù)并未送入打印機(jī)。③再送出一個(gè)數(shù)據(jù)選通信號DATASTROBE-(負(fù)脈沖)給標(biāo)準(zhǔn)插座的1號引腳,把數(shù)據(jù)線上的數(shù)據(jù)打入到打印機(jī)的內(nèi)部緩沖器。④打印機(jī)在收到數(shù)據(jù)后,通過插座的11號引肢發(fā)出“忙”(BUSY=1)信號,表明打印機(jī)正在處理輸入的數(shù)據(jù)。⑤最后在10號引腳上送出一個(gè)回答信號ACK-給主機(jī),表示上一個(gè)字符已經(jīng)處理完畢。第21頁/共54頁3.設(shè)計(jì)接口電路的設(shè)計(jì)包括硬件接口電路和軟件驅(qū)動(dòng)程序兩部分。①打印機(jī)接口電路。打印機(jī)接口電路原理框圖如圖7.3所示。該電路的設(shè)計(jì)思路是:按照Centronicss標(biāo)準(zhǔn)對打印機(jī)接口信號線的定義,最基本的信號線需要8根數(shù)據(jù)線(DATABIT1~8)CPU
PA0~7PC7PC2地
地BUSYSTBDATA0~71112~98255A打印機(jī)插座圖7.38255A并行打印機(jī)接口電路框圖第22頁/共54頁1根控制線(STB),1根狀態(tài)線(BUSY)和1根地線。選用8255A的PA口作數(shù)據(jù)口輸出8位打印數(shù)據(jù),工作方式為0方式。②接口驅(qū)動(dòng)程序。其程序流程圖如右圖所示。驅(qū)動(dòng)程序的程序段如下:結(jié)束8255A初始化BUSY=0?送數(shù)送STB內(nèi)存+1字節(jié)數(shù)-1送完?開始YNYN第23頁/共54頁CODESEGMENTASSUMECS:CODE,DS:CODEORG100HSTART:
MOVAX,CODEMOVCS,AXMOVDS,AXMOVDX,303H;8255A命令口
MOVAL,10000001B;工作方式字
OUTDX,AL;(A口0方式,輸出,C4~C7
輸出,C0~C3輸入)第24頁/共54頁MOVAL,00001111B;PC0位置高,使STB--=1OUTDX,ALMOVSI,OFFSETBUF;打印字符內(nèi)存首地址MOVCX,OFFH;打印字符個(gè)數(shù)MOVDX,302H;PC口地址INAL,DX;查BUSY=0?(PC2=0)ANDAL,04H;00000100BJNZL;忙,則等待;不忙,則向A口送數(shù)MOVDX,300H;PA口地址MOVAL,[SI];從內(nèi)存取數(shù)OUTDX,AL;送數(shù)據(jù)到A口MOVAL,303H;8255A命令口MOVAL,00001110B;置STB-信號為低(PC7=0)L:第25頁/共54頁OUTDX,ALNOP ;負(fù)脈沖寬度(延時(shí))NOPMOVAL,00001111B;置STB-為高(PC7=1)OUTDX,ALINCSI;內(nèi)存地址加1DECCX;字符數(shù)減1JNZL;未完,繼續(xù)MOVAX,4C00H;已完,退出INT21HBUFDB256個(gè)ASCII字符代碼CODEENDSENDSTART第26頁/共54頁三、步進(jìn)電機(jī)控制接口設(shè)計(jì)1.要求;2.分析(1)步進(jìn)電機(jī)控制原理步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)換成角位移的一種機(jī)電式數(shù)模轉(zhuǎn)換器。步進(jìn)電機(jī)旋轉(zhuǎn)的角位移與輸入脈沖的個(gè)數(shù)據(jù)成正比;步進(jìn)電機(jī)的轉(zhuǎn)速與輸入脈沖的頻率成正比;步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向號輸入脈沖對繞組加電的順序有關(guān)。因此,步進(jìn)電機(jī)旋轉(zhuǎn)的角位移、轉(zhuǎn)速以及方向均受輸入脈沖的控制。(2)運(yùn)行方式與方向的控制-----循環(huán)查表法步進(jìn)電機(jī)的運(yùn)行方式是指各相繞組循環(huán)輪流通電的方式。如四相步進(jìn)電機(jī)有單四拍A→B→C→D、雙四拍AB→BC→CD→DA、單雙八拍AB→B→BC→C→CD→D→DA→A和雙八拍AB→ABC→BC→BCD→CD→CDA→DA→DAB幾種方式。第27頁/共54頁ABCDABCDD0D1D2D3A—AB—B—BC—C—CD—D—DA-D C B AD3 D2 D1 D00 0 0 10 0 1 10 0 1 00 1 1 00 1 0 01 1 0 01 0 0 01 0 0 1AABBBCCCDDDA第28頁/共54頁
為了實(shí)現(xiàn)對各繞組按一定方式輪流加電,需要一個(gè)脈沖循環(huán)分配器。循環(huán)分配器可用硬件電路來實(shí)現(xiàn)(在此不介紹),也可用軟件來實(shí)現(xiàn)。采用軟件來設(shè)計(jì)脈沖循環(huán)分配器,又有兩種方法:控制字法和循環(huán)查表法。循環(huán)查表法是將各繞組加電順序的控制代碼制成一張表------步進(jìn)電機(jī)相序表,存放在內(nèi)存區(qū),再設(shè)置一個(gè)地址指針。相序表的建立,要考慮兩個(gè)因素:一是應(yīng)根據(jù)步進(jìn)電機(jī)運(yùn)行方式的要求;二是步進(jìn)電機(jī)的各相繞組與數(shù)據(jù)線連接的對應(yīng)關(guān)系。(3)步進(jìn)電機(jī)運(yùn)行速度的控制------軟件延時(shí)法控制步進(jìn)電機(jī)速度有兩個(gè)途徑:一是硬件改變輸入脈沖的頻率,通過對定時(shí)器(如:8253)定時(shí)常數(shù)的設(shè)定,使其升頻、降頻或恒頻。二是軟件延時(shí),或調(diào)用延時(shí)子程序。第29頁/共54頁(4)步進(jìn)電機(jī)的驅(qū)動(dòng)步進(jìn)電機(jī)在系統(tǒng)中是一種執(zhí)行元件,都要帶負(fù)載,因此需要功率驅(qū)動(dòng)。在電子儀器和設(shè)備中,一般所需功率較小,常采用達(dá)林頓復(fù)合管作功率驅(qū)動(dòng)。驅(qū)動(dòng)原理如圖7.5所示。TIP122+12VA圖7.5步進(jìn)電機(jī)驅(qū)動(dòng)原理圖3.設(shè)計(jì)包括硬件電路與軟件編程兩部分。(1)硬件設(shè)計(jì)步進(jìn)電機(jī)接口的硬件部分主要是提供輸送相序代碼的并行數(shù)據(jù)線(8根),以及保護(hù)電機(jī)繞組的器件。其原理如圖7.6所示。第30頁/共54頁8255APB0PB2PB4PB6PC7PC0ABCD+12V+5V1D3D5D7D1Q3Q5Q7QGECPUSW10K+5V圖7.6步進(jìn)電機(jī)控制接口原理74LS373TIP122×4第31頁/共54頁(2)軟件設(shè)計(jì)(見P149~P150)7.48255A的1方式及其應(yīng)用一、特點(diǎn)①1方式是一種選通輸入/輸出方式或叫應(yīng)答方式,因此,需設(shè)置專用的聯(lián)絡(luò)信號線或應(yīng)答信號線,以便對I/O設(shè)備和CPU兩側(cè)進(jìn)行聯(lián)絡(luò)。這種方式通常用于查詢(條件)傳送或中斷傳送。數(shù)據(jù)的輸入輸出都有鎖存功能。②PA和PB為數(shù)據(jù)口,而PC口的大部分引腳分配作專用(固定)的聯(lián)絡(luò)信號的C口引腳,用戶不能再指定作其他作用。③各聯(lián)絡(luò)信號線之間有固定的時(shí)序關(guān)系,傳送數(shù)據(jù)時(shí),要嚴(yán)格按照時(shí)序進(jìn)行。第32頁/共54頁④輸入/輸出操作過程中,產(chǎn)生固定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請求之用。狀態(tài)字從PC口讀取。⑤單向傳送。一次初始化只能設(shè)置在一個(gè)方向上傳送,不能同時(shí)作兩個(gè)方向的傳送。二、1方式下聯(lián)絡(luò)信號線的定義及其時(shí)序1方式下輸入的聯(lián)絡(luò)信號線定義及時(shí)序(1)聯(lián)絡(luò)信號的定義因?yàn)檩斎胧菑腎/O設(shè)備向8255A送數(shù)據(jù)進(jìn)來,所以I/O設(shè)備應(yīng)先把數(shù)據(jù)準(zhǔn)備好,并送到8255A,然后CPU再從8255A讀取數(shù)據(jù)。這個(gè)傳遞過程中需要使用一些聯(lián)絡(luò)信號線。所以當(dāng)A口和B口為輸入時(shí),各指定了C口的3根線作為8255A與外設(shè)及CPU之間應(yīng)答信號,如圖7.8所示。
STB-:外設(shè)給8255A的“輸入選通”信號,低電平有效。第33頁/共54頁圖7.81方式輸入時(shí)聯(lián)絡(luò)信號線定義IBF:8255A給外設(shè)的回答信號“輸入緩沖器滿”,高電平有效。INTR:8255A給CPU的“中斷請求”信號,高電平有效。&PC4PC5PC3INTEAPA7~0PC6,7RDI/O2INTRAIBFASTBA81方式輸入(端口A)&PC2PC1CP0INTEBPB7~0RD2INTRBIBFBSTBB81方式輸入(端口B)第34頁/共54頁(2)1方式輸入的工作時(shí)序
1方式的工作時(shí)序如圖7.9和表7.3所示。其信號交接過程如下:tpstSTtSTBtSITtRITtRIBtPHSTBRDIBFINTR來自外設(shè)的輸入數(shù)據(jù)圖7.91方式輸入時(shí)工作時(shí)序圖第35頁/共54頁①數(shù)據(jù)輸入時(shí),外設(shè)處于主動(dòng)地位,當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù)并放到數(shù)據(jù)線上后,首先發(fā)STB信號,由它把數(shù)據(jù)輸入到255A。②在STB的下降沿約300ns,數(shù)據(jù)已鎖存到8255A的緩沖器后,引起IBF變高,表示8255A的“輸入緩沖器滿”,禁止輸入新數(shù)據(jù)。
表7.31方式輸入工作時(shí)序表符號參數(shù)8255A單位MINMAXtSTSTB脈沖寬度500nstSTBSTB=0至IBF=1300nstSITSTB=1到INTR=1300nstRIBRD=1到IBF=0300nstRITRD=0到INTR=0400nsTPS數(shù)據(jù)提前STB無效的時(shí)間0nstPH數(shù)據(jù)保持時(shí)間180ns第36頁/共54頁③在STB的上升沿約300ns后,在中斷允許(INTE=1)的情況下IBF的高電平產(chǎn)生中斷請求,使INTR上升變高,通右CPU,接口中已有數(shù)據(jù),請求CPU讀取。④CPU得知INTR信號有效之后,執(zhí)行讀操作時(shí),RD信號的下降沿使INTR復(fù)位,撤消中斷請求,為下一次中斷請求作好準(zhǔn)備。從上述分析,可知在1方式下,數(shù)據(jù)從I/O設(shè)備發(fā)出,通過8255A,送到CPU的整個(gè)過程有如下4步:CPU8255AI/O設(shè)備①STB③INTR②IBF④RD第37頁/共54頁2.1方式下輸出的聯(lián)絡(luò)信號線定義及時(shí)序(自學(xué))(1)聯(lián)絡(luò)信號的定義WR&PC7PC6PC3INTEAPA7~0PC4,5I/O2INTRAACKAOBFA8&PC1PC2PC0INTEAPA7~0WRINTRBACKBOBFB81方式輸出(端口A)1方式輸出(端口B)圖7.101方式輸出時(shí)聯(lián)絡(luò)信號線定義第38頁/共54頁(2)1方式輸出的工作時(shí)序1方式輸出的工作時(shí)序,如圖7.11所示。tWOBtWITtAOBtAKtAITtWBWRINTROBFACK輸出圖7.111方式輸出時(shí)工作時(shí)序第39頁/共54頁
其信號交接的過程如下:①數(shù)據(jù)輸出時(shí),CPU應(yīng)先準(zhǔn)備如數(shù)據(jù),并把數(shù)據(jù)寫到8255A輸出數(shù)據(jù)寄存器。當(dāng)CPU向8255A寫完一個(gè)數(shù)據(jù)后,WR的上升沿使OBF有效,表示8255A的輸出緩沖器已滿,通知外設(shè)讀取數(shù)據(jù)。并且WR使中斷請求INTR變低,封鎖中斷請求。②外設(shè)得到OBF有效的通知后,開始讀數(shù)。當(dāng)外設(shè)讀取數(shù)據(jù)后,用ACK回答8255A,表示數(shù)據(jù)已收到。③ACK的下降沿將OBF置高,使OBF無效,表示輸出緩沖器變空,為下一次輸出作準(zhǔn)備,在中斷允許(INTE=1)的情況下ACK上升沿使INTR變高,產(chǎn)生中斷請求。CPU響應(yīng)中斷后,在中斷服務(wù)程序中,執(zhí)行OUT指令,向8255A寫下一個(gè)數(shù)據(jù)。第40頁/共54頁
從上述分析,在1方式下,數(shù)據(jù)從CPU,通過8255A送到I/O設(shè)備有4步:CPU8255AI/O設(shè)備①WD③ACK②OBF④INTR三、1方式的狀態(tài)字狀態(tài)字的作用
在1方式下8255A有固定的狀態(tài)字。狀態(tài)字為查詢方式提供了狀態(tài)標(biāo)志位,如IBF和OBF,同時(shí),由于8255A不能直接中斷矢量,因此當(dāng)8255A采用中斷方式時(shí),CPU也要通過讀狀態(tài)字來確定中斷源,實(shí)現(xiàn)查詢中斷。第41頁/共54頁2.狀態(tài)字的格式狀態(tài)字的格式如圖7.12所示。D7D6D5D4D3D2D1D0A組狀態(tài)B組狀態(tài)I/OI/OIBFAINTEAINTRAPC7PC6PC5PC4PC3OBFAINTEAI/OI/OINTRAPC7PC6PC5PC4PC3INTEBIBFBINTRBPC2PC1PC0
輸入時(shí)
輸出時(shí)INTEBOBFBINTRBPC2PC1PC0圖7.121方式的狀態(tài)字第42頁/共54頁狀態(tài)字有8位,分A和B兩組,A組狀態(tài)位占高5位,B組狀位占低3位,并且輸入和輸出時(shí)的狀態(tài)字不相同。3.使用狀態(tài)字時(shí)要注意的幾個(gè)問題①狀態(tài)字是在8255A輸入/輸出操作過程中由內(nèi)部產(chǎn)生,從C口讀取的,因此從C口讀出的狀態(tài)字是獨(dú)立于C口的外部引腳的,或者說與C口的外部引腳無關(guān)。②狀態(tài)字中供CPU查詢的狀態(tài)位有:輸入時(shí)------IBF位和INTR位;輸出------OBF位和INTR位。③狀態(tài)字中的INTE位,是控制標(biāo)志位,是控制標(biāo)志位,控制8255A能否提出中斷請求,因此它不是I/O操作過程中自動(dòng)產(chǎn)生的狀態(tài),而是由程序通過按位置位/復(fù)位命令來設(shè)置或清除的。第43頁/共54頁例1:若允許PA口輸入時(shí),產(chǎn)生中斷請求,則必須設(shè)置INTEA=1,即置PC4=1;若禁止它產(chǎn)生中斷請求,則置INTEA=0,即置PC4=0,其程序段為:
MOVDX,303H;8255A命令口
MOVAL,00001010B;置PC4=1,允許中斷請求
OUTDX,ALMOVAL,00001000B;置PC4=0,禁止中斷請求
OUTDX,AL五、兩種方式并行傳送接口設(shè)計(jì)1.要求
在甲乙兩臺(tái)微機(jī)之間并行傳送1K字節(jié)數(shù)據(jù)。甲機(jī)發(fā)送,機(jī)接收。甲機(jī)一側(cè)的8255A采用1方式工作,乙機(jī)一側(cè)的8255A采用0方式工作。兩機(jī)的CPU與接口之間都采用查詢第44頁/共54頁方式交換數(shù)據(jù)。2.分析雙機(jī)均采用可編程并行接口芯片8255A構(gòu)成接口電路,只是8255A的工作方式不同。此時(shí),雙方的8255A把對方視為I/O設(shè)備。3.設(shè)計(jì)(1)硬件連接根據(jù)上述要求,接口電路的連接如圖7.13所示。(2)軟件編程接口驅(qū)動(dòng)程序包含發(fā)送與接收兩個(gè)程序。其程序流程圖如7.14所示。第45頁/共54頁0方式1方式8255APA0~7PC7PC3PC4~6PC0~2PC0~7PA0~7PC7PC6PC4~6PC0~2PC0~7未用8255A甲(發(fā)送)CPU乙(接收)CPUACKOBF圖7.13兩種方式的并行傳送接口電路框圖第46頁/共54頁甲機(jī)發(fā)送程序段:MOVDX,303H;8255A命令口MOVAL,10100000B;初始化工作方式字OUTDX,ALMOVAL,0DH;置發(fā)送中斷允許INTEA=1OUTDX,AL;PC6=1MOVSI,OFFSETBUFS;設(shè)置發(fā)送數(shù)據(jù)區(qū)的指針MOVCX,3FFH;發(fā)送字節(jié)數(shù)MOVDX,300H;向A口寫第一個(gè)數(shù),產(chǎn)生第一個(gè)OBF-信號MOVAL,[SI];送給乙方,以便獲取乙方的ACK-信號OUTDX,AL第47頁/共54頁
INCCX;內(nèi)存地址加1DECCX;傳送字節(jié)數(shù)減1L:MOVDX,302H;8255A狀態(tài)口
INL,DX;查發(fā)送斷請求INTRA=1?
ANDAL,08H;PC3=1?
JZL;若無中斷請求,則等待;;若有中斷請求,則向A口寫數(shù)
MOVDX,300H
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鋁合金防火門窗行業(yè)規(guī)模分析及投資前景研究報(bào)告
- 2025-2030年中國鋼材加工配送中心行業(yè)十三五規(guī)劃及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國超聲波折疊人體秤行業(yè)市場發(fā)展?fàn)顩r及投資前景規(guī)劃研究報(bào)告
- 2025-2030年中國營養(yǎng)飲品市場現(xiàn)狀調(diào)研與前景規(guī)模預(yù)測報(bào)告
- 2025-2030年中國自動(dòng)電梯扶手帶行業(yè)前景規(guī)劃及投資決策建議研究報(bào)告
- 2025-2030年中國窄軌機(jī)車車輛制造市場深度調(diào)研及發(fā)展趨勢分析報(bào)告
- 2025-2030年中國礦棉板行業(yè)市場發(fā)展動(dòng)態(tài)及投資規(guī)劃研究報(bào)告
- 2025-2030年中國短發(fā)動(dòng)機(jī)行業(yè)調(diào)查及未來發(fā)展趨勢報(bào)告新版
- 2025-2030年中國電熔氧化鋯制品行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國玻璃鋼管道程行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景預(yù)測報(bào)告
- 貨運(yùn)企業(yè)2025年度安全檢查計(jì)劃
- 以發(fā)展為導(dǎo)向共創(chuàng)教育新篇章-2024年期末校長總結(jié)講話稿
- 2025年焊工安全生產(chǎn)操作規(guī)程(2篇)
- 土壤肥料全套課件
- 畢業(yè)生延期畢業(yè)申請表
- 學(xué)校6S管理制度
- 肽的健康作用及應(yīng)用課件
- T.C--M-ONE效果器使用手冊
- 8小時(shí)等效A聲級計(jì)算工具
- 人教版七年級下冊數(shù)學(xué)計(jì)算題300道
- 社會(huì)實(shí)踐登記表
評論
0/150
提交評論