TEC-2實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn) (2)課件_第1頁(yè)
TEC-2實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn) (2)課件_第2頁(yè)
TEC-2實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn) (2)課件_第3頁(yè)
TEC-2實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn) (2)課件_第4頁(yè)
TEC-2實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn) (2)課件_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

TEC-2實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn)

第一章TEC-2實(shí)驗(yàn)箱原理§1.1TEC-2機(jī)硬件系統(tǒng)的基本組成1.TEC-2機(jī)硬件的基本組成邏輯框圖實(shí)物圖垂直板實(shí)物圖試驗(yàn)箱與計(jì)算機(jī)連接圖2.TEC-2機(jī)的簡(jiǎn)化邏輯框圖

4片AM2901芯片組成,還包括由一片Gal20v8組成的狀態(tài)寄存器,以及其它一些輔助電路2片LS377組成16位的指令寄存器2片2716ROM芯片組成的微控存地址映射部件1片AM2910實(shí)現(xiàn)的微程序定序器7片6116芯片(RAM存儲(chǔ)器芯片,8×2048容量)與2片8×2048容量的2716ROM芯片組成的控存6片LS374和1片LS273組成56位的微指令寄存器4KW的ROM區(qū)(存放監(jiān)控程序)和2KW的RAM區(qū)(存放用戶(hù)程序及數(shù)據(jù))兩片Intel8251芯片,1片MC1488和1片MC1489芯片(實(shí)現(xiàn)電平轉(zhuǎn)換)和1片端口地址譯碼器74LS138芯片組成?!?.2TEC-2機(jī)的指令系統(tǒng)(1)無(wú)操作數(shù)無(wú)操作數(shù)指令共11條。其格式如下:NOP;空操作PSHF;狀態(tài)字入棧POPF;狀態(tài)字出棧EI;開(kāi)中斷,INTE=1DI;關(guān)中斷,INTE=0STC;進(jìn)位置1CLC;進(jìn)位清0RET;子程序返回IRET;中斷返回LDMC;裝入微指令代碼HALT;動(dòng)態(tài)停機(jī)指令(2)單操作數(shù)指令共12條。PUSHDR;壓入DRPOP DR;彈出DRINC DR;DR←DR+1 DEC DR;DR←DR-1NOT DR;DR求反,DR←/DRSHL DR;DR左移,最低位補(bǔ)0,最高位移入C。ASR DR;DR算術(shù)右移,最高位不變,最低位移入C。SHR DR;DR邏輯右移,最高位補(bǔ)0,最低位移入C。RCL DR;DR與C循環(huán)左移,C入最低位,最高位移入C。RCR DR;DR與C循環(huán)右移,C入最高位,最低位移入C。MULSR;無(wú)符號(hào)乘,R1×SR→R0R1,根據(jù)R1的值置狀態(tài)位DIVSR;無(wú)符號(hào)除,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實(shí)驗(yàn)計(jì)算機(jī)原理實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)一TEC-2機(jī)運(yùn)算器實(shí)驗(yàn)實(shí)驗(yàn)內(nèi)容與步驟:

