微機原理第八章_第1頁
微機原理第八章_第2頁
微機原理第八章_第3頁
微機原理第八章_第4頁
微機原理第八章_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章作業(yè)8.1根據(jù)接口電路的功能,簡要說明I/O接口電路應(yīng)包括哪些電路單元?解:I/O接口電路包括的電路單元:輸入/輸出鎖存器與緩沖器命令寄存器和狀態(tài)寄存器地址譯碼電路讀/寫控制邏輯中斷控制邏輯8.2說明8255A工作于方式0和方式1的區(qū)別。解:8255A工作于方式0:8255A是分成相互獨立的8位A口、B口及4位上C口、4位下C口,C口4位為一組,每組只能同時設(shè)定為輸入輸出,輸入不鎖存,輸出鎖存。不能采用中斷的方法與CPU交換信息,但可用應(yīng)答查詢方式來進行數(shù)據(jù)傳送。通常以A口和B口做數(shù)據(jù)口,而用C口的某些位作為查詢方式的控制與狀態(tài)信號線使用。C口中哪些引線充當何種應(yīng)答功能,可以由用戶來指定

2、。工作于方式1:A,B口做應(yīng)答式輸入/輸出端口,輸入/輸出均鎖存,高4位C口做應(yīng)答式A口的應(yīng)答線,低4位C口做應(yīng)答式B口的應(yīng)答線。8.3說明8255A在方式1輸入時的工作過程。解:當外設(shè)有數(shù)據(jù)需要輸入時,將數(shù)據(jù)送到8255A接口上,STB變?yōu)橛行?,?shù)據(jù)鎖存入8255A,同時IBF變有效。當STB由低變高時,若8255A片內(nèi)中斷允許信號INTE高電平有效,則8255A的PC3(或PC0)位INTR變高電平有效,向CPU發(fā)出中斷請求.CPU響應(yīng)中斷后,在中斷服務(wù)程序中CPU執(zhí)行到從8255A端口讀取數(shù)據(jù)指令時,產(chǎn)生RD有效信號。一方面將8255A鎖存的數(shù)據(jù)讀入到CPU中并延遲一段時間,撤銷向CPU

3、申請中斷的信號INTR,使其無效,另一方面利用RD信號的上升沿使IBF復(fù)位。8.4說明8255A在方式1輸出時的工作過程。解:進入中斷服務(wù)程序后,CPU向指定接口寫數(shù)據(jù),IOW將數(shù)據(jù)所存在接口之中。當數(shù)據(jù)背鎖存并由端口信號線輸出時,8255A就清楚INTR信號并使OBF有效。有效的OBF通知外設(shè)接收數(shù)據(jù)。一旦外設(shè)將數(shù)據(jù)接受,就送出一個有效的ACK脈沖,該脈沖使OBF無效,同時產(chǎn)生一個新的中斷請求,請求CPU向外設(shè)輸出下一個數(shù)據(jù)。8.58255A的三個端口在使用時有什么差別?解:端口A或B作為輸入輸出的數(shù)據(jù)端口(端口A還可以作為雙向數(shù)據(jù)端口),而端口C作為控制或狀態(tài)信號的端口,它在方式字的控制下

4、,可以分成高4位C口和低4位C口。2個端口各包含一個4位鎖存器。高4位C口與端口A,低4位C口與B配合使用,可用以作為控制信號輸出,或作為狀態(tài)信號輸入。 8.6說明8253的方式2與方式3的工作特點方式2工作特點: 寫入計數(shù)值開始計數(shù),周期性計數(shù)。 計數(shù)過程中GATE=0,暫停計數(shù),GATE=1重新計數(shù)。 計數(shù)過程中改變計數(shù)值,下一周期按新的計數(shù)值計數(shù)。方式3工作特點:寫入計數(shù)值開始計數(shù),周期性計數(shù)。 N=偶數(shù),正負半周=N/2;N=奇數(shù),正半周=(N1)/2,負半周=(N1)/2。計數(shù)過程中GATE=0,暫停計數(shù);GATE=1,重新計數(shù)。 計數(shù)過程中改變計數(shù)值,下一周期按新的計數(shù)值計數(shù)。方式

