




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、習(xí)題五1 接口電路與外部設(shè)備之間傳送的信號(hào)有哪幾種? 傳輸方向怎樣?數(shù)據(jù)信號(hào):對(duì)于輸入設(shè)備,數(shù)據(jù)信號(hào)從外設(shè)通過(guò)接口送往總線,對(duì)于輸出設(shè)備,數(shù)據(jù)信號(hào)從總線通過(guò)接口發(fā)往外部設(shè)備。狀態(tài)信號(hào):狀態(tài)信號(hào)表明外部設(shè)備當(dāng)前的工作狀態(tài),用來(lái)協(xié)調(diào)CPU 與外部設(shè)備之間的操作。狀態(tài)信號(hào)總是從外部設(shè)備通過(guò)接口發(fā)往總線??刂菩盘?hào):控制信號(hào)是CPU 向外設(shè)發(fā)出的命令,它指定設(shè)備的工作方式,啟動(dòng)或停止設(shè)備??刂菩盘?hào)從CPU 通過(guò)接口發(fā)往外部設(shè)備。2 接口電路有哪些功能?哪些功能是必需的?接口電路可以具備:設(shè)備選擇功能、信息傳輸功能、數(shù)據(jù)格式轉(zhuǎn)換功能、聯(lián)絡(luò)功能、中 斷管理功能、復(fù)位功能、可編程功能和錯(cuò)誤檢測(cè)等功能。其中設(shè)備
2、選擇功能和信息傳輸功能是每一個(gè)接口電路所必備的。其他的功能是否需要?jiǎng)t由設(shè)備的特點(diǎn)和工作方式?jīng)Q定。3 I/O端口的編址有哪幾種方法?各有什么利弊?80X86系列CPU采用哪種方法?I/O端口的編址有兩種不同的方式。I/O端口與內(nèi)存統(tǒng)一編址:把內(nèi)存的一部分地址分配給I/O端口,一個(gè)8位端口占用一個(gè)內(nèi)存單元地址。已經(jīng)用于I/O端口的地址,存儲(chǔ)器不能再使用。I/O端口與內(nèi)存統(tǒng)一編址后,訪問(wèn)內(nèi)存儲(chǔ)器單元和I/O端口使用相同的指令,這有助于降 低CPU電路的復(fù)雜性,并給使用者提供方便。但是,I/O端口占用內(nèi)存地址,相對(duì)減少了內(nèi) 存可用范圍。而且,由于難以區(qū)分訪問(wèn)內(nèi)存和I/O的指令,降低了程序的可讀性和可維
3、護(hù)性。I/O端口與內(nèi)存獨(dú)立編址:這種編址方法中,內(nèi)存儲(chǔ)器和I/O端口各自有自己獨(dú)立的地址空間。訪問(wèn)I/O端口需要專門的I/O指令。80x86 CPU采用I/O端口獨(dú)立編址方式。4 按照傳輸信號(hào)的種類,I/O端口有幾種?它們信號(hào)的傳輸方向怎樣?按照傳輸信號(hào)的種類,I/O端口有三種:數(shù)據(jù)端口:數(shù)據(jù)信息從端口輸入 CPU (輸入設(shè)備接口),或者從CPU寫入端口(輸出設(shè) 備接口);狀態(tài)端口:外設(shè)狀態(tài)信息從端口輸入 CPU;控制端口:命令信息從 CPU寫入端口。5 I/O端口譯碼電路的作用是什么?在最小模式和最大模式下分別有哪些輸入信號(hào)?I/O端口譯碼電路用于產(chǎn)生端口的讀寫選擇信號(hào)。在最小模式下,譯碼電
4、路接受來(lái)自總 線的地址信號(hào)(16位),M/IO (= 0), RD或者WR信號(hào)。最大模式下,譯碼電路接受地址 信號(hào)(16位),IOR或者IOW信號(hào)。6 外部設(shè)備數(shù)據(jù)傳送有哪幾種控制方式?從外部設(shè)備的角度,比較不同方式對(duì)外部設(shè)備的 響應(yīng)速度。外部設(shè)備數(shù)據(jù)傳送有以下四種控制方式。直接傳送方式(也稱為無(wú)條件傳送方式、同步傳送方式):這種情況下,外部端口完全被 動(dòng)地等待CPU的訪問(wèn),沒(méi)有確定的響應(yīng)速度,響應(yīng)時(shí)間取決于 CPU忙碌的程度以及程序?qū)?外部設(shè)備控制采取的策略。查詢方式:如果CPU在某一時(shí)刻只對(duì)一個(gè)外設(shè)采用查詢方式進(jìn)行數(shù)據(jù)傳輸,CPU的響應(yīng)延遲約為310個(gè)指令周期。響應(yīng)速度快于中斷方式,慢于
5、DMA方式。中斷方式:CPU的響應(yīng)延遲平均為幾十個(gè)指令周期,慢于查詢方式,但是這種方式可以 同時(shí)管理多個(gè)外部設(shè)備。DMA方式:外部端口的傳輸請(qǐng)求由 DMA控制器響應(yīng),由于DMAC是一個(gè)專用于傳輸控制的電路,任務(wù)單一,不發(fā)生 DMA 傳輸競(jìng)爭(zhēng)時(shí),響應(yīng)延遲僅為12個(gè) DMAC 使用的時(shí)鐘周期,遠(yuǎn)快于中斷方式和查詢方式。7 敘述一次查詢式輸出過(guò)程中,接口內(nèi)各電路、信號(hào)的狀態(tài)變化過(guò)程。一個(gè)數(shù)據(jù)的查詢式輸出過(guò)程由二個(gè)階段組成:CPU 從接口反復(fù)讀取狀態(tài)字:由地址譯碼電路產(chǎn)生狀態(tài)端口選擇信號(hào),該信號(hào)不影響接口內(nèi)部的狀態(tài)。外部設(shè)備輸出完成后,返回 “確認(rèn)” 信號(hào), 該信號(hào)將狀態(tài)寄存器相關(guān)位( READY )
6、置位。如狀態(tài)字表明外設(shè)已處于“就緒”狀態(tài),則向數(shù)據(jù)端口傳送數(shù)據(jù)。由地址譯碼電路產(chǎn)生的數(shù)據(jù)端口選通信號(hào)一方面將數(shù)據(jù)總線上的數(shù)據(jù)寫入數(shù)據(jù)寄存器,同時(shí)清除狀態(tài)寄存器中的相關(guān)位(READY) ,向輸出設(shè)備發(fā)出輸出啟動(dòng)信號(hào)。有的輸出接口設(shè)有控制端口,輸出啟動(dòng)信號(hào)通過(guò)寫控制端口產(chǎn)生。8 比較程序中斷方式和查詢方式的區(qū)別,根據(jù)比較,指出中斷工作方式的優(yōu)缺點(diǎn)。中斷方式:外部設(shè)備工作完成后,通過(guò)“中斷請(qǐng)求”信號(hào)“主動(dòng)”向 CPU “報(bào)告”。查詢方式:外部設(shè)備工作完成后,狀態(tài)信號(hào)儲(chǔ)存在接口電路內(nèi),被動(dòng)地等待CPU 來(lái)讀取。根據(jù)上述比較,可以得到中斷工作方式的如下特點(diǎn):優(yōu)點(diǎn):1) CPU 能夠及時(shí)了解外部設(shè)備的狀態(tài)
7、,從而對(duì)外部設(shè)備IO 請(qǐng)求進(jìn)行及時(shí)處理。2) 由于CPU “被動(dòng)”地等待外部設(shè)備的“中斷請(qǐng)求”,外部設(shè)備進(jìn)行輸入髓出操作時(shí), CPU 可以同時(shí)執(zhí)行其他的程序,CPU 和外部設(shè)備“并行”工作。3) 由于同樣的原因,在中斷方式下,CPU 可以同時(shí)管理多臺(tái)外部設(shè)備,CPU 的效率得到提高。缺點(diǎn):4) 用中斷方式需要CPU 增加相應(yīng)的管理邏輯,增加了CPU 電路的復(fù)雜性。5) 由于CPU “被動(dòng)”地接收“中斷請(qǐng)求”信號(hào),CPU必須通過(guò)與外部的一個(gè)聯(lián)絡(luò)過(guò)程才能知道是那一個(gè)設(shè)備在申請(qǐng)中斷,這增加了響應(yīng)時(shí)間。為了從當(dāng)前任務(wù)轉(zhuǎn)移到中斷服務(wù),CPU 必須保護(hù)原有的運(yùn)行環(huán)境,進(jìn)行“任務(wù)”的“切換”,這也會(huì)增加響應(yīng)
8、時(shí)間。6) 有較多的設(shè)備使用中斷方式時(shí),會(huì)產(chǎn)生“中斷申請(qǐng)”的“競(jìng)爭(zhēng)”。這一方面降低了響應(yīng)速度,另一方面增加了管理的復(fù)雜性。9 比較 DMA 方式和程序中斷方式的區(qū)別,根據(jù)比較,指出DMA 工作方式的優(yōu)缺點(diǎn)。中斷方式:外部設(shè)備每進(jìn)行一個(gè)數(shù)據(jù)的輸入/輸出,都要通過(guò)“中斷申請(qǐng)”要求CPU 進(jìn)行處理。CPU 通過(guò)執(zhí)行一段“中斷服務(wù)程序”完成數(shù)據(jù)的傳輸。DMA 方式: CPU 通過(guò)對(duì) DMAC 的初始化,啟動(dòng)一個(gè)數(shù)據(jù)塊的傳輸操作。之后的數(shù)據(jù)傳輸通過(guò)信號(hào)的聯(lián)絡(luò),在外設(shè)接口和存儲(chǔ)器之間進(jìn)行,CPU 只需簡(jiǎn)單地讓出總線,而無(wú)需其他操作。根據(jù)上述比較,可以得到DMA 工作方式的如下特點(diǎn):優(yōu)點(diǎn):1) 對(duì)于 CPU
9、 而言,它的任務(wù)僅僅是在一個(gè)數(shù)據(jù)塊傳輸之前對(duì)DMAC 進(jìn)行初始化,CPU 用于傳輸控制的操作達(dá)到最小(不考慮與通道/IO 處理器方式的比較), CPU的效率最高。CPU 與外設(shè)“并行”工作。2) 外部設(shè)備一個(gè)數(shù)據(jù)輸入/輸出完成后,向 DMAC 申請(qǐng)進(jìn)行數(shù)據(jù)傳輸,響應(yīng)時(shí)間僅為DMAC 的 13個(gè)時(shí)鐘周期。響應(yīng)速度達(dá)到最快,可以滿足高速傳輸?shù)男枰?。缺點(diǎn):1) 實(shí)現(xiàn) DMA 控制需要增加DMA 控制器和總線控制邏輯,增加了系統(tǒng)的復(fù)雜性。2) DMA 傳輸需要占用總線,并且具有較高的“優(yōu)先級(jí)”。這使得系統(tǒng)對(duì)其他設(shè)備的響應(yīng)速度不能得到明確的保證。10 某輸入設(shè)備接口數(shù)據(jù)端口、狀態(tài)端口、控制端口地址分別為
10、 70H, 71H, 72H。狀態(tài)端口D5=1 表示輸入完成,控制端口D7=1 表示啟動(dòng)設(shè)備輸入(輸入完成后由設(shè)備清除該位)。從該設(shè)備輸入100 個(gè)字節(jié)數(shù)據(jù),存入以 BUFFER 為首地址的緩沖區(qū)。如果啟動(dòng)該設(shè)備1 秒后仍未完成一次輸入,則視為超時(shí)錯(cuò),顯示出錯(cuò)信息后返回。分別用8086 匯編語(yǔ)言和C 語(yǔ)言編寫完成上述功能的I/O 程序。匯編語(yǔ)言程序:DATASEGMENTBUFFERDB100 DUP(?)ERRORDB13, 10, “OVERTIME ! ”, 13, 10, “$”DATAENDS;CODESEGMENTASSUMECS: CODE, DS:DATASTART:MOVAX
11、, DA TAMOVDS, AXMOVCX, 100LEABX, BUFFERONE:XORDX, DX; DX 用作響應(yīng)計(jì)時(shí)器,初值0MOVAL, 80HOUT72H, AL;啟動(dòng)輸入W:INAL, 71HINCDX;記錄延遲時(shí)間TESTAL, 00100000B;測(cè)試完成位JNZREAD;輸入完成,轉(zhuǎn)READ 讀取數(shù)據(jù)CMPDX, 50000;假設(shè)循環(huán)50000次時(shí)間為1 秒JBW;未超時(shí),繼續(xù)測(cè)試JMPOVERTIME;超過(guò)1 秒,報(bào)告出錯(cuò)READ:INAL, 70H;讀入數(shù)據(jù)MOVBX, AL;數(shù)據(jù)存入緩沖區(qū)INCBX;修改指針LOOPONE; 100 個(gè)數(shù)據(jù)尚未輸入完成,轉(zhuǎn)ONE 繼
12、續(xù)JMPDONE; 100個(gè)數(shù)據(jù)輸入完成,轉(zhuǎn) DONE 結(jié)束程序OVERTIME:LEADX, ERRORMOVAH, 9INT21H;響應(yīng)超時(shí),顯示出錯(cuò)信息DONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTARTC 語(yǔ)言程序:main( ) int i, status, time, buffer100 ;for( i=0; i<100; i+ ) outportb( 0x72, 0x80 );/* 啟動(dòng)輸入*/for( time = 0; time < 20000; time+ ) status = inportb( 0x71 );/* 讀狀態(tài)*/
13、if ( status & 0x20) buffer i = inportb ( 0x70 ); exit; /* 讀數(shù)據(jù),保存*/if ( time >= 20000 ) printf( “n Over Time ! n” ); exit ; /* 超時(shí)報(bào)錯(cuò)*/11 某輸出設(shè)備數(shù)據(jù)端口、狀態(tài)端口地址分別為220H, 221H。 狀態(tài)端口D0=1 表示輸出完成。將數(shù)據(jù)段中以STRING 為首地址的20 個(gè)字符(用七位ASCII 代碼存儲(chǔ))添加水平和垂直校驗(yàn)發(fā)送到該外部設(shè)備。用8086匯編語(yǔ)言編寫完成上述功能的I/O 程序。匯編語(yǔ)言程序: DATASEGMENTSTRINGDB 2
14、0 DUP ( ? )SUMDB 0DATAENDS; CODESEGMENTASSUME CS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AXMOVCX, 20LEABX, STRINGMOVSUM, 0; 垂直校驗(yàn)碼初值為0ONE:MOVDX, 221H; DX 置為狀態(tài)端口地址INAL, DXTESTAL, 00000001B;測(cè)試輸出完成位JZONE;未完成,轉(zhuǎn)ONE 繼續(xù)讀取狀態(tài)MOVAL, BX; 從字符串取出一個(gè)字符的ASCII 代碼ANDAL, 07FH;清除最高位,準(zhǔn)備置入校驗(yàn)位JPEOUTPUT;判代碼奇偶屬性,ORAL, 80H;奇數(shù)個(gè)
15、“1”,最高位置1(偶校驗(yàn))OUTPUT:MOVDX, 220HOUTDX, AL;輸出添加了校驗(yàn)位的代碼XORSUM, AL;生成垂直校驗(yàn)位INCBX;修改指針LOOPONE;20個(gè)數(shù)據(jù)尚未輸出完成,轉(zhuǎn)ONE 繼續(xù)MOVDX, 221H;輸出垂直校驗(yàn)代碼LAST:INAL, DXTESTAL, 00000001BJZLASTMOVAL, SUMMOVDX, 220HOUTDX, ALDONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTART12 試畫出矩陣式鍵盤查詢的程序流程圖。行掃描法鍵盤掃描流程上述流程中假設(shè)鍵盤為8X8結(jié)構(gòu),如果有鍵按下,返回它的8位掃描碼
16、。其中:最低3位為該鍵所在列,次低3位為該鍵所在行,最高2位為0。如果沒(méi)有鍵按下,返回8位“1”。13.試畫出公用端口多位LED輸出的程序流程圖。共用端口 LED3描流程Y返回題六1 什么叫中斷? 有哪幾種不同類型的中斷?由于某個(gè)事件的發(fā)生,CPU 暫停當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行處理該事件的一個(gè)程序。該程序執(zhí)行完成后,CPU 接著執(zhí)行被暫停的程序。這個(gè)過(guò)程稱為中斷。根據(jù)中斷源的位置,有兩種類型的中斷。有的中斷源在CPU 的內(nèi)部,稱為內(nèi)部中斷。大多數(shù)的中斷源在CPU 的外部,稱為外部中斷。根據(jù)中斷引腳的不同,或者CPU 響應(yīng)中斷的不同條件,也可以把中斷劃分為可屏蔽中斷和不可屏蔽中斷兩種。2 什
17、么是中斷類型?它有什么用處?用若干位二進(jìn)制表示的中斷源的編號(hào),稱為中斷類型。中斷類型用來(lái)區(qū)分不同的中斷,使 CPU 能夠在中斷響應(yīng)時(shí)調(diào)出對(duì)應(yīng)的中斷服務(wù)程序進(jìn)行中斷處理。3 有哪幾種確定中斷優(yōu)先級(jí)的方法?說(shuō)明每一種方法各自的優(yōu)劣之處。確定中斷優(yōu)先權(quán)有四種可選的方法。(1) 軟件查詢法:采用程序查詢的方法確定中斷服務(wù)的順序。這種方法中斷邏輯最簡(jiǎn)單(基本上不需要外部中斷邏輯), 優(yōu)先級(jí)可以靈活設(shè)置,但中斷響應(yīng)所需時(shí)間最長(zhǎng)。(2) 分類申請(qǐng)法:CPU 分設(shè)二個(gè)中斷申請(qǐng)信號(hào)的輸入引腳。這種方法需要CPU 提供條件。(3) 鏈?zhǔn)絻?yōu)先權(quán)排隊(duì):菊花鏈法。這種方法需要的外部中斷邏輯比較簡(jiǎn)單,容易實(shí)現(xiàn),但是設(shè)備較
18、多時(shí)信號(hào)延遲大,對(duì)設(shè)備故障敏感。(4) 可編程中斷控制器: “向量” 優(yōu)先權(quán)排隊(duì)專用電路。這種方法功能最全面,控制靈活,可以通過(guò)程序設(shè)定中斷優(yōu)先權(quán)為固定的或循環(huán)的,但需要增加專用的中斷控制器。4 什么是中斷嵌套?使用中斷嵌套有什么好處?對(duì)于可屏蔽中斷,實(shí)現(xiàn)中斷嵌套的條件是什么?CPU 在處理級(jí)別較低的中斷過(guò)程中,出現(xiàn)了級(jí)別較高的中斷請(qǐng)求。CPU 停止執(zhí)行低級(jí)別中斷的處理程序而去優(yōu)先處理高級(jí)別中斷,等高級(jí)別中斷處理完畢后,再接著執(zhí)行低級(jí)別的 未處理完的中斷處理程序,這種中斷處理方式稱為多重(級(jí))中斷或中斷嵌套。使用中斷嵌套可以使高優(yōu)先級(jí)別的中斷得到及時(shí)的響應(yīng)和處理。對(duì)于可屏蔽中斷,由于CPU 在
19、響應(yīng)中斷時(shí)已將IF 清零,所以一定要在中斷處理程序中加入開(kāi)中斷指令,才有可能進(jìn)行中斷嵌套。5 .什么叫中斷屏蔽?如何設(shè)置I/O接口的中斷屏蔽?用程序的方法使某些中斷源的中斷請(qǐng)求不能夠發(fā)送到CPU ,或者雖然能夠發(fā)送但是不能得到響應(yīng),這種方法稱為中斷屏蔽。在外設(shè)的接口內(nèi)增設(shè)一個(gè)中斷屏蔽觸發(fā)器(可以用 D觸發(fā)器實(shí)現(xiàn)),該觸發(fā)器的Q端與 中斷請(qǐng)求信號(hào)相“與”后連接到INTR。當(dāng)Q =。時(shí),中斷請(qǐng)求不能發(fā)往INTR。通過(guò)設(shè)定中 斷屏蔽觸發(fā)器的狀態(tài),可以控制中斷請(qǐng)求信號(hào)是否能夠送到 INTR端。置IF= 0,可以使80X86CPU不響應(yīng)來(lái)自INTR的可屏蔽中斷請(qǐng)求。6 .什么是中斷向量?中斷類型為 1F
20、H的中斷向量為2345H: 1234H,畫圖說(shuō)明它在中斷向量表中的安置位置。0000:007CH34H0000:007DH12H0000:007EH45H0000:007FH23H中斷服務(wù)程序的入口地址稱為中斷向量。中斷類型為1FH, 它的中斷向量放置在1FHX4=0000: 7CH開(kāi)始的位置上。如右 圖。7 .敘述一次可屏蔽中斷的全過(guò)程。(1)中斷源請(qǐng)求中斷外部中斷源通過(guò)INTR引腳向CPU請(qǐng)求中斷。(2)中斷響應(yīng)中斷源提出中斷請(qǐng)求后,如果CPU處于允許中斷狀態(tài)(IF=1);沒(méi)有不可屏蔽中斷請(qǐng)求和總線請(qǐng)求;當(dāng)前指令執(zhí)行結(jié)束。則轉(zhuǎn)入中斷響應(yīng)周期。在中斷響應(yīng)周期:CPU取得中斷源的中斷類型;將標(biāo)
21、志寄存器FLAGS和CS、IP (斷點(diǎn))先后壓入堆棧保存;清除自陷標(biāo)志位TF和中斷允許標(biāo)志位IF;讀中斷向量表,獲得相應(yīng)的中斷服務(wù)程序入口地址,轉(zhuǎn)入中斷服務(wù)程序。(3)中斷服務(wù)中斷服務(wù)程序的主要內(nèi)容包括:保護(hù)現(xiàn)場(chǎng)開(kāi)中斷中斷處理關(guān)中斷恢復(fù)現(xiàn)場(chǎng)(4)中斷返回8 簡(jiǎn)要敘述8259A 內(nèi)部 IRR, IMR, ISR 三個(gè)寄存器各自的作用。三個(gè)寄存器長(zhǎng)度均為8 位。IRR用來(lái)記錄引腳IR7IRo上由外部設(shè)備送來(lái)的中斷請(qǐng)求信號(hào)。當(dāng)外部中斷請(qǐng)求線IRi變?yōu)橛行r(shí),IRR 中與之對(duì)應(yīng)的第i 位被置 1。IMR 用于設(shè)置對(duì)中斷請(qǐng)求的屏蔽信號(hào)。此寄存器的第i 位被置 1 時(shí),與之對(duì)應(yīng)的外部中斷請(qǐng)求線IRi被屏蔽
22、,不能向CPU發(fā)出INT信號(hào)??赏ㄟ^(guò)軟件設(shè)置IMR內(nèi)容,確定每一個(gè) 中斷請(qǐng)求的屏蔽狀態(tài)。ISR 用于記錄當(dāng)前正在被服務(wù)的所有中斷級(jí),包括尚未服務(wù)完而中途被更高優(yōu)先級(jí)打斷的中斷級(jí)。若CPU響應(yīng)了 IRi中斷請(qǐng)求,則ISR中與之對(duì)應(yīng)的第i位置1。ISR用于中斷優(yōu)先 級(jí)管理。9 8259A 是怎樣進(jìn)行中斷優(yōu)先權(quán)管理的?8259A 通過(guò)以下兩種途徑實(shí)現(xiàn)對(duì)中斷優(yōu)先權(quán)的管理:( 1) 通過(guò)設(shè)置中斷屏蔽寄存器IMR ,可以屏蔽某些中斷請(qǐng)求,從而動(dòng)態(tài)地改變各請(qǐng)求端的優(yōu)先級(jí)別。( 2) 8259A 響應(yīng)某個(gè)中斷請(qǐng)求之后,將 ISR 寄存器對(duì)應(yīng)位置1。 如果后續(xù)的中斷請(qǐng)求級(jí)別低于正在響應(yīng)的中斷請(qǐng)求,則該中斷不能立
23、即被響應(yīng)。反之, 如果新的中斷請(qǐng)求級(jí)別高于正在響應(yīng)的中斷請(qǐng)求,則允許進(jìn)行中斷嵌套。中斷服務(wù)結(jié)束時(shí),應(yīng)將 ISR 寄存器對(duì)應(yīng)位清零。10 特殊全嵌套方式有什么特點(diǎn)?它的使用場(chǎng)合是什么?特殊全嵌套方式一般用于級(jí)聯(lián)方式下的8259A 主片。如果8259A主片在一次中斷處理尚未結(jié)束時(shí),收到了來(lái)自同一個(gè)引腳的第二次中斷請(qǐng)求, 并且該8259A采用普通全嵌套方式,則它不會(huì)響應(yīng)來(lái)自同一個(gè)引腳的第二次中斷請(qǐng)求。如果該 8259A 采用特殊全嵌套方式,就會(huì)響應(yīng)該請(qǐng)求(中斷嵌套),從而可以及時(shí)響應(yīng)連接在同一從片8259A上,并且相對(duì)有較高優(yōu)先級(jí)別的中斷請(qǐng)求。11 .向8259A發(fā)送“中斷結(jié)束”命令有什么作用? 8
24、259A有哪幾種中斷結(jié)束方式?分析各自的利弊。中斷服務(wù)完成時(shí),必須給8259A一個(gè)命令,使這個(gè)中斷級(jí)別在ISR中的相應(yīng)位清“ 0”,表示該中斷處理已經(jīng)結(jié)束,允許響應(yīng)新的較低級(jí)別的中斷。這個(gè)命令稱為 “中斷結(jié)束”命令。8259A 有兩種不同的中斷結(jié)束方式。( 1)自動(dòng)中斷結(jié)束方式(AEOI )8259A 在中斷響應(yīng)周期內(nèi)自動(dòng)清除ISR 中對(duì)應(yīng)位。這種方式使用簡(jiǎn)單,但是不能充分實(shí)現(xiàn)中斷的優(yōu)先權(quán)管理。這種方式只能用在系統(tǒng)中只有一個(gè)8259A,且多個(gè)中斷不會(huì)嵌套的情況。(2)非自動(dòng)中斷結(jié)束方式(EOI)從中斷服務(wù)程序返回前,在程序里向8259A輸出一個(gè)中斷結(jié)束命令(EOI),把ISR對(duì)應(yīng) 位清“0”。
25、這種方式可以有效地實(shí)現(xiàn)中斷優(yōu)先權(quán)的管理,從而保證高優(yōu)先級(jí)的中斷可以得到及時(shí)響應(yīng)。但是,如果在程序里忘了將 ISR對(duì)應(yīng)位清零,那么,8259A將不再響應(yīng)這個(gè)中斷 以及比它級(jí)別低的中斷請(qǐng)求。12 .某系統(tǒng)中有兩片8259A,從片的請(qǐng)求信號(hào)連主片的IR2弓|腳,設(shè)備A中斷請(qǐng)求信號(hào)連從 片IR5弓I腳。說(shuō)明設(shè)備 A在一次I/O操作完成后通過(guò)兩片8259A向8086申請(qǐng)中斷, 8086CPU通過(guò)兩片8259A響應(yīng)中斷,進(jìn)入設(shè)備A中斷服務(wù)程序,發(fā)送中斷結(jié)束命令,返 回?cái)帱c(diǎn)的全過(guò)程。設(shè)備A通過(guò)從片IR5引腳向從片發(fā)出中斷請(qǐng)求;從片將IRR5置“1”,并通過(guò)INT (與主片IR2相連)向主片發(fā)出中斷請(qǐng)求; 主
26、片將IRR2置“1”,通過(guò)INT (與CPU的INTR相連)向CPU發(fā)出中斷請(qǐng)CPU通過(guò)第一個(gè)INTA向主片和從片響應(yīng)中斷請(qǐng)求;主片8259A在CAS0CAS2上發(fā)出代碼“ 010”,表示連接在IR2上的從片中 斷被響應(yīng),同時(shí)主片還把本片ISR2置“1”,把本片IRR2清“0”;從片收到第一個(gè)INTA和主片CAS0CAS2上發(fā)來(lái)的010代碼后,將本片ISR5 置“1”,同時(shí)把本片IRR5清“0”。收到第二個(gè)1NTA后,將本片IRR5對(duì)應(yīng)的中斷 類型通過(guò)數(shù)據(jù)總線發(fā)往CPU;CPU進(jìn)入設(shè)備A的中斷服務(wù)程序,在程序中先后對(duì)主片和從片發(fā)出中斷結(jié)束 命令,兩個(gè)芯片內(nèi)的ISR2和ISR5先后被清零。中斷服
27、務(wù)結(jié)束,返回?cái)帱c(diǎn)繼續(xù)執(zhí)行。13 .某8086系統(tǒng)用3片8259A級(jí)聯(lián)構(gòu)成中斷系統(tǒng),主片中斷類型號(hào)從10H開(kāi)始。從片的中斷申請(qǐng)連主片的IR4和IR6引腳,它們的中斷類型號(hào)分別從 20H、30H開(kāi)始。主、從片 采用電平觸發(fā),嵌套方式,普通中斷結(jié)束方式。請(qǐng)編寫它們的初始化程序。假設(shè)主片端口地址為10H, 12H。從片的端口地址分別為 18H, 1AH和1CH, 1EH。MOVAL, 00011001B;主片ICW1OUT10H, AL;電平觸發(fā),級(jí)連方式MOVAL, 10H;主片ICW2OUT12H, AL;主片中斷類型MOVAL, 01010000B;主片ICW3OUT12H, AL;IR4, I
28、R6連有從片MOVAL, 00010001B;主片ICW4OUT12H, ALMOVAL, 00011001BOUT18H, ALMOVAL, 20HOUT1AH, ALMOVAL, 00000100BOUT1AH, ALMOVAL, 00000001BOUT1AH, ALMOVAL, 00011001BOUT1CH, ALMOVAL, 30HOUT1EH,ALMOVAL, 00000110BOUT1EH, ALMOVAL, 00000001BOUT1EH, AL注意:;特殊全嵌套,非自動(dòng)中斷結(jié)束ICW1;電平觸發(fā),級(jí)連方式ICW2;從片中斷類型ICW3IR4 引腳上ICW4;非特殊全嵌套,非
29、自動(dòng)中斷結(jié)束ICW1;電平觸發(fā),級(jí)連方式ICW2;從片中斷類型ICW3IR6 引腳上ICW4;非特殊全嵌套,非自動(dòng)中斷結(jié)束(1) 由于8086系統(tǒng)有16根數(shù)據(jù)線,各8259A的端口地址均為偶數(shù)(假設(shè)各8259A的數(shù)據(jù)線連接在8086系統(tǒng)的低8位數(shù)據(jù)線上)。2)主片用特殊全嵌套,從片用一般全嵌套。14 .給下面的8259A初始化程序加上注釋,說(shuō)明各命令字的含義。MOV AL, 13H; ICW1: 邊沿觸發(fā),單片8259AOUT 50H, AL;MOV AL, 08H;ICW2:中斷類型高 5位為 00001OUT 51H, AL;MOV AL, 0BH;ICW4:非特殊全嵌套,緩沖方式,主片,
30、非自動(dòng)中斷結(jié)束OUT 51H, AL;15 .設(shè)8259A端口地址為20H和21H,怎樣發(fā)送清除ISR3的命令?為了清除ISR3,需要通過(guò) OCW2發(fā)送特殊的中斷結(jié)束命令,使 SL=1, EOI=1, L2L1L0=011 。指令如下:MOVOUTAL, 01100011B20H, AL16 .圖4-17能否直接用于8086系統(tǒng)?為什么?圖4-17不能直接用于8086系統(tǒng),原因是:(1) 多個(gè)設(shè)備的中斷請(qǐng)求如果直接送往 CPU,應(yīng)采用“線或”的方法,每個(gè)接口的中斷請(qǐng)求信號(hào)應(yīng)由“ OC門(集電極開(kāi)路門)”以“負(fù)邏輯”的方式連接,如下 圖。(2) 電路沒(méi)有解決中斷優(yōu)先權(quán)的問(wèn)題。CPU用INTA信號(hào)
31、響應(yīng)中斷時(shí),會(huì)將所有正在申請(qǐng)中斷的接口的請(qǐng)求信號(hào)清除。加接“菊花鏈”可以解決該問(wèn)題。(3) 電路沒(méi)有解決中斷類型的發(fā)送問(wèn)題, 需要增加相關(guān)電路。例如,把設(shè)備接口的INTR 連接至U 8259A。題七1.8255A的方式選擇控制字和C 口按位控制字的端口地址是否一樣,8255A怎樣區(qū)分這兩種控制字?寫出A 端口作為基本輸入,B 端口作為基本輸出的初始化程序。解:( 1)8255A 的方式選擇控制字和C 口按位控制字的端口地址一樣,它們之間的區(qū)別在控制字的D7 位 (特征位)的值不同,8255A 的方式選擇控制字D7=1 , 而 C 口按位置位 /復(fù)位控制字D7=0。(2)初始化程序:(設(shè)端口地址
32、為,A 口: 200H, B 口: 201H,控制口: 203H)MOVMOVOUTAL , 90HDX, 203HDX, AL2用 8255A的 A 端口接8 位二進(jìn)制輸入,B 端口和C 端口各接8 只發(fā)光二極管顯示二進(jìn)制數(shù)。編寫一段程序,把 A 端口讀入的數(shù)據(jù)送B 端口顯示,而 C 端口的各位則采用置0/置1 的方式顯示A 端口的值。解: (設(shè)端口地址為,A 口: 200H, B 口: 201H, C202H,控制口: 203H)MOVAL, 90H; 8255A 初始化:MOVDX, 203H; 8255A各組方式0, A 口¥俞入OUTMOVDX , AL; B、C 口輸出D
33、X, 200HINMOVAL , DX;讀A 口輸入值DX, 201HOUTDX, AL;送B 口輸出MOVMOVAH , AL; A 口輸入值轉(zhuǎn)存在AH 中DX, 203HMOVCX, 08; CX置循環(huán)次數(shù)初值MOVAL , 00H; C 端口置0/置 1 控制字初值LPA: ANDAL , 0FEH;清除最低位SHRAH, 1; A 端口一位轉(zhuǎn)入CFADCAL, 0; A 端口一位從CF 轉(zhuǎn)入命令字OUTDX, AL; A端口一位從送往C端口對(duì)應(yīng)位ADDAL , 02H;形成下一個(gè)命令字LOOPLPA;處理C 端口下一位3.將8255A用作兩臺(tái)計(jì)算機(jī)并行通信的接口電路,請(qǐng)畫出采用查詢式輸
34、入/輸出方式工作的接口電路,并寫出采用查詢式輸入/輸出方式的程序。解:用兩片8255作兩臺(tái)計(jì)算機(jī)8088_A與8088_B之間并行通信的接口電路,兩片8255之間 的連接如下圖所示。兩片8255均在方式1、查詢方式下工作。(1) 8088_A輸出程序:(8255_A的A 口作為數(shù)據(jù)輸出口,C 口的PCo作為“數(shù)據(jù)輸出選通”信號(hào),負(fù)脈沖輸 出。C 口的PC6作為“應(yīng)答”信號(hào)輸入,負(fù)脈沖有效。端口地址:A 口: 200H, C 202H,控制口: 203H)DATA SEGMENTBuffer DB This is a example.”, 0DH, 0AH, -1DATA ENDSCODESTA
35、RT: MOVMOVLEAMOVMOVSEGMENTAX, DATADS, AXBX, Buffer DX , 203H AL , 0A0H;輸出緩沖區(qū)指針?biāo)虰X;將PC0置1;延時(shí)等待對(duì)方完成初始化;A 口查詢方式輸出;8255_A的方式選擇字,A 口工作在方式1、輸出,C 口低四位輸出OUTDX ,ALMOVAL,1OUTDX,ALCALL DELAYNEXT:MOVDX,202HINAL,DLTESTAL,80H;判別OBF是否啟效JZNEXT;數(shù)據(jù)尚未取走,等待MOVDX ,200HMOVAL,BXOUTDX,AL;輸出一項(xiàng)數(shù)據(jù)INCBXMOVDX,203HMOVAL,0OUTDX,A
36、LNOPNOPINCALOUTDX,AL;通過(guò)PC0向?qū)Ψ桨l(fā)選通佶CMPBYTE PTRBX-1,-1 ;判斷輸出是否完成JNENEXT;未完成,繼續(xù)MOVAX,4C00HINT21HCODEENDSENDSTART(2) 8088_B輸入程序:(8255_B的A 口作為輸入,方式1, PC4作為“數(shù)據(jù)輸入選通”信號(hào)效。PC0為“應(yīng)答”信號(hào)輸出,負(fù)脈沖有效。端口地址:A 口: 210H, C 212H,控制口: 213H)(負(fù)脈沖)輸入,負(fù)脈沖有DATA SEGMENTBuffer DB 80 DUP (?)DATA ENDSCODE SEGMENTSTART: MOVAX,DATAMOVDS
37、,AXLEABX,Buffer;輸入緩沖區(qū)指針?biāo)虰XMOVDX,213HMOVAL,0B0H;8255_B的方式選擇字,A 口工作在方式1,輸入,C 口低四位輸出。OUTDX,ALMOVAL,01HOUT DX, ALPC0 置 1,表示沒(méi)有“應(yīng)答”信號(hào)CALL DELAY;延時(shí)等待對(duì)方狀態(tài)就緒A 口查詢方式輸入AGA:MOV DX, 212HINAL,DXTESTAL,20HJZAGA; PC5 ( IBF )是否為1,不是,無(wú)數(shù)據(jù)輸入,繼續(xù)查詢不是,無(wú)數(shù)據(jù)輸入,繼續(xù)查詢MOVDX, 210HINAL, DXMOVBX, ALMOVDX, 212HMOVAL, 0OUTDX, ALINCBX
38、NOPNOPINCALOUTDX, AL;通過(guò)PC0向發(fā)送方發(fā)“應(yīng)答”負(fù)脈沖CMPBYTE PTRBX-1, -1;數(shù)據(jù)接收完了嗎?JNEAGA;未完,繼續(xù)MOVAX, 4C00HINT21HCODE ENDSEND START說(shuō)明:這道題有多種可選的解法,上面的方法是程序比較簡(jiǎn)單的一種。這種方法實(shí)施時(shí),應(yīng)先啟動(dòng)8088B, 使它首先 “就緒” , 然后開(kāi)始通訊。由于雙方都用負(fù)脈沖進(jìn)行選通,聯(lián)絡(luò)過(guò)程比較簡(jiǎn)單,也比較可靠??蛇x的另一種方法是:在上述連接的基礎(chǔ)上用中斷方式進(jìn)行數(shù)據(jù)傳輸,以提高 CPU 的工作效率。 需要編制雙方的中斷服務(wù)程序,初始化時(shí)要設(shè)置中斷向量,允許 8255中斷, 開(kāi)放中斷等
39、操作。當(dāng)然也要連接相應(yīng)的中斷請(qǐng)求信號(hào)線。可選的第三種方法是:雙方用一根狀態(tài)線(C 端口某一位)送往對(duì)方,用這兩根線進(jìn)行聯(lián)絡(luò)( “握手” ) 。這種方法看似簡(jiǎn)單,其實(shí)程序是比較復(fù)雜的。雙方聯(lián)絡(luò)的過(guò)程如下圖。8088B在初始化完成后,把它的狀態(tài)線置為“高電平”,表示可以開(kāi)始接受數(shù)據(jù)。而8088A在初始化完成后,把它的狀態(tài)線置為“低電平”,表示數(shù)據(jù)傳輸尚未開(kāi)始。 8088A查詢8088B的狀態(tài),在發(fā)現(xiàn)8088B “就緒”(狀態(tài)線為高電平)后,把數(shù)據(jù)發(fā)往8255的(A或B)端口。 8088A發(fā)出數(shù)據(jù)之后把本機(jī)狀態(tài)置為 “就緒”(高電平),表示數(shù)據(jù)已經(jīng)送到端口的數(shù)據(jù)線上。 8088B查tU 8088A的
40、狀態(tài),得知8088A的狀態(tài)線“就緒”,知道8088A已經(jīng)把數(shù)據(jù)送出,于是從8255接收數(shù)據(jù),并把自身的狀態(tài)線置為“未就緒”,表示已經(jīng)把 8088A發(fā)出的數(shù)據(jù)接收。 8088A查詢到8088B的狀態(tài)線變?yōu)榈碗娖?,知道?duì)方已經(jīng)把數(shù)據(jù)接收完成,于是把本機(jī)的狀態(tài)線置為“低電平”,表示這個(gè)數(shù)據(jù)的發(fā)送已經(jīng)完成,而下一個(gè)數(shù) 據(jù)尚未發(fā)出。 8088B查詢到8088A的狀態(tài)線變?yōu)椤暗碗娖健?,知道?duì)方已經(jīng)結(jié)束了第一個(gè)數(shù)據(jù)的傳輸,在本機(jī)做好下一個(gè)數(shù)據(jù)的接收準(zhǔn)備之后(例如,把數(shù)據(jù)存入緩沖區(qū),如果緩沖區(qū)滿,則把緩沖區(qū)內(nèi)容存入磁盤文件),把本機(jī)狀態(tài)線置為“高電平”,表 示已經(jīng)做好了接收下一個(gè)數(shù)據(jù)的準(zhǔn)備。 8088A得知8
41、088B做好準(zhǔn)備,發(fā)送下一個(gè)數(shù)據(jù)。于是,下一個(gè)數(shù)據(jù)的傳輸可以由此開(kāi)始(轉(zhuǎn))。這種方法實(shí)施時(shí),應(yīng)首先啟動(dòng) 8088A。4.設(shè)計(jì)一個(gè)用8255A作為8個(gè)七段顯示器的接口電路,并設(shè)計(jì)一個(gè)把內(nèi)存地址為ADDRA的8個(gè)數(shù)字在這8個(gè)七段顯示器上顯示的程序。解:設(shè)8個(gè)七段顯示器采用共陽(yáng)接法,A 口控制段的顯示,B 口控制位的顯示。端口地址 A 口:200H, B口: 201H,控制口: 203HDATASEGMENTADDRADBX,X,X,X,X,X,X,XTABLEDB40H, 4FH, 24H, 30H, 19HDB12H, 02H, 78H, 00H, 10HDISPBITDB?DATAENDSCO
42、DE SEGMENTASSUMECS: CODE, DS: DATASTART: MOVAX,DATAMOVDS,AXMOVAL,80H;對(duì)8255A初始化,方式0, ¥俞出MOVDX,203HOUTDX,ALLEABX,TABLE; BX 置為七段碼表首地址MOVDISPBIT,7FH;置位碼初值為7FHLEASI,ADDRA; SI 置為顯示緩沖區(qū)首地址MOVCX,8; CX 置為循環(huán)次數(shù)初值8AGA: MOVAL,0FFHMOVDX,201HOUTDX,AL;熄滅所有數(shù)碼管MOVAL,SI;取出一個(gè)待顯示數(shù)XLAT;轉(zhuǎn)換成七段碼MOVDX,200HOUTDX,AL;送入段碼端口
43、MOVAL,DISPBIT;MOVDX,201HOUTDX,AL;送當(dāng)前位碼,點(diǎn)亮一個(gè)數(shù)碼管RORDISPBIT,1;產(chǎn)生下一個(gè)位碼INCSI;修改指針,指向下一個(gè)待顯示數(shù)據(jù)CALLDELAY;延時(shí)LOOPAGA;處理下一個(gè)數(shù)碼管的顯示MOVAX,4C00HINT21HCODE ENDSENDSTART58254定時(shí)/計(jì)數(shù)器的定時(shí)與計(jì)數(shù)方式有什么區(qū)別? 8254在方式 0工作時(shí), 各通道的CLK、 GATE 信號(hào)有什么作用? 各通道的控制字地址都相同,8254是怎樣區(qū)分的?解:( 1) 8254作為計(jì)數(shù)器使用時(shí),對(duì) CLK 端的輸入脈沖進(jìn)行單純的減法計(jì)數(shù),這時(shí) CLK端輸入的脈沖不作為計(jì)時(shí)基準(zhǔn)
44、。此外, 用作計(jì)數(shù)器時(shí),計(jì)數(shù)完成后必須重新初始化,只能使用一次。8254作為定時(shí)器使用時(shí),要求CLK 端輸入的脈沖必須作為時(shí)鐘基準(zhǔn),通過(guò)對(duì)該基準(zhǔn)時(shí)鐘脈沖的計(jì)數(shù)來(lái)實(shí)現(xiàn)精確定時(shí)。用作定時(shí)器時(shí),計(jì)數(shù)的過(guò)程周而往復(fù),重復(fù)進(jìn)行。2) 8254 工作在方式0 時(shí), CLK 端輸入計(jì)數(shù)用的脈沖信號(hào);GATE 信號(hào)為高電平時(shí), 對(duì) CLK 端輸入的脈沖進(jìn)行計(jì)數(shù);GATE 信號(hào)為低電平時(shí),暫停計(jì)數(shù);GATE信號(hào)重新為高電平后,恢復(fù)原先的計(jì)數(shù)。(3)由8254的方式控制字中的D7、D6兩位來(lái)選擇計(jì)數(shù)通道。6.設(shè)8254的端口地址為0240H0243H,通道0輸入的CLK頻率為1MHz,為使通道 0 輸出 1KHz
45、 的方波,編寫初始化程序。如果讓通道0 與通道 1 級(jí)聯(lián)(即OUT0接 CLK1 )實(shí)現(xiàn) 1 秒鐘定時(shí),則初始化程序如何編制。解:1) 通道 0 輸出 1KHz 的方波:計(jì)數(shù)初值為1MHz/1KHz = 1000,等于十六進(jìn)制數(shù)03E8H,控制字設(shè)定為先寫低8位,后寫高8 位,方式下:3 工作,二進(jìn)制計(jì)數(shù)方式,所以控制字為二進(jìn)制計(jì)數(shù)方式,所以控制字為 36H。初始化程序如MOVMOVOUTMOVAL , DX, DX, DX,36H ; 243H AL ; 240H0 的控制字MOVOUTAL , 0E8HDX, AL ;寫入通道0 的時(shí)間常數(shù)MOVAL , 03H ;OUTDX, AL ;(
46、 2)通道0 與通道1 級(jí)聯(lián)實(shí)現(xiàn)1 秒定時(shí):要實(shí)現(xiàn)1 秒定時(shí),對(duì)1MHz輸入脈沖進(jìn)行分頻的系數(shù)為 1000000=5000* 200。通道 0 工作在方式2,分頻系數(shù)200,采用十進(jìn)制計(jì)數(shù),則通道0 方式控制字為:25H。通道1 工作在方式0,分頻系數(shù)5000,也采用十進(jìn)制計(jì)數(shù),則通道1 方式控制字為:61H。初始化程序如下:MOVAL , 25H;通道0 控制字:方式2,十進(jìn)制計(jì)數(shù),只寫高8 位MOVDX, 243H;OUTDX, AL;MOVAL , 61H;通道1 控制字:方式0,十進(jìn)制計(jì)數(shù),只寫高8 位OUTDX, AL;MOVDX, 0240H;MOVAL , 02H;通道0 時(shí)間常
47、數(shù)(BCD 數(shù)高8 位)OUTDX, AL;MOVAL , 50H;通道1 時(shí)間常數(shù)(BCD 數(shù)高8 位)MOVDX, 0241H;OUT DX, AL如果要再次進(jìn)行1秒鐘定時(shí),則需要對(duì)通道1重新初始化。如果需要連續(xù)的1秒定時(shí)信 號(hào),則通道1應(yīng)選用方式3。對(duì)總數(shù)為1000000的分頻系數(shù),可以有多種分解方法。7.編制一個(gè)使PC機(jī)的8254產(chǎn)生600Hz方波的程序,并使該方波送至揚(yáng)聲器發(fā)聲。解:PC機(jī)中利用8254定時(shí)器的通道2來(lái)驅(qū)動(dòng)揚(yáng)聲器。通道2的工作及其輸出受到主 板上8255A的PB 口(口地址61H)控制:GATE2接PB0,即PB0=1時(shí),定時(shí)器才可 能工作;OUT2與PB1相與后輸出
48、到揚(yáng)聲器,即PB1=1時(shí),定時(shí)器2的OUT2才能輸 出到揚(yáng)聲器。定時(shí)器的輸出波形是對(duì)1.1931MHZ頻率信號(hào)分頻得到的,因此將定時(shí)器 2工作 在方式3,分頻系數(shù)用下式計(jì)算:分頻系數(shù)=1193100+給定頻率(1193100=12348CH)因此程序如下:MOVAL ,0B6H;通道2控制字:方式3, 16位常數(shù)OUT43H,AL;送入8254控制端口MOVDX ,12HMOVAX ,348CH;DX, AX中置入常數(shù)12348cHMOVDI ,600;DI為輸出頻率DIVDI;除法運(yùn)算,計(jì)算分頻系數(shù)OUT42H,AL;低8位送通道2MOVAL ,AHOUT42H,AL;高8位送通道2INAL
49、 ,61HORAL ,3OUT61H,AL;將8255A的B端口低2位置“1”8.在RS-232C接口標(biāo)準(zhǔn)中,引腳TxD、RxD、RTS、CTS、DTR、dsr、的功能是什么?解:TxD:串行數(shù)據(jù)輸出。RxD:串行數(shù)據(jù)輸入。:數(shù)據(jù)終端準(zhǔn)備好狀態(tài),低電平有效。用于向調(diào)制解調(diào)器或外設(shè)表示數(shù)據(jù)終端已準(zhǔn)備好。:數(shù)據(jù)設(shè)備準(zhǔn)備好狀態(tài),低電平有效。調(diào)制解調(diào)器或外設(shè)準(zhǔn)備好時(shí)DSR有效。RTs :請(qǐng)求發(fā)送信號(hào),低電平有效。表示數(shù)據(jù)終端設(shè)備已經(jīng)做好發(fā)送數(shù)據(jù)的準(zhǔn)備,請(qǐng)調(diào) 制解調(diào)器/外設(shè)準(zhǔn)備接收數(shù)據(jù)。CTS:清除發(fā)送(允許傳送)信號(hào),低電平有效。調(diào)制解調(diào)器/外設(shè)作好傳送準(zhǔn)備,允許數(shù)據(jù)終端設(shè)備發(fā)送數(shù)據(jù)時(shí)CTS有效。9.
50、 16550的通信控制寄存器中的尋址位有什么作用?在初始化編程時(shí),應(yīng)該怎樣設(shè)置? 解:16550芯片內(nèi),接收緩沖寄存器/發(fā)送保持寄存器的地址與除數(shù)低字節(jié)寄存器的地 址相同,中斷允許寄存器的地址與除數(shù)高字節(jié)寄存器的地址相同。為了區(qū)分同一地址的 不同用途,16550使用DLAB位來(lái)加以標(biāo)識(shí)。DLAB位是通信線控制寄存器的最高位 D7, 該位設(shè)置為0,隨后的相應(yīng)操作對(duì)接收緩沖寄存器/發(fā)送保持寄存器或中斷允許寄存器進(jìn) 行;該位設(shè)置為1,隨后的相應(yīng)操作對(duì)除數(shù)寄存器進(jìn)行。在向除數(shù)寄存器寫入初值之前, 應(yīng)將DLAB置為1。由于一般不需要重復(fù)訪問(wèn)除數(shù)寄存器,寫完除數(shù)后應(yīng)將DLAB置為0,以方便后續(xù)的操作。10.編寫用PC機(jī)中16550查詢方式輸入50個(gè)字符的異步通信程序。設(shè)16550的端口地址為 3F8H3FFH,數(shù)據(jù)格式為:8位數(shù)據(jù)位、1位偶校驗(yàn)位、2位停止位,通信速率為19.2Kbps。 解:接收子程序中,如果接收成功,清 CF標(biāo)志,否則,置位CF標(biāo)志位。程序如下:;16550查詢方式接收程序DATA SEGMENTREC_DATA DB 50
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 神奇動(dòng)物面試題及答案
- 航空航天復(fù)合材料 課件第1章 知識(shí)點(diǎn)4 纖維(B纖維、C纖維)
- 音樂(lè)院校碩士考試試題及答案
- 增強(qiáng)在華留學(xué)生心理健康支持體系
- 中學(xué)思政教育
- 2025年中國(guó)男士夾克行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 影院場(chǎng)務(wù)培訓(xùn)
- 臺(tái)賬規(guī)范的培訓(xùn)
- 網(wǎng)絡(luò)安全防范培訓(xùn)
- 傳統(tǒng)文化元素與環(huán)境藝術(shù)設(shè)計(jì)的碰撞運(yùn)用
- 廣東2025年中考模擬數(shù)學(xué)試卷試題及答案詳解
- 2025年-四川省安全員-A證考試題庫(kù)附答案
- 工程預(yù)算審核報(bào)告回復(fù)函
- 醫(yī)藥行業(yè)銷售流程與培訓(xùn)手冊(cè)
- 陪診師考試知識(shí)點(diǎn)提煉與答案解析
- 產(chǎn)后護(hù)理檔案表
- 深信服aES產(chǎn)品技術(shù)白皮書(shū)-V1.5
- 低壓電氣基礎(chǔ)知識(shí)培訓(xùn)電工-電氣工程師
- 現(xiàn)代環(huán)境生物技術(shù)課件
- 《民法典》合同編實(shí)務(wù)解讀
- 2025年日歷表全年(打印版)完整清新每月一張
評(píng)論
0/150
提交評(píng)論