脫機(jī)方式1、將TEC-2機(jī)功能開(kāi)關(guān)FS4置為“1”2、將TEC-2機(jī)主脈沖置為單步方式,即STEP/CONT開(kāi)關(guān)撥向STEP一邊3、用D0+0→R0將立即數(shù)D0置入寄存器R0波特率開(kāi)關(guān)數(shù)據(jù)開(kāi)關(guān)SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R0)SCISSHD15-D0011000111000000000000000AAAAH☆按上表設(shè)置各控制信號(hào)(MI8-MI0為垂直板元件V60SW2,A口、B口、SCI、SSH為垂直板元件V61SW1)☆按上表設(shè)置十六位數(shù)據(jù)開(kāi)關(guān)(為:“AAAAH”,即“1010101010101010”)☆按壓一次STEP鍵后,立即數(shù)D0即置入寄存器R0中4、用D1+0→R1將立即數(shù)D1置入寄存器R1波特率開(kāi)關(guān)數(shù)據(jù)開(kāi)關(guān)SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R1)SCISSHD15-D00110001110000000000100005555H☆按上表設(shè)置各控制信號(hào)(MI8-MI0為垂直板元件V60SW2,A口、B口、SCI、SSH為垂直板元件V61SW1)☆按上表設(shè)置十六位數(shù)據(jù)開(kāi)關(guān)(為:“5555H”,即“0101010101010101”)☆按壓一次STEP鍵后,立即數(shù)D1即置入寄存器R1中5、對(duì)R0和R1進(jìn)行各種算術(shù)、邏輯運(yùn)算可參看下表,將開(kāi)關(guān)S2S1S0置于“110”狀態(tài)時(shí),指示燈將顯示ALU的運(yùn)算結(jié)果將開(kāi)關(guān)S2S1S0置于“000”狀態(tài)時(shí),指示燈將顯示SVZC的狀態(tài)(H25=S,H26=V,H27=Z,H28=C)聯(lián)機(jī)方式1、啟動(dòng)TEC-2機(jī),進(jìn)入監(jiān)控程序狀態(tài)(具體方法見(jiàn)“附件:2、用“A”命令輸入程序在命令行提示符狀態(tài)下輸入:A800↙屏幕將顯示:0800:之后繼續(xù)輸入:MOVR0,AAAA↙MOVR1,5555↙ADDR0,R1↙SUBR0,R1↙ORR0,R1↙ANDR0,R1↙RET↙3、用“G”命令運(yùn)行程序在命令行提示符狀態(tài)下輸入:G800↙執(zhí)行上面輸入的程序4、用“R”命令觀(guān)察運(yùn)行結(jié)果及狀態(tài)在命令行提示符狀態(tài)下輸入:R↙觀(guān)察運(yùn)行結(jié)果及狀態(tài)屏幕將顯示:R0=5555R1=5555......PC=0800............F=000001110800:2C00 MOV R0,AAAA5、用“T”或“P”命令單步執(zhí)行,用“R”命令觀(guān)看結(jié)果及狀態(tài)在命令行提示符狀態(tài)下輸入:T↙ 或P↙ 重復(fù)執(zhí)行第(四)步,觀(guān)察運(yùn)行結(jié)果及狀態(tài)本次實(shí)驗(yàn)報(bào)告要求:1、實(shí)驗(yàn)步驟要寫(xiě)出在脫機(jī)方式下,如何設(shè)置運(yùn)算器的功能、如何讓運(yùn)算器執(zhí)行運(yùn)算、如何觀(guān)察運(yùn)算結(jié)果。2、實(shí)驗(yàn)內(nèi)容要求:畫(huà)出AM2901、AM2902的串行和并行進(jìn)位連接方式。說(shuō)明各實(shí)驗(yàn)測(cè)試結(jié)果。實(shí)驗(yàn)三、TEC-2主存儲(chǔ)器擴(kuò)展實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)主存儲(chǔ)器系統(tǒng)設(shè)計(jì)、擴(kuò)展等內(nèi)容。了解主存工作過(guò)程中各信號(hào)之間時(shí)序關(guān)系。二、實(shí)驗(yàn)器材:1、TEC-2機(jī)一臺(tái),終端顯示器一臺(tái),內(nèi)存擴(kuò)展板一塊。2、接線(xiàn)工具一套,導(dǎo)線(xiàn)若干。三、預(yù)習(xí)要求:詳細(xì)了解存儲(chǔ)芯片61162K×8RAM的操作方式,譯碼芯片LS138及TEC-2機(jī)內(nèi)存的讀/寫(xiě)信號(hào),看懂實(shí)驗(yàn)內(nèi)容中的電路原理示意圖和主存儲(chǔ)器擴(kuò)展實(shí)驗(yàn)原理圖。五、接線(xiàn)圖主存儲(chǔ)器擴(kuò)展實(shí)驗(yàn)接線(xiàn)圖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接線(xiàn)(用直徑0.2mm的單股導(dǎo)線(xiàn))1、輸出允許接地6116芯片①、②、③、④右側(cè)/OE均接地(擴(kuò)展板左上方)2、接擴(kuò)展板讀、寫(xiě)信號(hào)6116芯片①、②、③、④右側(cè)/WE均接/MMW(擴(kuò)展板左上方)3、接6116芯片地址總線(xiàn)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)存擴(kuò)展板與TEC-2主機(jī)相連將TEC-2機(jī)50芯扁平電纜線(xiàn)與擴(kuò)展板相連(注意:50芯扁平電纜線(xiàn)與擴(kuò)展板方向不要接反,扁平電纜線(xiàn)紅線(xiàn)邊向上)六、啟動(dòng)TEC-2機(jī),進(jìn)入監(jiān)控程序狀態(tài)1、從8000H開(kāi)始的內(nèi)存單元實(shí)驗(yàn)