5、2與方式3性能完全相同,均為軟件啟動,重復(fù)周期輸出,但OUT輸出波形不同。方式2的OUT只輸出1個負脈沖,而方式3為方波,輸出的高低電平寬度相同(初值為偶數(shù)正負半周相同,初值為奇數(shù)時正半周比負半周多一個脈沖周期);8.7說明8253的方式1與方式5的工作特點方式1工作特點: 一次寫入計數(shù)值多次計數(shù)。 GATE=1啟動計數(shù),重復(fù)啟動重復(fù)計數(shù)。 計數(shù)過程中改變計數(shù)值,下次啟動按新的計數(shù)值計數(shù) 計數(shù)值為N,計數(shù)N次方式5工作特點:一次寫入計數(shù)值多次計數(shù)。 GATE上升沿啟動計數(shù),重復(fù)啟動重新計數(shù)。 計數(shù)過程中改變計數(shù)值,下次啟動按新的計數(shù)值重新計數(shù)。 計數(shù)值為N,計數(shù)N+1次。方式1與方式5性能完全

6、相同,均為硬件GATE門控信號可重復(fù)觸發(fā),但OUT輸出波形不同。方式1的OUT輸出N個負脈沖,而方式5僅1個;8.88253在寫入計數(shù)初值時,二進制計數(shù)和十進制計數(shù)有什么區(qū)別?如計數(shù)值為70,十進制計數(shù)為:70H(BCD碼)二進制計數(shù)為:46H(十六進制)8.178255A用作查詢式打印機接口的電路連接和信號時序如圖,8255A的端口地址為90H93H,工作于方式0.試編寫程序段,將數(shù)據(jù)區(qū)中變量DATA的8位數(shù)據(jù)送打印機打印。打印機8255APC6 PA7PA0 PC2STBDATA7DATA0BUSYDATASTBBUSYMOV AL,1000 1011B OUT 93H,ALMOV AL,

7、DATAOUT 90H,ALIN AL,92HLOP:TEST AL,0000 0100BJNE LOPMOV AL,00001101BOUT 93H,ALMOV AL,00001100BOUT 93H,ALHLT8.218253通道0按方式3(方波發(fā)生器)工作,時鐘CLK0的頻率為1MHz,要求輸出方波的頻率為50kHz,此時寫入計數(shù)初值應(yīng)為什么?輸出方波的“1”和“0”各占多少時間?解:計數(shù)初值=1M/50K=20;方波周期為20s由于周期為偶數(shù)20,因此計到20/2時,OUT由高變低因此輸出方波1和0各占10s8.228253某通道的時鐘頻率為1MHz,按BCD方式計數(shù),若寫入的計數(shù)初值

8、為0080H,則該通道的定時時間是多少?解:對于BCD碼計數(shù)則0080H表示計數(shù)值80H通道輸出頻率:1M/80=12500HZ定時時間:1/12500=8*10(-5)S=80s8.248253的計數(shù)通道0連接如圖,圖略,試回答:(1) 計數(shù)通道0工作于何種方式,并寫出工作方式名稱;解:由于出現(xiàn)一個時鐘周期寬度的負脈沖的方式由2和5方式,但是由于GATE0時鐘為1,因此由此可知計數(shù)通道0工作于方式2。工作方式名稱為頻率發(fā)生器(2) 寫出計數(shù)通道0的計數(shù)初值(要列出計算式)。解:由于一個CLK周期寬度為400ns,OUT端周期為1ms,因此計數(shù)初值為:1ms/400ns=25008.25若用8

