西工大 微機(jī)原理 試題 例題_第1頁(yè)
西工大 微機(jī)原理 試題 例題_第2頁(yè)
西工大 微機(jī)原理 試題 例題_第3頁(yè)
西工大 微機(jī)原理 試題 例題_第4頁(yè)
西工大 微機(jī)原理 試題 例題_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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)介

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

2、AH、013CH、013EH。 J2的A、B、C和控制端口的地址分別為0130H、0132H、0134H、0136H。(2)按照8255A方式控制字的格式,兩片8255A的控制字分別為:J1:10000011B J2:10010100B或10010101B(3)J1的初始化程序: J2的初始化程序: MOV DX,013EH MOV DX,0136H MOV AL,83H MOV AL,94H(或95H) OUT DX,AL OUT DX,AL【評(píng)注】注意8255A方式控制字的標(biāo)志為D7=1??刂谱忠獙懭肟刂贫丝?,這里由于端口地址為16位,輸出指令中必須采用DX間接尋址。例93 某系統(tǒng)采用串行

3、異步方式與外設(shè)通訊,發(fā)送字符格式由1位起始位、7位數(shù)據(jù)位、1位奇偶校驗(yàn)位和2位停止位組成,波特率為2200b/s。試問(wèn),該系統(tǒng)每分鐘發(fā)送多少個(gè)字符?若選波特率因子為16,問(wèn)發(fā)時(shí)鐘頻率為多少?解(1)因?yàn)榘l(fā)送字符格式由1位起始位、7位數(shù)據(jù)位、1位奇偶校驗(yàn)位和2位停止位組成,所以一幀數(shù)據(jù)長(zhǎng)度為11位,而波特率為2200b/s,由此計(jì)算出該系統(tǒng)每秒鐘發(fā)送2200÷11=200字符,每分鐘為200×60=12000字符。(2)發(fā)送時(shí)鐘頻率為2200×16=35200HZ。例94 圖9.2為一利用8255A實(shí)現(xiàn)的打印機(jī)接口。(1)設(shè)8255A的A口工作在方式0輸入,B口工作

4、在方式0輸出。寫出初始化程序片段。(2)寫出查詢方式下輸出一個(gè)字符至打印機(jī)的程序片段(假設(shè)輸出字符已經(jīng)在AL中)。圖9.2 打印機(jī)接口圖解 根據(jù)接口圖可知8255A的地址為200H203H。(1)8255A初始化程序: MOV DX,0203H MOV AL,10010001B OUT DX,AL(2)打印控制程序: PUSH AX ;暫存AL中的打印字符 MOV DX,0202H WAIT:IN AL,DX ;讀C口內(nèi)容 TEST AL,08H ;測(cè)信號(hào) JZ WAIT ;打印機(jī)忙,則等待 MOV DX,201H POP AX OUT DX,AL ;打印字符輸出到B口 MOV DX,203H

5、 ;從PC7發(fā)一個(gè)負(fù)脈沖,將 MOV AL,0EH 打印字符鎖入打印機(jī) OUT DX,AL MOV AL,0FH OUT DX,AL【評(píng)注】注意控制打印機(jī)的工作流程。首先判斷打印機(jī)忙否,若忙繼續(xù)檢測(cè),否則就可以建立數(shù)據(jù)并發(fā)出選通,將數(shù)據(jù)鎖入打印機(jī)。其中打入鎖存信號(hào)為一負(fù)脈沖,由軟件產(chǎn)生,注意發(fā)脈沖信號(hào)的編程方法。例95 有如下接口原理圖,如圖9.3所示。輸入機(jī)啟動(dòng)一次輸入一個(gè)數(shù)據(jù);打印機(jī)啟動(dòng)一次打印一個(gè)數(shù)據(jù)。要求從輸入機(jī)輸入一個(gè)數(shù)并存入存儲(chǔ)器中,然后再由打印機(jī)將該數(shù)打印出來(lái)!一共輸入10個(gè)數(shù),打印10個(gè)數(shù)。圖9.3 接口圖編寫出滿足上述要求的源程序。解 由接口圖分析可知,8255A的端口地址為

