西工大微機(jī)原理試題例題_第1頁
西工大微機(jī)原理試題例題_第2頁
西工大微機(jī)原理試題例題_第3頁
西工大微機(jī)原理試題例題_第4頁
西工大微機(jī)原理試題例題_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、可編程接口芯片及其與CPU的接口例9. 1設(shè)某系統(tǒng)中有兩片8255A芯片,由74LS138譯碼器產(chǎn)生兩個芯片的片選信號。如圖9.1所示,要求:第一片8255A (JJ的A 口工作在方式0輸出,B 口工作在方式0輸入,C 口高4位為輸出, 低4位為輸入。第二片8255A (J2)的A 口為方式0 輸入,B 口為方式1輸出,C 口高4位輸出,C 口低4位為B 口控制信號。(1)(2)(3)試指出兩片8255A芯片各自的端口地址; 試寫出兩片8255A芯片各自的方式控制字;試寫出兩片8255A芯片各自的初始化程序。圖9. 1譯碼電路圖解(1)根據(jù)譯碼電路圖,可分析出:J1的A、B、C和控制端口的地址

2、分別為0138H、013AH、 013CH、 013EHoJ2的A、B、C和控制端口的地址分別為0130H、0132H、 0134H、 0136H。10010100B 或 10010101BJ2的初始化程序:MOV DX, 0136HMOV AL, 94H(或 95H)OUT DX, AL(2)按照8255A方式控制字的格式,兩片8255A的 控制字分別為:J1: 1000001IB J2:(3)J1的初始化程序:MOV DX, 013EHMOV AL, 83HOUT DX, AL【評注】注意8255A方式控制字的標(biāo)志為D7=1o 控制字要寫入控制端口,這里由于端口地址為16位, 輸出指令中必

3、須采用DX間接尋址。例9.3某系統(tǒng)采用串行異步方式與外設(shè)通訊, 發(fā)送字符格式由1位起始位、7位數(shù)據(jù)位、位奇偶 校驗位和2位停止位組成,波特率為2200b/so試問, 該系統(tǒng)每分鐘發(fā)送多少個字符?若選波特率因子為 16,問發(fā)時鐘頻率為多少?解(1)因為發(fā)送字符格式由1位起始位、7位 數(shù)據(jù)位、1位奇偶校驗位和2位停止位組成,所以一 幀數(shù)據(jù)長度為11位,而波特率為2200b/s,由此計 算出該系統(tǒng)每秒鐘發(fā)送220011=200字符,每分鐘 為 200X60=12000 字符。(2)發(fā)送時鐘頻率為2200X16=35200HZ。例9. 4圖9. 2為一利用8255A實(shí)現(xiàn)的打印機(jī) 接口。(1)設(shè)8255

4、A的A 口工作在方式0輸入,B 口工作 在方式0輸出。寫出初始化程序片段。(2)寫出查詢方式下輸出一個字符至打印機(jī)的程序片段(假設(shè)輸出字符已經(jīng)在AL中)。圖9. 2打印機(jī)接口圖解根據(jù)接口圖可知8255A的地址為200H 203Ho(1)WAIT: IN AL, DX TEST AL, 08H JZ WAIT MOV DX, POP AX OUT DX,DX,201HMOVAL203H;讀C口內(nèi)容;測窗信號;打印機(jī)忙,則等待MOV OUT MOV OUTAL,DX,AL,DX,OEH ALOFHAL;打印字符輸出到B口 ;從PC7發(fā)一個負(fù)脈沖,將打印字符鎖入打印機(jī)8255A初始化程序:MOV D

5、X, 0203HMOV AL, 10010001BOUT DX, AL(2)打印控制程序:PUSH AX;暫存AL中的打印字符MOV DX, 0202H【評注】注意控制打印機(jī)的工作流程。首先判斷打印機(jī)忙否,若忙繼續(xù)檢測,否則就可以建立數(shù) 據(jù)并發(fā)出選通,將數(shù)據(jù)鎖入打印機(jī)。其中打入鎖存 信號為一負(fù)脈沖,由軟件產(chǎn)生,注意發(fā)脈沖信號的 編程方法。例9. 5有如下接口原理圖,如圖9. 3所示。 輸入機(jī)啟動一次輸入一個數(shù)據(jù);打印機(jī)啟動一次打 印一個數(shù)據(jù)。要求從輸入機(jī)輸入一個數(shù)并存入存儲 器中,然后再由打印機(jī)將該數(shù)打印出來! 一共輸入 10個數(shù),打印10個數(shù)。CPUS04S6 _W/Rdb0.7打印機(jī)輸入機(jī)

6、注:仙為=00時廠&爲(wèi)=0圖9. 3接口圖編寫出滿足上述要求的源程序o解 由接口圖分析可知,8255A的端口地址為EOH、 E4H、 E8H、 ECH。 MODEL SMALL .DATAWP DB 1ODUP(?).CODE STARTUP;初始化8255A;循環(huán)次數(shù)送exMOV AL, 83HOUT OECH, ALMOV CX, 10MOV BX, OFFSET WPAGAIN: MOVAL, 0000111IBOUT OECH, AL ;啟動輸入機(jī)PRT: IN AL, 0E8HTEST AL, 08H;檢測PG,判斷輸入數(shù)據(jù)是否準(zhǔn)備好?JZ PRT;若否,繼續(xù)檢測等待IN A

7、L, 0E4H MOV BX, AL;否則,讀B 口數(shù)據(jù);送入內(nèi)存單元MOV AL, 00001 HOBOUT OECH, AL;關(guān)閉輸入機(jī)PST: IN AL, 0E8HTEST AL, 02H;檢測PC”判斷打印機(jī)忙否?JNZ PST;若忙,繼續(xù)檢測等待MOV AL, BXOUT OEOH, AL ;否則,剛存入內(nèi)存的數(shù)據(jù) 送入A 口MOV AL, 00001001BOUT OECH, AL;啟動打印機(jī)MOV AL, 00001000BOUT OECH, AL;斷開打印機(jī)INC BXLOOP AGAIN .EXITEND【評注】注意控制輸入機(jī)的工作流程。首先啟 動輸入機(jī),然后判斷輸入機(jī)是否

8、將數(shù)據(jù)準(zhǔn)備好,如 果沒有準(zhǔn)備好,繼續(xù)循環(huán)檢測,否則讀取數(shù)據(jù)。打印機(jī)的工作流程同上題。例9. 6接口圖如圖94所示,設(shè):8259A邊沿觸發(fā),八個中斷類型碼為6067H。寫出對以內(nèi)存DSR開始連續(xù)10個字節(jié)數(shù)進(jìn)行打印的匯編程序片段。CPU_AINIAINTR注:未用的地址線可設(shè)為0。4譯碼器A打印機(jī)圖94接口圖解根據(jù)接口圖,8255A的A、B、C、控制口地 址分別為 8000H、8002H、8004H、8006H, B 口工作 在方式1。8259A的地址為8028H和802AH。;初始化8259AMOV DX, 8028HMOV AL, 13HOUT DX, ALMOC DX, 802AHMOV

9、AL, 60HOUT DX, ALMOV AL, 01HOUT DX, AL;ICW1;ICW2;ICW4建立中斷向量表PUSH DSMOV AX, 0MOV DS, AXMOV SI, OFFSET XYMOV DI, SEG XYMOV 018CH, SIMOV 018EH, DIPOP DS;初始化8255AMOVDX,8006HMOVAL,84HOUTDX,ALMOVAL,05HOUTDX,AL;INTE 置 1;循環(huán)10次MOV CX, 10LEA BX, DSRW: HLTLOOP W中斷服務(wù)程序XY: MOV AL, BXMOV DX, 8002HOUT DX, ALINC BX

10、IRET【評注】由于中斷源從8259A的IR3接入,故 該中斷源的中斷類型碼為63H,由此計算出中斷向量地址為 63HX4=018CHo例97某系統(tǒng)中,8254芯片的計數(shù)器0,計 數(shù)器1,計數(shù)器2及控制端口地址分別為70H, 71H, 72H, 73Ho若利用計數(shù)器0對外部事件計數(shù),其GATE接高電平,當(dāng)計數(shù)計滿3000次向CPU發(fā)出中斷申請;且利用計數(shù)器1輸出頻率為100HZ的方波,CLKl=2MHZo試編寫8254的初始化程序。解 根據(jù)題意分析,計數(shù)器0工作在方式0,計 數(shù)置3000次;計數(shù)器1工作在方式3,計數(shù)值n=20000=4E20H次8254初始化程序片段為:MOV AL, 21H

11、OUT 73H, ALMOV AL, 30HOUT 70H,ALMOV AL, 76HOUT 73H, ALMOV AL, 20HOUT 71H, ALMOV AL, 4EHOUT 71H, AL;設(shè)置計數(shù)器0的控制字;給計數(shù)器0送計數(shù)初值:設(shè)置計數(shù)器1的控制字;給計數(shù)器1送計數(shù)初值【評注】對每一個計數(shù)器,其控制字必須寫在它的計數(shù)值之前。計數(shù)值寫入計數(shù)器的格式,必須 按照控制字的RL】、RL。的規(guī)定格式來寫。例9. 8有如下接口原理圖,如圖9.5所示。 要求發(fā)光二極管L0亮5秒后就熄滅;L1在K1啟動 后亮6秒后就熄滅;L2亮4秒滅4秒交替進(jìn)行。寫 出源程序片段(段定義語句可以省略)。由譯碼電

12、路分析可知,8254芯片計數(shù)器0、 計數(shù)器1、計數(shù)器2及控制端口的地址分別為91H, 93H, 95H, 97HO根據(jù)接口圖及題目要求,8254的計 數(shù)器0應(yīng)該工作在方式0,計數(shù)初值No=5000;計數(shù) 器1應(yīng)工作在方式1, N產(chǎn)6000;計數(shù)器2應(yīng)工作在 方式 3, N2=8000o根據(jù)以上分析,可以編寫出8254初始化程序。圖95接口圖8254初始化程序片段如下:;初始化計數(shù)器0MOV AL, 21HOUT 97H, ALMOV AL, 50HOUT 91H, AL ;初始化計數(shù)器MOV AL, 63HOUT 97H, ALMOV AL, 60HOUT 93H, AL ;初始化計數(shù)器2MO

13、V AL, 0A7HOUT 97H, ALMOV AL, 80HOUT 95H, AL四接口設(shè)計題:1.某系統(tǒng)中8254芯片的通道0通道2和控制端口地址分別為FFF0HFFF6H,定義通道0工作在方式2, CLV2MHZ,要求輸出OUT。為1KHZ的速率波;定義通道1工作在方式0,其CLK】輸入外部計數(shù)事件, 每計滿1000個向CPU發(fā)出中斷請求。試寫出8254 通道0和通道1的初始化程序。MOV AL,00100101BMOV DX,0FFF6HOUT DX,ALMOV AL,20HMOV DX,OFFFOHMOV DX,AL解:;8254通道0的初始化程序;8254通道1的初始化程序MOV

14、AL,01100001BMOVDX,0FFF6HOUTDX,ALMOVAL,10HMOVDX,0FFF2HOUTDX,AL14.利用8254的2#計數(shù)器周期性地每隔10ms產(chǎn) 生一次中斷,已知CLK頻率為2MHZ,試選擇工作方 式,并編寫出相應(yīng)初始化程序。解答:設(shè)2#計數(shù)器的地址為72H,控制寄存器的地 址為73H。根據(jù)題意要產(chǎn)生周期性的中斷信號,可選 擇方式2。計數(shù)初值:n=10msX2MHZ=20000=4E20H初始化程序片段如下:MOV AL, 10110100BOUT 73H, ALMOV AL, 20HOUT 72H, ALMOV AL, 4EHOUT 72H, AL1&有

15、如下接口原理圖,如圖9.13所示。要求發(fā)光二極管L1在K1啟動后亮3秒鐘就熄滅;發(fā)光二極 管L2亮2秒滅2秒交替進(jìn)行。編寫出簡化匯編源程0 9. 13接口圖解答:據(jù)譯碼電路,8254的端口地址為BOH, B4H, B8H, BCHo根據(jù)題目要求,經(jīng)分析得出:計 數(shù)器1工作在方式1,計數(shù)初值N=6000;計數(shù)器2 工作在方式3,計數(shù)初值N=8000o初始化程序片段如下:MOVOUTMOVOUTMOVOUTMOVAL, 01100011BOBCH, ALAL, 10100111BOBCH, ALAL, 60H0B4H, ALAL, 80HOUT 0B8H, AL21. 已知8254芯片的Ao、A】

16、分別連接到CPU的佻、扎上,要求該芯片的1#計數(shù)器輸出頻率為1KHZ的方波,CLK訐20MHZ,端口地址可合理假設(shè),試編寫8254的初始化程序。解答:假設(shè)端口地址為70H73H,依題意:1#計數(shù)器應(yīng)選方式3,n=20000次=4E20H次,初始化程序AL, 01110110B73H, ALAL, 20H71H, AL片段如下:MOVOUTMOVOUTMOV AL, 4EHOUT 71H, AL22. 設(shè)8255A的A 口工作在方式1,作為中斷方式下 的字符打印機(jī)的接口,此時,若CPU發(fā)出控制信號 通過8255A的C 口向打印機(jī)發(fā)出數(shù)據(jù)鎖存信號,則 CPU送來打印的數(shù)據(jù)被鎖存到打印機(jī)等待打印o打

17、印機(jī)收到打印數(shù)據(jù)后向8255A發(fā)出應(yīng)答信號。此時8255A就發(fā)出中斷請求,中斷信號從8259A的IR3引入,中斷類型號為5BH。設(shè)中斷服務(wù)程序必須裝配在2000H: 2340H處。I/O端口地址任選。(1) 試寫出8255A的初始化程序;(2) 設(shè)8259A以固定優(yōu)先權(quán)、完全嵌套、自動結(jié)束 方式工作,試寫出8259A的預(yù)置命令;(3) 用直接置入法,將中斷服務(wù)程序的地址置入矢(4) 寫出中斷服務(wù)程序;(5) 畫出連接線路圖。解答:(1)假設(shè)8255A的端口地址為80H83H,則初始化程序為:MOV AL, OAOHOUT 83H, ALMOV AL, ODHOUT 83H, AL;方式控制字;

18、INTE 置 1令:(2) 假設(shè)8259A的地址為90H, 91H,則預(yù)置命MOV AL, 13HOUT 90H, ALMOV AL, 5BHOUT 91H, ALMOV AL, 03H;ICW1;ICW2;ICW4OUT 91H, AL(3) 中斷向量表的建立PUSH DSMOV AX, 0MOV DS, AXMOV BX, offset printer ;2340HMOV WORD PTR 016CH, BXMOV BX, seg printer ;2000HMOV WORD PTR 016EH, BXPOP DS(4) 中斷服務(wù)程序:PRINTER: PUSH AXSTIMOV AL, BLOUT 80H, ALCLIPOP AXIRET(5) 接口電路圖如圖:23. 設(shè)8253的通道2工作在計數(shù)方式,外部事件從CL&引入,通道2每計若干個脈沖向CPU發(fā)出中斷請求,CPU響應(yīng)這一中斷后繼續(xù)寫入計數(shù)值,重新開 始計數(shù),保持每1秒鐘向CPU發(fā)出中斷請求。假設(shè) 條件如下:(1) 8253的通道2工作在方式4;(2) 外部計數(shù)事件頻率為1KHZ;(3) 中斷類型號為54H;(4) 8253的通道0通道2和控制端口地址分別為FFFOFFF6H;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論