9、253計數(shù)器對設(shè)備的轉(zhuǎn)軸的旋轉(zhuǎn)速度進行測試,接口電路圖略,若與軸相連的轉(zhuǎn)盤上均勻地鉆有每圈50個孔,當軸旋轉(zhuǎn)時,通過光電轉(zhuǎn)換,每通過一個小孔,產(chǎn)生一個正脈沖,當軸旋轉(zhuǎn)一圈,就會有50個脈沖通過CLK輸入8253計數(shù)器進行計數(shù)。假設(shè)此轉(zhuǎn)軸的轉(zhuǎn)速范圍為501000轉(zhuǎn)/秒,并設(shè)8253的端口地址為64H67H。(1) 給出一個算法,將測量轉(zhuǎn)軸的轉(zhuǎn)速轉(zhuǎn)換為計量脈沖的個數(shù)。由題得,最高轉(zhuǎn)速為1000轉(zhuǎn)/秒,因此,每秒最高脈沖數(shù)為:1000*50=50000個=C350H因此計數(shù)器必須用16位計數(shù),而且需要用二進制數(shù)假設(shè)定時為0.01s則計量脈沖個數(shù)=轉(zhuǎn)速*0.01s*50個(2) 若用計數(shù)器0對脈沖計數(shù)

10、,用計數(shù)器1作為定時器。設(shè)CLK1頻率為200kHz,用定時100ms來計數(shù)。請詳細說明計數(shù)器0、1的工作方式控制字和計數(shù)初值,并寫出8253的初始化程序。計數(shù)器0的工作方式控制字:00 11 000 0B計數(shù)初值:0000H 計數(shù)器1的工作方式控制字:01 11 000 0B計數(shù)初值:100ms/(1/200kHz)=20000D=4E20H8253初始化程序: MOV AL,00110000BMOV 67H,ALMOV AX,00HOUT 80H,ALMOV AL,AHOUT 80H,ALMOV AL,01110000BMOV 67H,ALMOV AX,4E20HOUT 80H,ALMOV

11、 AL,AHOUT 80H,AL8.34一個采用查詢方式傳送的輸出接口,其數(shù)據(jù)端口地址為200H,狀態(tài)端口地址為201H,外設(shè)狀態(tài)用D0表示是否可接收數(shù)據(jù)(0為空閑,1為忙),將存儲器中首地址為BUFFER的5000B數(shù)據(jù)輸出,試畫出流程圖,并編寫控制程序段。等待NYN結(jié)束開始讀取外設(shè)狀態(tài)READY?傳送數(shù)據(jù)傳送結(jié)束?Y解:MOV CX,5000XOR SI,SIL0P1:MOV DX,201H IN AL,DX;讀取狀態(tài)端口地址上的狀態(tài)給AL TEST AL,01H;不滿足D0為0時則緩沖 JNE LOP1 MOV AL,BUFFERSI MOV DX.200H OUT DX,AL INC

12、SI LOOP L0P1 HLT8.35用一片8255A控制一組紅、綠、黃燈,如圖,反復(fù)檢測S1,S2,要求由S1,S2的“閉合”和“斷開”控制紅、綠、黃燈的點亮。當S1合,S2合時,黃燈亮;當S1合,S2斷時,紅燈亮;當S1斷,S2合時,綠燈亮;當S1斷,S2斷時,黃燈亮。試根據(jù)上述條件編寫初始化及控制程序(設(shè)8255A端口地址為80H83H)MOV AL,10010010B OUT 83H,AL LOP0:IN AL,80HTEST AL,00000001BJNE LOP2TEST AL,00000010BJNE LOP3MOV AL,00000000;S1合,S2斷,紅亮OUT 83H,

13、ALMOV AL,00000011BOUT 83H,ALMOV AL,00000101BOUT 83H,ALJMP LOP5LOP2:TEST AL,00000010BJNE LOP4MOV AL,00000001B;S1斷,S2斷,黃亮OUT 83H,ALMOV AL,00000011BOUT 83H,ALMOV AL,00000100BOUT 83H,ALJMP LOP5LOP3: MOV AL,00000001BOUT 83H,ALMOV AL,00000011B;S1合,S2合,黃亮OUT 83H,ALMOV AL,00000100BOUT 83H,ALJMP LOP5LOP4:MOV