6、E0H、E4H、E8H、ECH。程序如下:.MODEL SMALL.DATAWP DB 10DUP(?).CODE.STARTUPMOV AL,83HOUT 0ECH,AL ;初始化8255AMOV CX,10 ;循環(huán)次數(shù)送CXMOV BX,OFFSET WP AGAIN:MOV AL,00001111BOUT 0ECH,AL ;啟動(dòng)輸入機(jī)PRT:IN AL,0E8H TEST AL,08H ;檢測(cè)PC3,判斷輸入數(shù)據(jù)是否準(zhǔn)備好?JZ PRT ;若否,繼續(xù)檢測(cè)等待IN AL,0E4H ;否則,讀B口數(shù)據(jù)MOV BX,AL ;送入內(nèi)存單元MOV AL,00001110B OUT 0ECH,AL

7、;關(guān)閉輸入機(jī)PST:IN AL,0E8H TEST AL,02H ;檢測(cè)PC1,判斷打印機(jī)忙否?JNZ PST ;若忙,繼續(xù)檢測(cè)等待MOV AL,BX OUT 0E0H,AL ;否則,剛存入內(nèi)存的數(shù)據(jù)送入A口MOV AL,00001001BOUT 0ECH,AL ;啟動(dòng)打印機(jī)MOV AL,00001000BOUT 0ECH,AL ;斷開打印機(jī)INC BXLOOP AGAIN.EXITEND【評(píng)注】注意控制輸入機(jī)的工作流程。首先啟動(dòng)輸入機(jī),然后判斷輸入機(jī)是否將數(shù)據(jù)準(zhǔn)備好,如果沒(méi)有準(zhǔn)備好,繼續(xù)循環(huán)檢測(cè),否則讀取數(shù)據(jù)。打印機(jī)的工作流程同上題。例96 接口圖如圖9.所示,設(shè):8259A邊沿觸發(fā),八個(gè)中

8、斷類型碼為6067H。寫出對(duì)以內(nèi)存DSR開始連續(xù)10個(gè)字節(jié)數(shù)進(jìn)行打印的匯編程序片段。 注:未用的地址線可設(shè)為0。圖9.4 接口圖解 根據(jù)接口圖,8255A的A、B、C、控制口地址分別為8000H、8002H、8004H、8006H,B口工作在方式1。8259A的地址為8028H和802AH。 ;初始化8259A MOV DX,8028H MOV AL,13H OUT DX,AL ;ICW1 MOC DX,802AH MOV AL,60H OUT DX,AL ;ICW2MOV AL,01HOUT DX,AL ;ICW4 ;建立中斷向量表 PUSH DS MOV AX,0 MOV DS,AX MO

9、V SI,OFFSET XY MOV DI,SEG XY MOV 018CH,SI MOV 018EH,DI POP DS ;初始化8255A MOV DX,8006H MOV AL,84H OUT DX,AL MOV AL,05H OUT DX,AL ;INTE置1 ;循環(huán)10次 MOV CX,10 LEA BX,DSR W:HLT LOOP W ;中斷服務(wù)程序 XY:MOV AL,BX MOV DX,8002H OUT DX,AL INC BX IRET【評(píng)注】由于中斷源從8259A的IR3接入,故該中斷源的中斷類型碼為63H,由此計(jì)算出中斷向量地址為63H×4=018CH。例9

10、7 某系統(tǒng)中,8254芯片的計(jì)數(shù)器0,計(jì)數(shù)器1,計(jì)數(shù)器2及控制端口地址分別為70H,71H,72H,73H。若利用計(jì)數(shù)器0對(duì)外部事件計(jì)數(shù),其GATE接高電平,當(dāng)計(jì)數(shù)計(jì)滿3000次向CPU發(fā)出中斷申請(qǐng);且利用計(jì)數(shù)器1輸出頻率為100HZ的方波,CLK1=2MHZ。試編寫8254的初始化程序。解 根據(jù)題意分析,計(jì)數(shù)器0工作在方式0,計(jì)數(shù)置3000次;計(jì)數(shù)器1工作在方式3,計(jì)數(shù)值n=20000=4E20H次;8254初始化程序片段為: MOV AL,21H OUT 73H,AL ;設(shè)置計(jì)數(shù)器0的控制字 MOV AL,30H OUT 70H,AL ;給計(jì)數(shù)器0送計(jì)數(shù)初值 MOV AL,76H OUT