用“E”命令輸入數(shù)據(jù)在命令行提示符狀態(tài)下輸入:E8000↙屏幕將顯示:8000:之后繼續(xù)輸入:(每個(gè)數(shù)值間用空格鍵分開(kāi),輸入完畢用回車(chē)鍵)0000111122223333444455556666777788889999↙

用“D”命令察看輸入的數(shù)據(jù)在命令行提示符狀態(tài)下輸入:D8000↙屏幕將顯示:8000 000011112222333344445555666677778008 88889999...

觀(guān)察內(nèi)容是否正確七、單步命令實(shí)驗(yàn)1、從8000H開(kāi)始的內(nèi)存單元實(shí)驗(yàn)用“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ū)嶒?yàn)用“A”命令輸入程序在命令行提示符狀態(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開(kāi)始的內(nèi)存單元實(shí)驗(yàn)九、本次實(shí)驗(yàn)報(bào)告要求:1、實(shí)驗(yàn)原理圖的地址范圍2、設(shè)有4K的用戶(hù)存儲(chǔ)區(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問(wèn):①程序要求存入內(nèi)存0A7F7H起始的單元中,應(yīng)對(duì)該程序段進(jìn)行哪些改動(dòng)才能存儲(chǔ)程序并使之運(yùn)行?如用實(shí)驗(yàn)實(shí)施如何改動(dòng)連線(xiàn)?②如果程序存入內(nèi)存0A000H起始的單元中,程序能正常運(yùn)行結(jié)束嗎?為什么?③用“E”命令對(duì)未擴(kuò)展的內(nèi)存區(qū)域?qū)懭霐?shù)據(jù)或用“D”命令觀(guān)察寫(xiě)入結(jié)果會(huì)出現(xiàn)什么情況?實(shí)驗(yàn)四TEC-2機(jī)輸入/輸出接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?、學(xué)習(xí)TEC-2并行口的正確設(shè)置與應(yīng)用。2、學(xué)習(xí)TEC-2機(jī)的I/O擴(kuò)展技術(shù)。二、實(shí)驗(yàn)設(shè)備與器材1、TEC-2機(jī),PC機(jī)1臺(tái),通訊電纜一條。2、實(shí)驗(yàn)電路板一塊,板上有INTEL8255芯片一塊及輔助電路。3、工具、導(dǎo)線(xiàn)等。三、實(shí)驗(yàn)內(nèi)容并行接口實(shí)驗(yàn)原理圖并行接口實(shí)驗(yàn)接線(xiàn)圖⑴連接電路⑵簡(jiǎn)單的輸入輸出I/O實(shí)驗(yàn) 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運(yùn)行程序首先將擴(kuò)展實(shí)驗(yàn)板八位數(shù)據(jù)開(kāi)關(guān)輸入置為00100001,執(zhí)行程序>G800屏幕應(yīng)顯示:?。?!>將擴(kuò)展實(shí)驗(yàn)板八位數(shù)據(jù)開(kāi)關(guān)輸入置為00100011,執(zhí)行程序>G800屏幕應(yīng)顯示:###>(3)趣味實(shí)驗(yàn):閃爍的燈主程序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ù)開(kāi)關(guān)的低兩位為11、10、01、00,觀(guān)察顯示燈的變化。同學(xué)們要認(rèn)真閱讀以上程序,弄懂工作原理。有興趣的同學(xué)可以對(duì)以上程序進(jìn)行修改,設(shè)計(jì)出更多的顯示燈的變化形式(4)中斷方式輸入/輸出實(shí)驗(yàn)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延時(shí)子程序>A9FF09FF:MOV R1,9FFF0A01:DEC R1 JP NZ,0A01 RET輸入中斷向量:用E命令將內(nèi)存單元0FD0~0FD7寫(xiě)入中斷服務(wù)程序的入口地址0888H。思考:為何均要寫(xiě)入0888>EFD0↙0FD0:08880888088808880888088808880888用D命令查看0FD0~0FD7是否為0888運(yùn)行主程序>G850屏幕將顯示:!!!″″″###.........壓下微動(dòng)開(kāi)關(guān),用微動(dòng)開(kāi)關(guān)壓下形成的中斷申請(qǐng)啟動(dòng)中斷服務(wù)程序,使屏幕顯示:!?。?.....(在擴(kuò)展實(shí)驗(yàn)板八位數(shù)據(jù)開(kāi)關(guān)輸入置為00100001時(shí)的顯示情形)抬起微動(dòng)開(kāi)關(guān),撤去中斷,屏幕將返回主程序顯示狀態(tài)思考題:⑴在簡(jiǎn)單的輸入輸出I/O實(shí)驗(yàn)中,將擴(kuò)展實(shí)驗(yàn)板上的8位數(shù)據(jù)開(kāi)關(guān)輸入置為01000010時(shí),終端上顯示什么字符?若要在終端上顯示“D”,應(yīng)將擴(kuò)展實(shí)驗(yàn)板上的8位數(shù)據(jù)開(kāi)關(guān)輸入置為何值?若要在終端上顯示“0”呢?⑵在閃爍的燈的實(shí)驗(yàn)中,如何變換燈的閃爍的形式?如何調(diào)整閃爍延遲的時(shí)間并行接口芯片8255A一、8255A的內(nèi)部結(jié)構(gòu)A組控制數(shù)據(jù)總線(xiàn)緩沖器讀/寫(xiě)控制邏輯B組控制A組A口(8位)A組C口高位(4位)B組C口低位(4位)B組B口(8位)D0~D7CSWRA1A0RESETRDPA0~PA7PC4~PC7PC0~PC3PB0~PB78255A內(nèi)部框圖①數(shù)據(jù)總線(xiàn)緩沖器。這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與CPU系統(tǒng)數(shù)據(jù)總線(xiàn)的接口。②讀/寫(xiě)控制邏輯。讀/寫(xiě)控制邏輯由讀信號(hào)RD、寫(xiě)信號(hào)WR、選片信號(hào)CS以及端口選擇信號(hào)A1A0等組成。③輸入/輸出端口A(yíng)、B、C。8255A包括3個(gè)8位輸入輸出端口(port)。每個(gè)端口都有一個(gè)數(shù)據(jù)輸入寄存器和一個(gè)數(shù)據(jù)輸出寄存器。④A組和B組控制電路??刂艫、B和C三個(gè)端口的工作方式。12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB6PB5PB4PB3PB7D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A二.8255A的外部引線(xiàn)①與系統(tǒng)總線(xiàn)的連接信號(hào)面向數(shù)據(jù)總線(xiàn)的有:D0~D7:雙向數(shù)據(jù)線(xiàn),用于CPU向8255A發(fā)送命令、數(shù)據(jù)和8255A向CPU回送狀態(tài)、數(shù)據(jù)和8255A向CPU回送狀態(tài)、數(shù)據(jù)。面向地址總線(xiàn)的有:A0、A1、CSRD:讀信號(hào),低電平有效。WR:寫(xiě)信號(hào),低電平有效。RESET:復(fù)位信號(hào),高電平有效。它清除控制寄存器并將8255A的A、B、C三個(gè)端口均置為輸入方式;輸入寄存器和狀態(tài)寄存器被復(fù)位,并且屏蔽中斷請(qǐng)求;24條面向外設(shè)信號(hào)線(xiàn)呈現(xiàn)高阻懸浮狀態(tài)。②與外部設(shè)備的連接信號(hào)PA0~PA7:端口A(yíng)的輸入/輸出線(xiàn)。PB0~PB7:端口B的輸入/輸出線(xiàn)。PC0~PC7:端口C的輸入/輸出線(xiàn)。這24根信號(hào)線(xiàn)均可用來(lái)連接I/O設(shè)備和傳送信息。其中,A口和B口只作輸入/輸出的數(shù)據(jù)口用,盡管有時(shí)也利用它們從I/O設(shè)備讀取一些狀態(tài)信號(hào),如打印機(jī)的“忙”(Busy)狀態(tài)信號(hào)、A/D轉(zhuǎn)換器的“轉(zhuǎn)換結(jié)束”(EOC)狀態(tài)信號(hào),但對(duì)A口和B口來(lái)說(shuō),都是作8255A的數(shù)據(jù)口讀入,而不是作8255A的狀態(tài)口讀入的。三、8255A基本操作與端口地址CSA1A0RDWR讀操作內(nèi)容實(shí)驗(yàn)平臺(tái)00001PA口→數(shù)據(jù)總線(xiàn)(→CPU)數(shù)據(jù)84H00101PB口→數(shù)據(jù)總線(xiàn)(→CPU)數(shù)據(jù)85H01001PC口→數(shù)據(jù)總線(xiàn)(→CPU)數(shù)據(jù)86H寫(xiě)操作00010PA口←數(shù)據(jù)總線(xiàn)(←CPU)數(shù)據(jù)84H00110PB口←數(shù)據(jù)總線(xiàn)(←CPU)數(shù)據(jù)85H01010PC口←數(shù)據(jù)總線(xiàn)(←CPU)數(shù)據(jù)86H01110控制寄存器←數(shù)據(jù)總線(xiàn)控制字87H無(wú)操作情況1××××總線(xiàn)懸?。ㄈ龖B(tài))0××11總線(xiàn)懸浮01101控制口不能讀87H四、8255A的控制字