14、 AL,00000001B;S1斷,S2合,綠亮OUT 83H,ALMOV AL,00000010BOUT 83H,ALMOV AL,00000101BOUT 83H,ALLOP5: JMP LOP08.438255A的PA口與8個LED管連接如圖1(略),用8253作定時器控制8個LED管自下向上閃動,8253連接如圖2(略),閃動頻率為10次/秒,8253的端口地址為40H43H,8255A的端口地址為60H63H,其控制程序片段如下。主程序: MOV AL,80H (1) OUT 63H,AL (2) MOV AL,34H (3) OUT 43H,AL (4) MOV AL,0ABH (

15、5) OUT 40H,AL (6) MOV AL,61H (7) OUT 40H,AL (8) MOV AL,7FH (9) OUT 60H,AL (10) STILOP: HLT JMP LOP中斷服務(wù)程序:INTROUT PROC FAR (11)(設(shè)CS=1280H) ORG 2000H (12) ROR AL,1 (13) OUT 60H,AL (14) IRET (15)試問:(1)從程序中的數(shù)據(jù),計算8253中CLK0的時鐘周期TCLK0以及該控制程序中所使用的中斷服務(wù)程序的中斷類型號n的值,中斷向量表如圖3.輸入次數(shù)為61A8H=25000次Tout0=1/10s/8=12.5m

16、sTclk0=12.5/25000=0.5s由CS=1280H知,n=34H÷4=00001101H=0DH(2) 若閃動頻率改為1次/分,且為自上而下閃動,可采用如圖4的串接形式,中斷類型號為(1)中計算值加1(0EH),請對程序做最小限度的更改,以滿足上述要求(計數(shù)通道0工作不變)。在(8)后插入MOV AL,74HOUT 43H,ALMOV AL,58H;60秒/8=7.5秒 7.5/12.5=600=0258HOUT 41H,ALMOV AL,02HOUT 41H,AL8.448086CPU通過8255A同發(fā)光二極管LED0LED7以及開關(guān)S0S7的接口電路如圖,發(fā)光二極管L

17、ED0LED7不斷顯示對應(yīng)開關(guān)S0S7的通斷狀態(tài)。圖略。要求:(1) S0S7的狀態(tài)每隔30秒改變一次,把每次變化的狀態(tài)記錄在2000H:1000H開始的內(nèi)存單元中。(2) S接通時,對應(yīng)的二極管熄滅,S斷開時,對應(yīng)的二極管發(fā)亮(即S0斷開,LED0發(fā)亮,S0接通,LED0熄滅)(3) 連續(xù)工作24小時結(jié)束。由書中圖可知,控制口地址為173H,由此推出,A口地址170H,B口地址171H,C口地址172H START:MOVAL,99HMOVDX,173HOUT DX,ALMOVAX,2000HMOVDS,AXLOP:MOVCX,288024*60*2個半分鐘 LOP1:MOVBX,1000H

18、LOP2:MOVDX,170HINAL,DXMOVBX,ALINCBXXORAL,0FFH取反,A連B滅,A斷B亮MOVDX,171HOUTDX,ALTESTBX,1007HJNALOP2CALLDELAY30SMOVDX,170HINAL,DXLOOPLOP1HLT延時半分鐘子程序DELAY30SPROCMOVBX,3000DELAY:MOVCX,2800 WAIT:LOOPWAITDECBXJNZDELAYDELAY30SENDP8.45讓8253計數(shù)器0用1ms脈沖信號源作CLK0且工作在方式3,定時1min,用8255A的PC6提供GATE0。在定時期間,由PC7控制的燈亮(PC7=1,亮),對OUT0的檢測通過PC0進行,定時結(jié)束時燈滅,請先畫出脈沖信號源、8253/8255A的連接關(guān)系圖,再編寫程序段(8253,8255A采用PC機上的端口地址)。8255PC下PC上8253計數(shù)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論