11、73H,AL ;設(shè)置計(jì)數(shù)器1的控制字 MOV AL,20H OUT 71H,AL MOV AL,4EH OUT 71H,AL ;給計(jì)數(shù)器1送計(jì)數(shù)初值【評(píng)注】對(duì)每一個(gè)計(jì)數(shù)器,其控制字必須寫在它的計(jì)數(shù)值之前。計(jì)數(shù)值寫入計(jì)數(shù)器的格式,必須按照控制字的RL1、RL0的規(guī)定格式來(lái)寫。例98 有如下接口原理圖,如圖9.5所示。要求發(fā)光二極管L0亮5秒后就熄滅;L1在K1啟動(dòng)后亮6秒后就熄滅;L2亮4秒滅4秒交替進(jìn)行。寫出源程序片段(段定義語(yǔ)句可以省略)。解 由譯碼電路分析可知,8254芯片計(jì)數(shù)器0、計(jì)數(shù)器1、計(jì)數(shù)器2及控制端口的地址分別為91H,93H,95H,97H。根據(jù)接口圖及題目要求,8254的計(jì)數(shù)

12、器0應(yīng)該工作在方式0,計(jì)數(shù)初值N05000;計(jì)數(shù)器1應(yīng)工作在方式1,N1=6000;計(jì)數(shù)器2應(yīng)工作在方式3,N2=8000。根據(jù)以上分析,可以編寫出8254初始化程序。圖9.5 接口圖 8254初始化程序片段如下: ;初始化計(jì)數(shù)器0 MOV AL,21H OUT 97H,AL MOV AL,50H OUT 91H,AL ;初始化計(jì)數(shù)器1 MOV AL,63H OUT 97H,AL MOV AL,60H OUT 93H,AL ;初始化計(jì)數(shù)器2 MOV AL,0A7H OUT 97H,AL MOV AL,80H OUT 95H,AL 四.接口設(shè)計(jì)題:1.某系統(tǒng)中8254芯片的通道0通道2和控制端口

13、地址分別為FFF0HFFF6H,定義通道0工作在方式2,CLK0=2MHZ,要求輸出OUT0為1KHZ的速率波;定義通道1工作在方式0,其CLK1輸入外部計(jì)數(shù)事件,每計(jì)滿1000個(gè)向CPU發(fā)出中斷請(qǐng)求。試寫出8254通道0和通道1的初始化程序。解: ;8254通道0的初始化程序 MOV AL,00100101B MOV DX,0FFF6H OUT DX,AL MOV AL,20H MOV DX,0FFF0H MOV DX,AL;8254通道1的初始化程序MOV AL,01100001B MOV DX,0FFF6H OUT DX,AL MOV AL,10H MOV DX,0FFF2H OUT D

14、X,AL 14.利用8254的2#計(jì)數(shù)器周期性地每隔10ms產(chǎn)生一次中斷,已知CLK頻率為2MHZ,試選擇工作方式,并編寫出相應(yīng)初始化程序。解答:設(shè)2#計(jì)數(shù)器的地址為72H,控制寄存器的地址為73H。根據(jù)題意要產(chǎn)生周期性的中斷信號(hào),可選擇方式2。計(jì)數(shù)初值: n=10ms×2MHZ=20000=4E20H初始化程序片段如下: MOV AL,10110100B OUT 73H,AL MOV AL,20H OUT 72H,AL MOV AL,4EH OUT 72H,AL 18.有如下接口原理圖,如圖9.13所示。要求發(fā)光二極管L1在K1啟動(dòng)后亮3秒鐘就熄滅;發(fā)光二極管L2亮2秒滅2秒交替進(jìn)