(1)方式選擇控制字

8255A共有三種基本工作方式,它們是:方式0:基本的輸入/輸出方式。方式1:選通輸入/輸出方式(應(yīng)答方式)。方式2:雙向傳輸方式。這里只介紹8255A的方式0。例:在TEC-2機(jī)中8255A的端口A(yíng)地址為84H、端口B地址為85H、端口C地址為86H、控制端口地址為87H,現(xiàn)要求將其三個(gè)數(shù)據(jù)端口設(shè)置為方式0—基本的輸入輸出方式,其中端口A(yíng)和端口C的低4位為輸出,端口B和端口C的高4位為輸入。由圖3.11.2可知,該8255A的方式選擇控制字應(yīng)為8AH。其初始化程序如下:MOVR0,8AOUT87IN85;端口B的數(shù)據(jù)送到R0OUT84;R0的數(shù)據(jù)送到端口A(yíng)8255A與CPU的連接

8255A和CPU連接時(shí),數(shù)據(jù)線(xiàn)和控制線(xiàn)一般直接和系統(tǒng)總線(xiàn)的相應(yīng)信號(hào)相連,片選信號(hào)和地址譯碼器的輸出相連,端口選擇信號(hào)A1、A0和地址總線(xiàn)的A1、A0直接相連,三個(gè)端口的數(shù)據(jù)線(xiàn)和外設(shè)的數(shù)據(jù)線(xiàn)直接相連。在實(shí)驗(yàn)中,TEC-2與8255A的一般的連接方式如圖3.11.3所示。地址譯碼AB7~AB2一、實(shí)驗(yàn)?zāi)康模?、加深理解計(jì)算機(jī)系統(tǒng)中斷的工作原理及處理過(guò)程。2、了解優(yōu)先權(quán)中斷控制電路INTEL8214、輸入輸出接口電路INTEL8212的工作原理。3、掌握中斷服務(wù)子程序的編寫(xiě)要點(diǎn),進(jìn)行一次硬、軟件的綜合調(diào)試。二、實(shí)驗(yàn)設(shè)備及器材:

