版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
TEC-2實驗計算機原理實驗
第一章TEC-2實驗箱原理§1.1TEC-2機硬件系統(tǒng)的基本組成1.TEC-2機硬件的基本組成邏輯框圖實物圖垂直板實物圖試驗箱與計算機連接圖2.TEC-2機的簡化邏輯框圖
4片AM2901芯片組成,還包括由一片Gal20v8組成的狀態(tài)寄存器,以及其它一些輔助電路2片LS377組成16位的指令寄存器2片2716ROM芯片組成的微控存地址映射部件1片AM2910實現(xiàn)的微程序定序器7片6116芯片(RAM存儲器芯片,8×2048容量)與2片8×2048容量的2716ROM芯片組成的控存6片LS374和1片LS273組成56位的微指令寄存器4KW的ROM區(qū)(存放監(jiān)控程序)和2KW的RAM區(qū)(存放用戶程序及數(shù)據(jù))兩片Intel8251芯片,1片MC1488和1片MC1489芯片(實現(xiàn)電平轉(zhuǎn)換)和1片端口地址譯碼器74LS138芯片組成?!?.2TEC-2機的指令系統(tǒng)(1)無操作數(shù)無操作數(shù)指令共11條。其格式如下:NOP;空操作PSHF;狀態(tài)字入棧POPF;狀態(tài)字出棧EI;開中斷,INTE=1DI;關(guān)中斷,INTE=0STC;進位置1CLC;進位清0RET;子程序返回IRET;中斷返回LDMC;裝入微指令代碼HALT;動態(tài)停機指令(2)單操作數(shù)指令共12條。PUSHDR;壓入DRPOP DR;彈出DRINC DR;DR←DR+1 DEC DR;DR←DR-1NOT DR;DR求反,DR←/DRSHL DR;DR左移,最低位補0,最高位移入C。ASR DR;DR算術(shù)右移,最高位不變,最低位移入C。SHR DR;DR邏輯右移,最高位補0,最低位移入C。RCL DR;DR與C循環(huán)左移,C入最低位,最高位移入C。RCR DR;DR與C循環(huán)右移,C入最高位,最低位移入C。MULSR;無符號乘,R1×SR→R0R1,根據(jù)R1的值置狀態(tài)位DIVSR;無符號除,R0R1/SR→R0(余數(shù))R1(商),根據(jù)R1的值置狀態(tài)位(3)雙操作數(shù)指令共17條。ADD DR,SR;DR←DR+SRADC DR,SR;DR←DR+SR+CSUB DR,SR;DR←DR-SRSBB DR,SR;DR←DR-SR-CCMP DR,SR;DR-SRAND DR,SR;DR←DRandSROR DR,SR;DR←DRorSRXOR DR,SR;DR←DRxorSRTEST DR,SR;DR&SRMOV DR,SR;DR←SRMOV DR,[SR];DR←[SR]MOV [DR],SR;[DR]←SRMOVDR,DATA; DR←DATAMOVDR,[ADR]; DR←[ADR]MOV[ADR],SR; [ADR]←SRMOVDR,DATA[SR];DR←[DATA+SR]MOVDATA[SR],DR;[DATA+SR]←DR第二章TEC-2實驗計算機原理實驗內(nèi)容實驗一TEC-2機運算器實驗實驗內(nèi)容與步驟:
脫機方式1、將TEC-2機功能開關(guān)FS4置為“1”2、將TEC-2機主脈沖置為單步方式,即STEP/CONT開關(guān)撥向STEP一邊3、用D0+0→R0將立即數(shù)D0置入寄存器R0波特率開關(guān)數(shù)據(jù)開關(guān)SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R0)SCISSHD15-D0011000111000000000000000AAAAH☆按上表設(shè)置各控制信號(MI8-MI0為垂直板元件V60SW2,A口、B口、SCI、SSH為垂直板元件V61SW1)☆按上表設(shè)置十六位數(shù)據(jù)開關(guān)(為:“AAAAH”,即“1010101010101010”)☆按壓一次STEP鍵后,立即數(shù)D0即置入寄存器R0中4、用D1+0→R1將立即數(shù)D1置入寄存器R1波特率開關(guān)數(shù)據(jù)開關(guān)SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R1)SCISSHD15-D00110001110000000000100005555H☆按上表設(shè)置各控制信號(MI8-MI0為垂直板元件V60SW2,A口、B口、SCI、SSH為垂直板元件V61SW1)☆按上表設(shè)置十六位數(shù)據(jù)開關(guān)(為:“5555H”,即“0101010101010101”)☆按壓一次STEP鍵后,立即數(shù)D1即置入寄存器R1中5、對R0和R1進行各種算術(shù)、邏輯運算可參看下表,將開關(guān)S2S1S0置于“110”狀態(tài)時,指示燈將顯示ALU的運算結(jié)果將開關(guān)S2S1S0置于“000”狀態(tài)時,指示燈將顯示SVZC的狀態(tài)(H25=S,H26=V,H27=Z,H28=C)聯(lián)機方式1、啟動TEC-2機,進入監(jiān)控程序狀態(tài)(具體方法見“附件:2、用“A”命令輸入程序在命令行提示符狀態(tài)下輸入:A800↙屏幕將顯示:0800:之后繼續(xù)輸入:MOVR0,AAAA↙MOVR1,5555↙ADDR0,R1↙SUBR0,R1↙ORR0,R1↙ANDR0,R1↙RET↙3、用“G”命令運行程序在命令行提示符狀態(tài)下輸入:G800↙執(zhí)行上面輸入的程序4、用“R”命令觀察運行結(jié)果及狀態(tài)在命令行提示符狀態(tài)下輸入:R↙觀察運行結(jié)果及狀態(tài)屏幕將顯示:R0=5555R1=5555......PC=0800............F=000001110800:2C00 MOV R0,AAAA5、用“T”或“P”命令單步執(zhí)行,用“R”命令觀看結(jié)果及狀態(tài)在命令行提示符狀態(tài)下輸入:T↙ 或P↙ 重復(fù)執(zhí)行第(四)步,觀察運行結(jié)果及狀態(tài)本次實驗報告要求:1、實驗步驟要寫出在脫機方式下,如何設(shè)置運算器的功能、如何讓運算器執(zhí)行運算、如何觀察運算結(jié)果。2、實驗內(nèi)容要求:畫出AM2901、AM2902的串行和并行進位連接方式。說明各實驗測試結(jié)果。實驗三、TEC-2主存儲器擴展實驗一、實驗?zāi)康模簩W習主存儲器系統(tǒng)設(shè)計、擴展等內(nèi)容。了解主存工作過程中各信號之間時序關(guān)系。二、實驗器材:1、TEC-2機一臺,終端顯示器一臺,內(nèi)存擴展板一塊。2、接線工具一套,導(dǎo)線若干。三、預(yù)習要求:詳細了解存儲芯片61162K×8RAM的操作方式,譯碼芯片LS138及TEC-2機內(nèi)存的讀/寫信號,看懂實驗內(nèi)容中的電路原理示意圖和主存儲器擴展實驗原理圖。五、接線圖主存儲器擴展實驗接線圖GND/MMWAB15AB13AB11AB9AB7AB5AB3AB1AB14AB12AB10AB8AB6AB4AB2AB0/MERQABCG2B /Y7G2AG1138A10A9A8A7A6A5A4A3A2A1A0/Y0/Y1/Y2/Y3/Y4/Y5/Y66116①6116②6116④6116③/WE/OE/CS/WE/OE/CS/WE/OE/CS/WE/OE/CS接線(用直徑0.2mm的單股導(dǎo)線)1、輸出允許接地6116芯片①、②、③、④右側(cè)/OE均接地(擴展板左上方)2、接擴展板讀、寫信號6116芯片①、②、③、④右側(cè)/WE均接/MMW(擴展板左上方)3、接6116芯片地址總線A0-A10(6116芯片①的左側(cè))接AB0-AB10(138芯片左側(cè))4、6116芯片片選接138譯碼器6116芯片①、②右側(cè)/CS均接/Y0(138芯片右側(cè))6116芯片③、④右側(cè)/CS均接/Y1(138芯片右側(cè))5、接138譯碼器輸入AB15接G1(138芯片左側(cè))AB14接G2B(138芯片左側(cè))AB13接C(138芯片左側(cè))AB12接B(138芯片左側(cè))AB11接A(138芯片左側(cè))/MERQ接G2A(138芯片左側(cè))6、內(nèi)存擴展板與TEC-2主機相連將TEC-2機50芯扁平電纜線與擴展板相連(注意:50芯扁平電纜線與擴展板方向不要接反,扁平電纜線紅線邊向上)六、啟動TEC-2機,進入監(jiān)控程序狀態(tài)1、從8000H開始的內(nèi)存單元實驗
用“E”命令輸入數(shù)據(jù)在命令行提示符狀態(tài)下輸入:E8000↙屏幕將顯示:8000:之后繼續(xù)輸入:(每個數(shù)值間用空格鍵分開,輸入完畢用回車鍵)0000111122223333444455556666777788889999↙
用“D”命令察看輸入的數(shù)據(jù)在命令行提示符狀態(tài)下輸入:D8000↙屏幕將顯示:8000 000011112222333344445555666677778008 88889999...
觀察內(nèi)容是否正確七、單步命令實驗1、從8000H開始的內(nèi)存單元實驗用“A”命令輸入程序在命令行提示符狀態(tài)下輸入:A800↙屏幕將顯示:0800:之后繼續(xù)輸入:MOV R0,8000↙MOV R1,0000↙MOV R2,800↙MOV [R0],R1↙INC R0↙INC R1↙DEC R2↙JP NZ,806↙RET↙↙用“G”命令執(zhí)行輸入的程序在命令行提示符狀態(tài)下輸入:G800↙用“D”命令察看程序執(zhí)行的結(jié)果在命令行提示符狀態(tài)下輸入:D8000↙屏幕將顯示:8000 000000010002000300040005000600078008 00080009000A000B000C000D000E000F八、連續(xù)程序?qū)嶒炗谩癆”命令輸入程序在命令行提示符狀態(tài)下輸入:A800↙屏幕將顯示:0800:之后繼續(xù)輸入:MOV R0,8800↙MOV R1,0000↙MOV R2,800↙MOV [R0],R1↙INC R0↙INC R1↙DEC R2↙JP NZ,806↙RET↙↙用“G”命令執(zhí)行輸入的程序在命令行提示符狀態(tài)下輸入:G800↙用“D”命令察看程序執(zhí)行的結(jié)果在命令行提示符狀態(tài)下輸入:D8800↙屏幕將顯示:8800 000000010002000300040005000600078808 00080009000A000B000C000D000E000F2、從8800H開始的內(nèi)存單元實驗九、本次實驗報告要求:1、實驗原理圖的地址范圍2、設(shè)有4K的用戶存儲區(qū),其地址范圍為:A000H~A7FFH,B000H~B7FFH。有如下程序: MOV R0,A000 MOV R1,A000 MOV R2,0800LOOP: MOV [R0],R1 INC R0 INC R1 DEC R2 JR NZ,LOOP RET問:①程序要求存入內(nèi)存0A7F7H起始的單元中,應(yīng)對該程序段進行哪些改動才能存儲程序并使之運行?如用實驗實施如何改動連線?②如果程序存入內(nèi)存0A000H起始的單元中,程序能正常運行結(jié)束嗎?為什么?③用“E”命令對未擴展的內(nèi)存區(qū)域?qū)懭霐?shù)據(jù)或用“D”命令觀察寫入結(jié)果會出現(xiàn)什么情況?實驗四TEC-2機輸入/輸出接口實驗一、實驗?zāi)康模?、學習TEC-2并行口的正確設(shè)置與應(yīng)用。2、學習TEC-2機的I/O擴展技術(shù)。二、實驗設(shè)備與器材1、TEC-2機,PC機1臺,通訊電纜一條。2、實驗電路板一塊,板上有INTEL8255芯片一塊及輔助電路。3、工具、導(dǎo)線等。三、實驗內(nèi)容并行接口實驗原理圖并行接口實驗接線圖⑴連接電路⑵簡單的輸入輸出I/O實驗 MOV R0,8A ;設(shè)置8255A的控制字 OUT 87 ;輸出到控制端口,初始化8255A IN 85 ;讀B口數(shù)據(jù) OUT 84 ;輸出到A口 CALL 009B ;輸出到終端 CALL 009B CALL 009B CALL 09FF RET運行程序首先將擴展實驗板八位數(shù)據(jù)開關(guān)輸入置為00100001,執(zhí)行程序>G800屏幕應(yīng)顯示:?。?!>將擴展實驗板八位數(shù)據(jù)開關(guān)輸入置為00100011,執(zhí)行程序>G800屏幕應(yīng)顯示:###>(3)趣味實驗:閃爍的燈主程序0B00:MOV R0,8A ;設(shè)置8255A的控制字 OUT 87 ;輸出到控制端口,初始化8255A0B03:IN 85 ;讀B口數(shù)據(jù) MOV R2,0003 AND R0,R2 MOV R1,0001 MOV R2,,0002 MOV R3,0003 SUB R1,R0 JP Z,0C00 SUB R2,R0 JP Z,0D00 SUB R3,R0 JP Z,0E00 MOV R0,21 CALL 9B CALL 9B CALL 9B RET子程序10C00:MOV R0,F(xiàn)0F0 MOV R8,400C04:OUT 84 NOT R0 CALL 09FF DEC R8 JP NZ,0C04 RET子程序20D00:MOV R8,400D02:MOV R2,0008 MOV R0,00010D06:OUT 84 RCL R0 CALL 09FF DEC R2 JP NZ,0D06 DEC R8 JP NZ,0D02 RET子程序30E00:MOV R8,400E02:MOV R0,AAAA MOV R2,00020E06:OUT 84 ASR R0 CALL 09FF DEC R2 JP NZ,0E06 DEC R8 JP NZ,0E02 RET延遲子程序:09FF:MOV R1,9FFF0A01:DEC R1 JP NZ,0A01 RET注意:分別設(shè)置數(shù)據(jù)開關(guān)的低兩位為11、10、01、00,觀察顯示燈的變化。同學們要認真閱讀以上程序,弄懂工作原理。有興趣的同學可以對以上程序進行修改,設(shè)計出更多的顯示燈的變化形式(4)中斷方式輸入/輸出實驗0850: MOV R0,8A OUT 87 IN 85 MOV R9,600856: OUT 84 CALL 009B CALL 009B CALL 009B CALL 09FF EI INC R0 DEC R9 JP NZ,0856 RET輸入中斷服務(wù)程序>A8880888: PUSH R0 IN 85 OUT 84 CALL 009B CALL 009B CALL 009B CALL 09FF POP R0 EI IRET延時子程序>A9FF09FF:MOV R1,9FFF0A01:DEC R1 JP NZ,0A01 RET輸入中斷向量:用E命令將內(nèi)存單元0FD0~0FD7寫入中斷服務(wù)程序的入口地址0888H。思考:為何均要寫入0888>EFD0↙0FD0:08880888088808880888088808880888用D命令查看0FD0~0FD7是否為0888運行主程序>G850屏幕將顯示:!!!″″″###.........壓下微動開關(guān),用微動開關(guān)壓下形成的中斷申請啟動中斷服務(wù)程序,使屏幕顯示:?。?!......(在擴展實驗板八位數(shù)據(jù)開關(guān)輸入置為00100001時的顯示情形)抬起微動開關(guān),撤去中斷,屏幕將返回主程序顯示狀態(tài)思考題:⑴在簡單的輸入輸出I/O實驗中,將擴展實驗板上的8位數(shù)據(jù)開關(guān)輸入置為01000010時,終端上顯示什么字符?若要在終端上顯示“D”,應(yīng)將擴展實驗板上的8位數(shù)據(jù)開關(guān)輸入置為何值?若要在終端上顯示“0”呢?⑵在閃爍的燈的實驗中,如何變換燈的閃爍的形式?如何調(diào)整閃爍延遲的時間并行接口芯片8255A一、8255A的內(nèi)部結(jié)構(gòu)A組控制數(shù)據(jù)總線緩沖器讀/寫控制邏輯B組控制A組A口(8位)A組C口高位(4位)B組C口低位(4位)B組B口(8位)D0~D7CSWRA1A0RESETRDPA0~PA7PC4~PC7PC0~PC3PB0~PB78255A內(nèi)部框圖①數(shù)據(jù)總線緩沖器。這是一個三態(tài)雙向8位緩沖器,它是8255A與CPU系統(tǒng)數(shù)據(jù)總線的接口。②讀/寫控制邏輯。讀/寫控制邏輯由讀信號RD、寫信號WR、選片信號CS以及端口選擇信號A1A0等組成。③輸入/輸出端口A、B、C。8255A包括3個8位輸入輸出端口(port)。每個端口都有一個數(shù)據(jù)輸入寄存器和一個數(shù)據(jù)輸出寄存器。④A組和B組控制電路??刂艫、B和C三個端口的工作方式。12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB6PB5PB4PB3PB7D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A二.8255A的外部引線①與系統(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ù)。面向地址總線的有:A0、A1、CSRD:讀信號,低電平有效。WR:寫信號,低電平有效。RESET:復(fù)位信號,高電平有效。它清除控制寄存器并將8255A的A、B、C三個端口均置為輸入方式;輸入寄存器和狀態(tài)寄存器被復(fù)位,并且屏蔽中斷請求;24條面向外設(shè)信號線呈現(xiàn)高阻懸浮狀態(tài)。②與外部設(shè)備的連接信號PA0~PA7:端口A的輸入/輸出線。PB0~PB7:端口B的輸入/輸出線。PC0~PC7:端口C的輸入/輸出線。這24根信號線均可用來連接I/O設(shè)備和傳送信息。其中,A口和B口只作輸入/輸出的數(shù)據(jù)口用,盡管有時也利用它們從I/O設(shè)備讀取一些狀態(tài)信號,如打印機的“忙”(Busy)狀態(tài)信號、A/D轉(zhuǎn)換器的“轉(zhuǎn)換結(jié)束”(EOC)狀態(tài)信號,但對A口和B口來說,都是作8255A的數(shù)據(jù)口讀入,而不是作8255A的狀態(tài)口讀入的。三、8255A基本操作與端口地址CSA1A0RDWR讀操作內(nèi)容實驗平臺00001PA口→數(shù)據(jù)總線(→CPU)數(shù)據(jù)84H00101PB口→數(shù)據(jù)總線(→CPU)數(shù)據(jù)85H01001PC口→數(shù)據(jù)總線(→CPU)數(shù)據(jù)86H寫操作00010PA口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)84H00110PB口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)85H01010PC口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)86H01110控制寄存器←數(shù)據(jù)總線控制字87H無操作情況1××××總線懸浮(三態(tài))0××11總線懸浮01101控制口不能讀87H四、8255A的控制字
(1)方式選擇控制字
8255A共有三種基本工作方式,它們是:方式0:基本的輸入/輸出方式。方式1:選通輸入/輸出方式(應(yīng)答方式)。方式2:雙向傳輸方式。這里只介紹8255A的方式0。例:在TEC-2機中8255A的端口A地址為84H、端口B地址為85H、端口C地址為86H、控制端口地址為87H,現(xiàn)要求將其三個數(shù)據(jù)端口設(shè)置為方式0—基本的輸入輸出方式,其中端口A和端口C的低4位為輸出,端口B和端口C的高4位為輸入。由圖3.11.2可知,該8255A的方式選擇控制字應(yīng)為8AH。其初始化程序如下:MOVR0,8AOUT87IN85;端口B的數(shù)據(jù)送到R0OUT84;R0的數(shù)據(jù)送到端口A8255A與CPU的連接
8255A和CPU連接時,數(shù)據(jù)線和控制線一般直接和系統(tǒng)總線的相應(yīng)信號相連,片選信號和地址譯碼器的輸出相連,端口選擇信號A1、A0和地址總線的A1、A0直接相連,三個端口的數(shù)據(jù)線和外設(shè)的數(shù)據(jù)線直接相連。在實驗中,TEC-2與8255A的一般的連接方式如圖3.11.3所示。地址譯碼AB7~AB2一、實驗?zāi)康模?、加深理解計算機系統(tǒng)中斷的工作原理及處理過程。2、了解優(yōu)先權(quán)中斷控制電路INTEL8214、輸入輸出接口電路INTEL8212的工作原理。3、掌握中斷服務(wù)子程序的編寫要點,進行一次硬、軟件的綜合調(diào)試。二、實驗設(shè)備及器材:
1、TEC-2機一臺,終端顯示器一臺。2、中斷接口實驗板一塊,板上有INTEL8214、INTEL8212、74LS00及電阻,8個按鈕開關(guān)。3、接線工具一套,導(dǎo)線若干。三、實驗預(yù)習要求:1、掌握INTEL8214,INTEL8212器件的工作原理。2、理解中斷控制電路,讀懂中斷控制電路與TEC-2的連接原理圖。3、復(fù)習TEC-2機中斷處理過程的微程序。4、閱讀實驗的主程序及各級中斷服務(wù)子程序。5、擬訂實驗步驟、測試手段、排除電路故障的辦法及調(diào)試方法。實驗六TEC-2機系統(tǒng)多級中斷實驗四、實驗內(nèi)容:1、利用TEC-2機與中斷接口實驗板,連接一個有三級中斷源,可實現(xiàn)中斷嵌套的中斷服務(wù)系統(tǒng)。多級中斷實驗原理電路如圖所示。2、主程序在終端上重復(fù)顯示“M”字母,最高級中斷響應(yīng)程序顯示“7”,次高級中斷響應(yīng)程序顯示“6”,最低級中斷響應(yīng)顯示“5”。五、實驗步驟:1、檢查本次實驗所需實驗設(shè)備是否齊全、完好。2、實驗前開機檢查連有終端的TEC-2機運行是否正常。如不正常,將電源關(guān)掉。3、按實驗內(nèi)容實現(xiàn)三級中斷嵌套的要求,在中斷接口實驗板上連接相關(guān)的信號,實驗電路接線如圖所示。檢查無誤后,用扁平電纜將主機與中斷接口板連接起來。4、啟動TEC-2機,進入監(jiān)控程序狀態(tài)。觀察TEC-2機是否正常,若不正常則立即關(guān)掉電源,重新檢查線路,直至正常啟動為止。5、在監(jiān)控程序狀態(tài)下,輸入主程序、中斷服務(wù)子程序、中斷向量。6、執(zhí)行過程:⑴運行主程序等待中斷的產(chǎn)生;⑵按下按鈕開關(guān)申請IRQ5、IRQ6、IRQ7;⑶觀察執(zhí)行結(jié)果是否滿足實驗要求,并作記錄。六、實驗原理及說明:1、八位輸入輸出接口電路INTEL8212INTEL8212內(nèi)部電路它由以下幾個部分組成:⑴數(shù)據(jù)鎖存器數(shù)據(jù)鎖存器由8個D觸發(fā)器組成,從DI0到DI7輸入的數(shù)據(jù)被分別鎖存在對應(yīng)的D觸發(fā)器中,由Q端輸出,鎖存的時間由脈沖信號WR決定。/CLR信號同時對8個觸發(fā)器清零。⑵輸出緩沖器輸出緩沖器由8個三態(tài)門組成,當控制信號EN=0時,三態(tài)門輸出高阻態(tài)。當EN=1時緩沖器開啟,鎖存器的內(nèi)容輸出。⑶接口控制邏輯電路8212芯片有兩種工作方式,由MD信號進行選擇,MD=1為輸出方式,MD=0為輸入方式。在輸入方式下,外設(shè)數(shù)據(jù)準備好之后向8212發(fā)出一高電平信號作為STB,從而將DI1~DI8上的數(shù)據(jù)鎖存在8個D鎖存器中,CPU通過設(shè)備選擇/DS1
,DS2控制邏輯允許數(shù)據(jù)進入數(shù)據(jù)線DO1~DO8。此時,8212的DI1~DI8接外設(shè),數(shù)據(jù)線DO1~DO8接CPU的數(shù)據(jù)總線,如圖所示。
8212芯片工作在輸出方式下,MD=1,CPU通過設(shè)備選擇/DS1
和DS2控制邏輯將數(shù)據(jù)鎖存在8個D鎖存器中,三態(tài)緩沖器總是開啟的,因而CPU提供的數(shù)據(jù)可立即提供給外設(shè)使用。此工作方式下,8212的DI1~DI8接CPU的數(shù)據(jù)總線,而DO1~DO8接外設(shè),如圖所示。2、八級優(yōu)先權(quán)控制電路INTEL82148214是一個八級優(yōu)先權(quán)中斷控制單元,它的原理及引腳如圖所示。⑴中斷請求鎖存器及優(yōu)先權(quán)編碼器中斷請求鎖存器用于鎖存中斷請求信號/R0~/R7,/LC是鎖存器的控制信號。當禁止中斷觸發(fā)器置“1”時,/LC為1,鎖存器被關(guān)閉,禁止中斷請求鎖存。當禁止中斷觸發(fā)器置“0”時,/LC為0,鎖存器開放,中斷請求信號被鎖入鎖存器。LS是鎖存器的狀態(tài)信號,當鎖存器記錄了中斷請求信號時,LS=1。圖2.6.28214內(nèi)部結(jié)構(gòu)邏輯圖優(yōu)先編碼器用于對中斷請求進行排隊。它有八個中斷申請輸入端/R0~/R7,低電平表示有申請,/R7優(yōu)先權(quán)最高,/R0優(yōu)先權(quán)最低。編碼器可以把每一個請求輸入,編為三位二進制數(shù)的相應(yīng)優(yōu)先權(quán)等級編碼,從高到底為000到111。當有兩個以上申請同時輸入時,編碼器輸出最高優(yōu)先級別的編碼。輸出的優(yōu)先級編碼A2AlA0一方面送到優(yōu)先權(quán)比較器;另一方面經(jīng)OC門輸出。當啟動現(xiàn)行狀態(tài)/ECS信號到來時,禁止中斷觸發(fā)器置“0”,使現(xiàn)行狀態(tài)寄存器使能。⑵現(xiàn)行狀態(tài)寄存器用四位鎖存器,寄存現(xiàn)行中斷源的優(yōu)先級別,以便確定再次到來的新中斷源優(yōu)先級是否高于現(xiàn)在正在處理的中斷申請??捎蒀PU輸出指令,把現(xiàn)行狀態(tài)的優(yōu)先權(quán)編碼輸至這個寄存器。B2BlB0即為現(xiàn)行狀態(tài)優(yōu)先權(quán)編碼。它送至比較器與新來的中斷申請優(yōu)先權(quán)進行比較,若A>B,則比較器為高,它可以使中斷觸發(fā)器INTF/F置“1”(在時鐘/CLK同步下),經(jīng)反向送至CPU的/INT輸入端,請求新的中斷。若A<B,則不發(fā)出新的中斷請求,繼續(xù)正在進行的中斷處理。現(xiàn)行狀態(tài)寄存器中,還有一個輸入端狀態(tài)組選擇信號/SGS,它的功能是,若中斷請求的優(yōu)先級也為000,則比較器仍無輸出,此時/SGS有效,則它可代替A>B的作用,只要/R0~/R7中任何一個有申請,就可以使INTF/F為1向CPU發(fā)出中斷申請。故CPU在未進行中斷處理時,應(yīng)使/SGS有效。由于輸至現(xiàn)行狀態(tài)寄存器的是現(xiàn)行狀態(tài)優(yōu)先權(quán)編碼的反碼。/ELR,ETLG,ENLG這三個信號是用在多片8214級連,以擴大中斷請求級別。如果只用一片8214,則/ELR為“0”,ETLG為“1”,ENLG懸空。?開中斷前,主程序必須使現(xiàn)行狀態(tài)寄存器為全“1”且/SGS也為“1”,準備接收8個中斷源中任何一個中斷請求。
?由于CPU不能讀出8214現(xiàn)行狀態(tài)寄存器的內(nèi)容,故必須把現(xiàn)行優(yōu)先權(quán)的副本存入RAM中,或某一寄存器中以便恢復(fù)舊優(yōu)先權(quán)時使用。?在重新開放中斷之前,每個中斷服務(wù)程序必須把舊的優(yōu)先權(quán)壓入堆棧保護,且把新的優(yōu)先權(quán)送入8214現(xiàn)行狀態(tài)寄存器中,回到主程序前要恢復(fù)以前的優(yōu)先權(quán)。?所有中斷級是實際值的反碼。?8214不能鎖存中斷請求(包括/INT、/A2、/A1、/A0),通常用8212來鎖存。使用8214要注意以下幾點:七、實驗程序:中斷服務(wù)程序流程圖
主程序:0800: MOV R0,000F;/B0/B1/B2=111、/SCS=1 OUT 84 ;8214現(xiàn)行狀態(tài)寄存器端口為84H MOV R3,R0 ;用R3保留狀態(tài)副本0804:MOV R2,000F;顯示15個“M”,常數(shù)15送R2 MOV R0,004D;“M”的ASCII碼 EI ;開中斷0809: CALL 009B ;調(diào)顯示字符子程序 CALL 09FF ;調(diào)延時子程序 DEC R2 JP NZ,0809;顯示15個“M” MOV R0,000D;回車ASCII碼 CALL 009B ; CALL 09FF ;調(diào)延時子程序 MOV R0,000A;換行ASCII碼 CALL 009B CALL 09FF ;調(diào)延時子程序 JP 0804 ;重復(fù)顯示“M”延時子程序09FF:MOVR1,9FFF0A01:DECR1JPNZ,0A01RET最高級中斷處理程序0888: PUSH R0 PUSH Rl PUSH R2 PUSH R3 ;以上四條保護現(xiàn)場 MOV R0,0000 ;最高級優(yōu)先權(quán)代碼 OUT 84 ;裝入本級優(yōu)先權(quán)代碼 MOV R0,0028;“(”的ASCII碼 CALL 009B ;調(diào)顯示子程序 CALL 09FF ;調(diào)延時子程序 MOV R2,000F MOV R0,0037;“7”的ASCII碼0899: CALL 009B CALL 09FF DEC R2 JP NZ,0899;顯示15個“7” MOV R0,0029;“)”的ASCll碼 CALL 009B CALL 09FF POP R3MOV R0,R3 OUT 84 ;回送前級的中斷優(yōu)先級 POP R2 POP R1 POP R0 ;恢復(fù)現(xiàn)場 EI ;開中斷 IRET ;從中斷返回次高級中斷處理程序08DD:PUSH R0 PUSH R1 PUSH R2 PUSH R3 ;保護現(xiàn)場 MOV R0,0001 OUT 84 ;裝入本級優(yōu)先權(quán)代碼 MOV R3,R0 ;保留本級優(yōu)先權(quán)代碼 EI ;開中斷 MOV R0,005B ;顯示“[” CALL 009B CALL 09FF MOV R2,000F MOV R0,0036 ;“6”的ASCII碼08F0: CALL 009B CALL 09FF DEC R2 JP NZ,08F0 ;顯示15個“6” MOV R0,005D ;“]”的ASCII碼 CALL 009B CALL 09FF DI ;關(guān)中斷 POP R3 MOV R0,R3 OUT 84 ;恢復(fù)前級的優(yōu)先級 POP R2 POP Rl POP R0 EI;開中斷 IRET ;從中斷返回最低級中斷處理程序0988:PUSH R0 PUSH Rl PUSH R2 PUSH R3 MOV R0,0002 OUT 84 MOV R3,R0 EI MOV R0,007B ;“{”的ASII碼 CALL 009B CALL 09FF MOV R2,000F MOV R0,0035 ;“5”的ASCII碼099B:CALL 009B CALL 09FF DEC R2 JP NZ,099B MOV R0,007D ;“{”的ASCII碼 CALL 009B CALL 09FF DI ;關(guān)中斷 POP R3 MOV R0,R3 OUT 84;恢復(fù)前級優(yōu)先權(quán)代碼 POP R2 POP R1 POP R0 ;恢復(fù)現(xiàn)場 EI ;開中斷 IRET ;從中斷返回最高中斷源/A2/A1/A0=000次高中斷源/A2/A1/A0=001最低中斷源/A2/A1/A0=010中斷向量:最高級為 0FD0 次高級為 0FD1 最低級為 0FD2用“E”命令將中斷服務(wù)程序入口地址0888H、08DDH、0988H分別裝入內(nèi)存0FD0H、0FD1H、0FD2H單元。八、本次實驗報告要求:1、實驗內(nèi)容要求畫出完整的中斷請求硬件邏輯電路圖。說明中
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《網(wǎng)店色彩設(shè)計》課件
- 《神經(jīng)癥年制》課件
- 《證券上市》課件
- 2024年農(nóng)業(yè)部門抗旱工作總結(jié)范文
- 2025年高考數(shù)學一輪復(fù)習之冪函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)
- 單位管理制度匯編大全人力資源管理
- 單位管理制度合并匯編【人事管理】
- 單位管理制度分享合集人員管理十篇
- 單位管理制度范例匯編人事管理
- 單位管理制度呈現(xiàn)大全人事管理十篇
- 工程開工令(兩令)
- 會展旅游實務(wù)全套教學課件
- 非標設(shè)計最強自動計算-分割器計算
- 第五單元整體教學設(shè)計-統(tǒng)編版高中語文必修下冊
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 小班音樂教案:小瓢蟲飛教案及反思
- 生活中的代數(shù)智慧樹知到課后章節(jié)答案2023年下成都師范學院
- 監(jiān)獄物業(yè)投標方案 (技術(shù)方案)
- 盲眼鐘表匠:生命自然選擇的秘密
- 雷達的分類及雷達信號處理詳解
- 焊接檢驗作業(yè)指導(dǎo)書
評論
0/150
提交評論