15、行。編寫出簡(jiǎn)化匯編源程序。圖9.13 接口圖 解答:據(jù)譯碼電路,8254的端口地址為B0H,B4H,B8H,BCH。根據(jù)題目要求,經(jīng)分析得出:計(jì)數(shù)器1工作在方式1,計(jì)數(shù)初值N6000;計(jì)數(shù)器2工作在方式3,計(jì)數(shù)初值N=8000。初始化程序片段如下: MOV AL,01100011B OUT 0BCH,AL MOV AL,10100111B OUT OBCH,AL MOV AL,60H OUT 0B4H,AL MOV AL,80H OUT 0B8H,AL 21.已知8254芯片的A0、A1分別連接到CPU的A0、A1上,要求該芯片的1#計(jì)數(shù)器輸出頻率為1KHZ的方波,CLK1=20MHZ,端口地

16、址可合理假設(shè),試編寫8254的初始化程序。解答:假設(shè)端口地址為70H73H,依題意:1#計(jì)數(shù)器應(yīng)選方式3, n=20000次=4E20H次,初始化程序片段如下: MOV AL,01110110B OUT 73H,AL MOV AL,20H OUT 71H,AL MOV AL,4EH OUT 71H,AL22.設(shè)8255A的A口工作在方式1,作為中斷方式下的字符打印機(jī)的接口,此時(shí),若CPU發(fā)出控制信號(hào)通過(guò)8255A的C口向打印機(jī)發(fā)出數(shù)據(jù)鎖存信號(hào),則CPU送來(lái)打印的數(shù)據(jù)被鎖存到打印機(jī)等待打印。打印機(jī)收到打印數(shù)據(jù)后向8255A發(fā)出應(yīng)答信號(hào)。此時(shí)8255A就發(fā)出中斷請(qǐng)求,中斷信號(hào)從8259A的IR3引

17、入,中斷類型號(hào)為5BH。設(shè)中斷服務(wù)程序必須裝配在2000H:2340H處。I/O端口地址任選。(1)試寫出8255A的初始化程序;(2)設(shè)8259A以固定優(yōu)先權(quán)、完全嵌套、自動(dòng)結(jié)束方式工作,試寫出8259A的預(yù)置命令;(3)用直接置入法,將中斷服務(wù)程序的地址置入矢量表中;(4)寫出中斷服務(wù)程序;(5)畫出連接線路圖。 解答:(1)假設(shè)8255A的端口地址為80H83H,則初始化程序?yàn)椋?MOV AL,0A0H ;方式控制字 OUT 83H,AL MOV AL,0DH ;INTE置1 OUT 83H,AL(2)假設(shè)8259A的地址為90H,91H,則預(yù)置命令: MOV AL,13H ;ICW1

18、OUT 90H,AL MOV AL,5BH ;ICW2 OUT 91H,ALMOV AL,03H ;ICW4 OUT 91H,AL(3)中斷向量表的建立 PUSH DS MOV AX,0 MOV DS,AX MOV BX,offset printer ;2340H MOV WORD PTR 016CH,BX MOV BX,seg printer ;2000H MOV WORD PTR 016EH,BX POP DS(4)中斷服務(wù)程序: PRINTER:PUSH AX STI MOV AL,BL OUT 80H,AL CLI POP AX IRET(5)接口電路圖如圖:23.設(shè)8253的通道2工作在計(jì)數(shù)方式,外部事件從CLK2引入,通道2每計(jì)若干個(gè)脈沖向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)這一中斷后繼續(xù)寫入計(jì)數(shù)值,重新開始計(jì)數(shù),保持每1秒鐘向CPU發(fā)出中斷請(qǐng)求。假設(shè)條件如下:(1)8253的通道2工作在方式4;(2)外部計(jì)數(shù)事件頻率為1KHZ;(3)中斷類型號(hào)為54H;(4)8253的通道0通道2和控制端口地址分別為FFF0FFF6H;(5)用

溫馨提示

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