1、TEC-2機(jī)一臺(tái),終端顯示器一臺(tái)。2、中斷接口實(shí)驗(yàn)板一塊,板上有INTEL8214、INTEL8212、74LS00及電阻,8個(gè)按鈕開(kāi)關(guān)。3、接線(xiàn)工具一套,導(dǎo)線(xiàn)若干。三、實(shí)驗(yàn)預(yù)習(xí)要求:1、掌握INTEL8214,INTEL8212器件的工作原理。2、理解中斷控制電路,讀懂中斷控制電路與TEC-2的連接原理圖。3、復(fù)習(xí)TEC-2機(jī)中斷處理過(guò)程的微程序。4、閱讀實(shí)驗(yàn)的主程序及各級(jí)中斷服務(wù)子程序。5、擬訂實(shí)驗(yàn)步驟、測(cè)試手段、排除電路故障的辦法及調(diào)試方法。實(shí)驗(yàn)六TEC-2機(jī)系統(tǒng)多級(jí)中斷實(shí)驗(yàn)四、實(shí)驗(yàn)內(nèi)容:1、利用TEC-2機(jī)與中斷接口實(shí)驗(yàn)板,連接一個(gè)有三級(jí)中斷源,可實(shí)現(xiàn)中斷嵌套的中斷服務(wù)系統(tǒng)。多級(jí)中斷實(shí)驗(yàn)原理電路如圖所示。2、主程序在終端上重復(fù)顯示“M”字母,最高級(jí)中斷響應(yīng)程序顯示“7”,次高級(jí)中斷響應(yīng)程序顯示“6”,最低級(jí)中斷響應(yīng)顯示“5”。五、實(shí)驗(yàn)步驟:1、檢查本次實(shí)驗(yàn)所需實(shí)驗(yàn)設(shè)備是否齊全、完好。2、實(shí)驗(yàn)前開(kāi)機(jī)檢查連有終端的TEC-2機(jī)運(yùn)行是否正常。如不正常,將電源關(guān)掉。3、按實(shí)驗(yàn)內(nèi)容實(shí)現(xiàn)三級(jí)中斷嵌套的要求,在中斷接口實(shí)驗(yàn)板上連接相關(guān)的信號(hào),實(shí)驗(yàn)電路接線(xiàn)如圖所示。檢查無(wú)誤后,用扁平電纜將主機(jī)與中斷接口板連接起來(lái)。4、啟動(dòng)TEC-2機(jī),進(jìn)入監(jiān)控程序狀態(tài)。觀(guān)察TEC-2機(jī)是否正常,若不正常則立即關(guān)掉電源,重新檢查線(xiàn)路,直至正常啟動(dòng)為止。5、在監(jiān)控程序狀態(tài)下,輸入主程序、中斷服務(wù)子程序、中斷向量。6、執(zhí)行過(guò)程:⑴運(yùn)行主程序等待中斷的產(chǎn)生;⑵按下按鈕開(kāi)關(guān)申請(qǐng)IRQ5、IRQ6、IRQ7;⑶觀(guān)察執(zhí)行結(jié)果是否滿(mǎn)足實(shí)驗(yàn)要求,并作記錄。六、實(shí)驗(yàn)原理及說(shuō)明:1、八位輸入輸出接口電路INTEL8212INTEL8212內(nèi)部電路它由以下幾個(gè)部分組成:⑴數(shù)據(jù)鎖存器數(shù)據(jù)鎖存器由8個(gè)D觸發(fā)器組成,從DI0到DI7輸入的數(shù)據(jù)被分別鎖存在對(duì)應(yīng)的D觸發(fā)器中,由Q端輸出,鎖存的時(shí)間由脈沖信號(hào)WR決定。/CLR信號(hào)同時(shí)對(duì)8個(gè)觸發(fā)器清零。⑵輸出緩沖器輸出緩沖器由8個(gè)三態(tài)門(mén)組成,當(dāng)控制信號(hào)EN=0時(shí),三態(tài)門(mén)輸出高阻態(tài)。當(dāng)EN=1時(shí)緩沖器開(kāi)啟,鎖存器的內(nèi)容輸出。⑶接口控制邏輯電路8212芯片有兩種工作方式,由MD信號(hào)進(jìn)行選擇,MD=1為輸出方式,MD=0為輸入方式。在輸入方式下,外設(shè)數(shù)據(jù)準(zhǔn)備好之后向8212發(fā)出一高電平信號(hào)作為STB,從而將DI1~DI8上的數(shù)據(jù)鎖存在8個(gè)D鎖存器中,CPU通過(guò)設(shè)備選擇/DS1

,DS2控制邏輯允許數(shù)據(jù)進(jìn)入數(shù)據(jù)線(xiàn)DO1~DO8。此時(shí),8212的DI1~DI8接外設(shè),數(shù)據(jù)線(xiàn)DO1~DO8接CPU的數(shù)據(jù)總線(xiàn),如圖所示。

8212芯片工作在輸出方式下,MD=1,CPU通過(guò)設(shè)備選擇/DS1

和DS2控制邏輯將數(shù)據(jù)鎖存在8個(gè)D鎖存器中,三態(tài)緩沖器總是開(kāi)啟的,因而CPU提供的數(shù)據(jù)可立即提供給外設(shè)使用。此工作方式下,8212的DI1~DI8接CPU的數(shù)據(jù)總線(xiàn),而DO1~DO8接外設(shè),如圖所示。2、八級(jí)優(yōu)先權(quán)控制電路INTEL82148214是一個(gè)八級(jí)優(yōu)先權(quán)中斷控制單元,它的原理及引腳如圖所示。⑴中斷請(qǐng)求鎖存器及優(yōu)先權(quán)編碼器中斷請(qǐng)求鎖存器用于鎖存中斷請(qǐng)求信號(hào)/R0~/R7,/LC是鎖存器的控制信號(hào)。當(dāng)禁止中斷觸發(fā)器置“1”時(shí),/LC為1,鎖存器被關(guān)閉,禁止中斷請(qǐng)求鎖存。當(dāng)禁止中斷觸發(fā)器置“0”時(shí),/LC為0,鎖存器開(kāi)放,中斷請(qǐng)求信號(hào)被鎖入鎖存器。LS是鎖存器的狀態(tài)信號(hào),當(dāng)鎖存器記錄了中斷請(qǐng)求信號(hào)時(shí),LS=1。圖2.6.28214內(nèi)部結(jié)構(gòu)邏輯圖優(yōu)先編碼器用于對(duì)中斷請(qǐng)求進(jìn)行排隊(duì)。它有八個(gè)中斷申請(qǐng)輸入端/R0~/R7,低電平表示有申請(qǐng),/R7優(yōu)先權(quán)最高,/R0優(yōu)先權(quán)最低。編碼器可以把每一個(gè)請(qǐng)求輸入,編為三位二進(jìn)制數(shù)的相應(yīng)優(yōu)先權(quán)等級(jí)編碼,從高到底為000到111。當(dāng)有兩個(gè)以上申請(qǐng)同時(shí)輸入時(shí),編碼器輸出最高優(yōu)先級(jí)別的編碼。輸出的優(yōu)先級(jí)編碼A2AlA0一方面送到優(yōu)先權(quán)比較器;另一方面經(jīng)OC門(mén)輸出。當(dāng)啟動(dòng)現(xiàn)行狀態(tài)/ECS信號(hào)到來(lái)時(shí),禁止中斷觸發(fā)器置“0”,使現(xiàn)行狀態(tài)寄存器使能。⑵現(xiàn)行狀態(tài)寄存器用四位鎖存器,寄存現(xiàn)行中斷源的優(yōu)先級(jí)別,以便確定再次到來(lái)的新中斷源優(yōu)先級(jí)是否高于現(xiàn)在正在處理的中斷申請(qǐng)。可由CPU輸出指令,把現(xiàn)行狀態(tài)的優(yōu)先權(quán)編碼輸至這個(gè)寄存器。B2BlB0即為現(xiàn)行狀態(tài)優(yōu)先權(quán)編碼。它送至比較器與新來(lái)的中斷申請(qǐng)優(yōu)先權(quán)進(jìn)行比較,若A>B,則比較器為高,它可以使中斷觸發(fā)器INTF/F置“1”(在時(shí)鐘/CLK同步下),經(jīng)反向送至CPU的/INT輸入端,請(qǐng)求新的中斷。若A<B,則不發(fā)出新的中斷請(qǐng)求,繼續(xù)正在進(jìn)行的中斷處理?,F(xiàn)行狀態(tài)寄存器中,還有一個(gè)輸入端狀態(tài)組選擇信號(hào)/SGS,它的功能是,若中斷請(qǐng)求的優(yōu)先級(jí)也為000,則比較器仍無(wú)輸出,此時(shí)/SGS有效,則它可代替A>B的作用,只要/R0~/R7中任何一個(gè)有申請(qǐng),就可以使INTF/F為1向CPU發(fā)出中斷申請(qǐng)。故CPU在未進(jìn)行中斷處理時(shí),應(yīng)使/SGS有效。由于輸至現(xiàn)行狀態(tài)寄存器的是現(xiàn)行狀態(tài)優(yōu)先權(quán)編碼的反碼。/ELR,ETLG,ENLG這三個(gè)信號(hào)是用在多片8214級(jí)連,以擴(kuò)大中斷請(qǐng)求級(jí)別。如果只用一片8214,則/ELR為“0”,ETLG為“1”,ENLG懸空。?開(kāi)中斷前,主程序必須使現(xiàn)行狀態(tài)寄存器為全“1”且/SGS也為“1”,準(zhǔn)備接收8個(gè)中斷源中任何一個(gè)中斷請(qǐng)求。

?由于CPU不能讀出8214現(xiàn)行狀態(tài)寄存器的內(nèi)容,故必須把現(xiàn)行優(yōu)先權(quán)的副本存入RAM中,或某一寄存器中以便恢復(fù)舊優(yōu)先權(quán)時(shí)使用。?在重新開(kāi)放中斷之前,每個(gè)中斷服務(wù)程序必須把舊的優(yōu)先權(quán)壓入堆棧保護(hù),且把新的優(yōu)先權(quán)送入8214現(xiàn)行狀態(tài)寄存器中,回到主程序前要恢復(fù)以前的優(yōu)先權(quán)。?所有中斷級(jí)是實(shí)際值的反碼。?8214不能鎖存中斷請(qǐng)求(包括/INT、/A2、/A1、/A0),通常用8212來(lái)鎖存。使用8214要注意以下幾點(diǎn):七、實(shí)驗(yàn)程序:中斷服務(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個(gè)“M”,常數(shù)15送R2 MOV R0,004D;“M”的ASCII碼 EI ;開(kāi)中斷0809: CALL 009B ;調(diào)顯示字符子程序 CALL 09FF ;調(diào)延時(shí)子程序 DEC R2 JP NZ,0809;顯示15個(gè)“M” MOV R0,000D;回車(chē)ASCII碼 CALL 009B ; CALL 09FF ;調(diào)延時(shí)子程序 MOV R0,000A;換行ASCII碼 CALL 009B CALL 09FF ;調(diào)延時(shí)子程序 JP 0804 ;重復(fù)顯示“M”延時(shí)子程序09FF:MOVR1,9FFF0A01:DECR1JPNZ,0A01RET最高級(jí)中斷處理程序0888: PUSH R0 PUSH Rl PUSH R2 PUSH R3 ;以上四條保護(hù)現(xiàn)場(chǎng) MOV R0,0000 ;最高級(jí)優(yōu)先權(quán)代碼 OUT 84 ;裝入本級(jí)優(yōu)先權(quán)代碼 MOV R0,0028;“(”的ASCII碼 CALL 009B ;調(diào)顯示子程序 CALL 09FF ;調(diào)延時(shí)子程序 MOV R2,000F MOV R0,0037;“7”的ASCII碼0899: CALL 009B CALL 09FF DEC R2 JP NZ,0899;顯示15個(gè)“7” MOV R0,0029;“)”的ASCll碼 CALL 009B CALL 09FF POP R3MOV R0,R3 OUT 84 ;回送前級(jí)的中斷優(yōu)先級(jí) POP R2 POP R1 POP R0 ;恢復(fù)現(xiàn)場(chǎng) EI ;開(kāi)中斷 IRET ;從中斷返回次高級(jí)中斷處理程序08DD:PUSH R0 PUSH R1 PUSH R2 PUSH R3 ;保護(hù)現(xiàn)場(chǎng) MOV R0,0001 OUT 84 ;裝入本級(jí)優(yōu)先權(quán)代碼 MOV R3,R0 ;保留本級(jí)優(yōu)先權(quán)代碼 EI ;開(kāi)中斷 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個(gè)“6” MOV R0,005D ;“]”的ASCII碼 CALL 009B CALL 09FF DI ;關(guān)中斷 POP R3 MOV R0,R3 OUT 84 ;恢復(fù)前級(jí)的優(yōu)先級(jí) POP R2 POP Rl POP R0 EI;開(kāi)中斷 IRET ;從中斷返回最低級(jí)中斷處理程序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ù)前級(jí)優(yōu)先權(quán)代碼 POP R2 POP R1 POP R0 ;恢復(fù)現(xiàn)場(chǎng) EI ;開(kāi)中斷 IRET ;從中斷返回最高中斷源/A2/A1/A0=000次高中斷源/A2/A1/A0=001最低中斷源/A2/A1/A0=010中斷向量:最高級(jí)為 0FD0 次高級(jí)為 0FD1 最低級(jí)為 0FD2用“E”命令將中斷服務(wù)程序入口地址0888H、08DDH、0988H分別裝入內(nèi)存0FD0H、0FD1H、0FD2H單元。八、本次實(shí)驗(yàn)報(bào)告要求:1、實(shí)驗(yàn)內(nèi)容要求畫(huà)出完整的中斷請(qǐng)求硬件邏輯電路圖。說(shuō)明中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論