微機(jī)原理實(shí)驗(yàn)報(bào)告_第1頁(yè)
微機(jī)原理實(shí)驗(yàn)報(bào)告_第2頁(yè)
微機(jī)原理實(shí)驗(yàn)報(bào)告_第3頁(yè)
微機(jī)原理實(shí)驗(yàn)報(bào)告_第4頁(yè)
微機(jī)原理實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

微機(jī)原理實(shí)驗(yàn)報(bào)告

實(shí)驗(yàn)一兩個(gè)多位十進(jìn)制數(shù)相加的實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)數(shù)據(jù)傳送和算術(shù)運(yùn)算指令的用法熟悉在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行匯編語(yǔ)言程序的過(guò)程。二、實(shí)驗(yàn)內(nèi)容將兩個(gè)多位十進(jìn)制數(shù)相加,要求被加數(shù)和加數(shù)均以ASCII碼形式各自順序存放在以DATA1、DATA2為首的5個(gè)內(nèi)存單元中(低位在前),結(jié)果送回DATA1處。三、程序框圖圖3-1四、參考程序清單程序名:XIANGJ.ASMDATASEGMENTDATA1DB33H,39H,31H,37H,34H;被加數(shù)DATA1ENDEQU$-1DATA2DB34H,35H,30H,38H,32H;加數(shù)DATA2ENDEQU$-1SUM DB5DUP(?)DATAENDSSTACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AX MOV SI,OFFSETDATA1END MOV DI,OFFSETDATA2END CALL ADDA MOV AX,4C00H INT 21HADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05HAD1:SUB BYTEPTR[SI],30H SUB BYTEPTR[DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BPMOVCX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL AAAMOV [SI],ALDECSI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05HAD3:ADDBYTEPTR[SI],30HADDBYTEPTR[DI],30H DEC SI DEC DI DEC BX JNZ AD3 RETADDA ENDPCODE ENDSEND START五:結(jié)果分析這次試驗(yàn)依次將相加數(shù)和被相加數(shù)存入AL,BL,依次從低位向高位相加,然后把結(jié)果放在內(nèi)存中,根據(jù)程序走向,相加的結(jié)果依次放在內(nèi)存地址DS:0000到DS:0004的位置上,和我們實(shí)驗(yàn)預(yù)期結(jié)果一樣。這里顯示的都是這些數(shù)字的ASII碼,減去30就是原來(lái)的數(shù)對(duì)比一下結(jié)果,沒(méi)有錯(cuò),這個(gè)實(shí)驗(yàn)程序運(yùn)行正常六:實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)的程序還算是比較簡(jiǎn)單的,就是定義了兩個(gè)數(shù)字,分別把這兩數(shù)分位存入內(nèi)存中然后再分位相加,由于是第一次做實(shí)驗(yàn),所以剛開(kāi)始還不怎么明白這個(gè)程序的意思也不知道該怎么去運(yùn)用這個(gè)東西,后來(lái)去了實(shí)驗(yàn)室在老師的指導(dǎo)下,開(kāi)始熟悉這個(gè)實(shí)驗(yàn)的運(yùn)作過(guò)程,然后又查看源程序,慢慢觀察,以便可以看到程序的原理。實(shí)驗(yàn)二排序?qū)嶒?yàn)一、實(shí)驗(yàn)?zāi)康恼莆沼脜R編語(yǔ)言編寫(xiě)排序程序的思路和方法。二、實(shí)驗(yàn)內(nèi)容將指定內(nèi)存出開(kāi)始的數(shù)據(jù)(最多為4位數(shù))按從大到小的順序排列。第一個(gè)數(shù)字表示數(shù)據(jù)的個(gè)數(shù)(不是要比較的數(shù)值?。。。?。三、程序流程圖圖3-2四、程序清單程序名:PAIX.ASMDATASEGMENTADDRDW8,234,35,67,876,54,39,765,237DATAENDSSTACKSEGMENTSTADW32DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AX MOV AX,STACK MOV SS,AX MOVSP,TOPMOV CX,WORDPTRADDR[0] DECCXLOOP1: MOV DI,CX MOVBX,2LOOP2:MOVAX,WORDPTRADDR[BX]CMPAX,WORDPTRADDR[BX+2]JGECCCXCHGAX,WORDPTRADDR[BX+2]MOVWORDPTRADDR[BX],AXCCC:ADDBX,2LOOPLOOP2MOVCX,DILOOPLOOP1 EXIT:MOVAX,4C00HINT21HCODEENDSENDSTART五:實(shí)驗(yàn)結(jié)果分析這次試驗(yàn)是給我們8個(gè)數(shù)字,然后讓我們比較后按照從大到小的順序排列出來(lái),定義的數(shù)字中8是一個(gè)指示數(shù)字個(gè)數(shù)的量,不參與比較,但是要占據(jù)一個(gè)字節(jié),所以在DS:0000的位置上放了一個(gè)0008,從ds:0002開(kāi)始才是參與比較的數(shù)字。將這些數(shù)字轉(zhuǎn)化成10進(jìn)制,就是我們定義的那些數(shù)據(jù)六:實(shí)驗(yàn)總結(jié)這次試驗(yàn)是將給的八個(gè)數(shù)字進(jìn)行排序,本來(lái)之前一致認(rèn)為DB的第一個(gè)數(shù)字08是參與比較的數(shù)字之一,其實(shí)不然,也可以將它定義為一個(gè)數(shù)字,來(lái)看那些需要比較數(shù)字的總數(shù)。在實(shí)驗(yàn)中,更深刻地理解了所學(xué)的知識(shí)。實(shí)驗(yàn)三自編程序上機(jī)調(diào)試一、實(shí)驗(yàn)?zāi)康恼莆沼脜R編語(yǔ)言編寫(xiě)排序程序的思路和方法。二、實(shí)驗(yàn)內(nèi)容選作業(yè)題中題目上機(jī)調(diào)試。題目:試編程求解表達(dá)式S=(23000-(X*Y+Z))/Z,其中X=600,Y=25,Z=-2000編程如下:DATASEGMENTXDW600YDW25ZDW-2000SDW?DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAX,XMOVBX,YMUIBXMOVBX,59D8HADDAX,ZSUBBX,AXMOVAX,BXMOVBX,ZIDIVBXMOVS,AXMOVAH,4CHINT21HCODEENDSENDSTART運(yùn)行結(jié)果:-g0022AX=FFFBBX=F830CX=0036DX=0000SP=0000BP=0000SI=0000DI=0000DS=1153ES=1143SS=1153CS=1154IP=0022NVUPDIPLNZNAPONC1154:0022B44CMOVAH,4C-d1153:01153:00005802190030F8FBFF-0000000000000000X...0x{.........1153:0010B853118ED8A10000-8B1E0200F7E3BBD88S..X!......wc;X1153:002059030604002BD88B-C38B1E0400F7FBA3Y....+X.C....w{#1153:00300600B44CCD21FF3A-75088A867BFF2C41..4LM!.:u...{.,A1153:0040EB03A0D725A25E23-C6064B07FFA0090Dk.W%"^#F.K....1153:00509850E8999A83C402-0BC0740FB8020D50.Ph...D..@t.8..P1153:0060E8D98783C402800E-080D045E8BE55DC3hY..D......^.e]C1153:0070558BEC83EC0A2BC0-8946FE8946FCB80AU.l.l.+@.F~.F|8.三、實(shí)驗(yàn)結(jié)果分析這次是自己編程的實(shí)驗(yàn),首先對(duì)程序進(jìn)行初始化,定義數(shù)據(jù)段,然后把參與運(yùn)算的數(shù)據(jù)放到寄存器中,然后在進(jìn)行運(yùn)算,然后按照自己邊學(xué)的程序,看結(jié)果的位置,現(xiàn)實(shí)的結(jié)果是FFFB,也即是-5的補(bǔ)碼,結(jié)果和預(yù)期的相同。由此可以看出這次編程基本沒(méi)有問(wèn)題。四、實(shí)驗(yàn)總結(jié)這次試驗(yàn)是老師叫我們自己編程然后調(diào)試,我選擇的是課本上的一個(gè)習(xí)題,開(kāi)始編程的時(shí)候想的是用鍵盤(pán)輸入數(shù)字然后計(jì)算出結(jié)果,然后發(fā)現(xiàn)這個(gè)方法在實(shí)施的時(shí)候出現(xiàn)很大的問(wèn)題,于是我就老老實(shí)實(shí)的把那些數(shù)字都定義進(jìn)去了,以減輕我們編寫(xiě)程序的難度,后來(lái)在程序編寫(xiě)的時(shí)候也遇到了一些困難,最后都在同學(xué)的講解下克服過(guò)去了,然后出現(xiàn)了正確結(jié)果。結(jié)果保存在內(nèi)存里。實(shí)驗(yàn)四自編程序上機(jī)調(diào)試一、實(shí)驗(yàn)?zāi)康恼莆沼脜R編語(yǔ)言編寫(xiě)排序程序的思路和方法。二、實(shí)驗(yàn)內(nèi)容選作業(yè)題中題目上機(jī)調(diào)試。題目:奇偶數(shù)判斷,是奇數(shù)時(shí)輸出N,是偶數(shù)時(shí)輸出Y。編程如下:DATASEGMENTXDB-30DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAL,XSHRAL,1JCNEXTMOVDL,’Y’JMPDISPNEXT:MOVDL,’N’DISP:MOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART運(yùn)行結(jié)果:-g0017YAX=0259BX=0000CX=002BDX=0059SP=0000BP=0000SI=0000DI=0000DS=1153ES=1143SS=1153CS=1154IP=0017OVUPDIPLNZNAPENC1154:0017B44CMOVAH,4C-d1153:01153:0000E200000000000000-0000000000000000b...............1153:0010B853118ED8A00000-D0E87205B259EB038S..X..Phr.2Yk.1153:002090B24EB402CD21B4-4CCD219A83C4020B.2N4.M!4LM!..D..1153:0030C075E580BE7CFF3A-75088A867BFF2C41@ue.>|.:u...{.,A1153:0040EB03A0D725A25E23-C6064B07FFA0090Dk.W%"^#F.K....1153:00509850E8999A83C402-0BC0740FB8020D50.Ph...D..@t.8..P1153:0060E8D98783C402800E-080D045E8BE55DC3hY..D......^.e]C1153:0070558BEC83EC0A2BC0-8946FE8946FCB80AU.l.l.+@.F~.F|8.-三、實(shí)驗(yàn)結(jié)果分析這次也是自己編程的實(shí)驗(yàn),和上次的一樣,首先對(duì)程序進(jìn)行初始化,定義數(shù)據(jù)段,然后把參與運(yùn)算的數(shù)據(jù)放到寄存器中,然后在進(jìn)行運(yùn)算,然后按照自己邊學(xué)的程序,看結(jié)果的位置。四、實(shí)驗(yàn)總結(jié)這次試驗(yàn)和上次一樣我也是選擇的課本上的題,有了上次的經(jīng)驗(yàn),這次做起來(lái)方便多了,沒(méi)了上次的問(wèn)題,熟練了許多。實(shí)驗(yàn)五 8255并行I/O口實(shí)驗(yàn)一、實(shí)驗(yàn)要求利用8255可編程并行口芯片,實(shí)現(xiàn)輸入/輸出實(shí)驗(yàn),實(shí)驗(yàn)中用8255PA口作輸入,PB口作輸出。二、實(shí)驗(yàn)?zāi)康?、了解8255芯片結(jié)構(gòu)及編程方法。2、了解8255輸入/輸出實(shí)驗(yàn)方法。三、預(yù)備知識(shí)8255是Intel公司生產(chǎn)的與Intel8080/8085系列的MPU配套的可編程外圍接口電路,簡(jiǎn)稱PPI。它有A、B、C三個(gè)八位端口寄存器,通過(guò)24位端口線與外部設(shè)備相連,基中C口可分為上半部和下半部。這24根端口線全部為雙向三態(tài)。三個(gè)端口可分二組來(lái)使用,可分別工作于三種不同的工作方式。四、實(shí)驗(yàn)原理圖及連線1、本實(shí)驗(yàn)主要用到的模塊:8255模塊、開(kāi)關(guān)量輸出模塊、0-1指示模塊、實(shí)驗(yàn)譯碼單元等;2、PA0-PA7分別接開(kāi)關(guān)量輸出模塊S0-S7對(duì)應(yīng)的插座;3、PB0-PB7分別接0-1指示模塊DO71-DO78對(duì)應(yīng)的插座;4、8255A的片選/CS接地址譯碼單元的2A0-2A7;5、數(shù)據(jù)線XD0—XD7接系統(tǒng)數(shù)據(jù)線區(qū)的任一插座。圖3-3五、實(shí)驗(yàn)內(nèi)容將實(shí)驗(yàn)的線路連接好后,編程,將8255的A口作為輸入,輸入信號(hào)由8個(gè)邏輯電平開(kāi)關(guān)提供,B口作為輸出,其內(nèi)容由發(fā)光二極管來(lái)顯示。六、程序框圖七、實(shí)驗(yàn)步驟1、參照?qǐng)D中的內(nèi)容連好線;2、運(yùn)行上位機(jī)軟件,裝載并運(yùn)行相應(yīng)程序即可(聯(lián)機(jī)請(qǐng)參考程序8255.asm)。注意:同學(xué)們自己編寫(xiě)程序時(shí),8255的/CS連線可以接地址譯碼單元的其他信號(hào),其它連線相同。如果用的端口與本實(shí)驗(yàn)不一樣,也可以改變IO口的連線。八、儀器配置

ZY15MicInt12BB微機(jī)原理及接口實(shí)驗(yàn)箱一臺(tái)。九、實(shí)驗(yàn)現(xiàn)象當(dāng)讀到某個(gè)開(kāi)關(guān)處于高電平時(shí),對(duì)應(yīng)的發(fā)光二極管就會(huì)亮。十、思考題參考答案(請(qǐng)同學(xué)們務(wù)必理解后用自己的話組織作答)根據(jù)程序列出實(shí)驗(yàn)中8255的各個(gè)端口的地址,如果8255的/CS改接譯碼信號(hào)280H,其它信號(hào)不變,那么對(duì)應(yīng)的端口地址又是多少?答案:8255命令口—2A3H,PA口—2A0H,PB口—2A1H,PC口—2A2H;8255的/CS改接譯碼信號(hào)280H后,對(duì)應(yīng)的端口地址為:8255命令口—283H,PA口—280H,PB口—281H,PC口—282H十一、問(wèn)題及解答(請(qǐng)同學(xué)們務(wù)必理解后用自己的話組織作答)如果學(xué)生在連好線后,系統(tǒng)不能正常啟動(dòng),那么一定是8255的/CS線沒(méi)連接,這時(shí)要再檢查一下連線。該模塊的8255的所有端口(PA、PB、PC)都和接線柱直接相連,可以通過(guò)改動(dòng)8255的工作方式和I/O方式,請(qǐng)同學(xué)們自己連線編程,完成實(shí)驗(yàn),比如老師可以提要求采用PB口輸入,PC口輸入等。開(kāi)始開(kāi)始延時(shí)置8255工作方式讀8255PA口置8255PB口程序清單L8255_CMDEQU2A3HL8255_PAEQU2A0HL8255_PBEQU2A1HL8255_PCEQU2A2HCODESEGMENTASSUMECS:CODE,DS:CODEBEGIN:MOVCX,0FFHAA:LOOPAAMOVDX,L8255_CMDMOVAL,9CH;10011000OUTDXNOPNOPNOPNOPNOPBB:MOVDX,L8255_PAINAL,DXXORAL,0FFHMOVDX,L8255_PBOUTDX JMPBBCODEENDSENDBEGIN十二:實(shí)驗(yàn)結(jié)果分析按照實(shí)驗(yàn)指導(dǎo)連接電路之后將所有的開(kāi)關(guān)都置于高電平,然后就所有的指示燈都亮了,觀察開(kāi)關(guān)置高電平這個(gè)動(dòng)作所代表的代碼進(jìn)入AL,然后跟ff進(jìn)行異或運(yùn)算,運(yùn)算后低電平時(shí)指示燈亮。所以開(kāi)關(guān)需要置高電平,如果置低電平的話,指示燈熄滅。由此可知這個(gè)程序結(jié)構(gòu)沒(méi)有什么問(wèn)題。十三、實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)是按照老師的要求在實(shí)驗(yàn)板上做的,按照老師演示的步驟將線路連接好然后將程序編譯連接后運(yùn)行發(fā)現(xiàn)所有的LED都被點(diǎn)亮了,打開(kāi)源程序,很多語(yǔ)句都不懂是什么意思,后來(lái)看書(shū)加上老師的講解對(duì)8255的工作方式有了一定的了解,但是對(duì)于一些控制指令還是不很懂,老師說(shuō)不用知道我就沒(méi)有更多的注意,也是在這個(gè)實(shí)驗(yàn)知道用空循環(huán)和空操作來(lái)進(jìn)行延時(shí),這個(gè)也是這次試驗(yàn)的收獲。實(shí)驗(yàn)六ADC0809A/D轉(zhuǎn)換實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、加深理解逐次逼近法模數(shù)轉(zhuǎn)換器的特征和工作原理;2、掌握A/D轉(zhuǎn)換芯片與8088/86的接口方法;3、了解A/D芯片ADC0809轉(zhuǎn)換性能及編程方法。二、預(yù)備知識(shí)A/D轉(zhuǎn)換器大致有三類:一是雙積分A/D轉(zhuǎn)換器,優(yōu)點(diǎn)是精度高,抗干擾性好;價(jià)格便宜,但速度慢;二是逐次逼近A/D轉(zhuǎn)換器,精度,速度,價(jià)格適中;三是并行A/D轉(zhuǎn)換器,速度快,價(jià)格也昂貴。實(shí)驗(yàn)用的ADC0809屬第二類,是八位A/D轉(zhuǎn)換器。每采集一次一般需100us。本程序是用延時(shí)查詢方式讀入A/D轉(zhuǎn)換結(jié)果,也可以用中斷方式讀入結(jié)果,在中斷方式下,A/D轉(zhuǎn)換結(jié)束后會(huì)自動(dòng)產(chǎn)生EOC信號(hào),做為轉(zhuǎn)換完成的信號(hào)。三、實(shí)驗(yàn)原理說(shuō)明及連線1、本實(shí)驗(yàn)的位置在實(shí)驗(yàn)箱的“ADC0809模塊”;2、本實(shí)驗(yàn)用芯片ADC0809的片選地址為2B8H,實(shí)驗(yàn)箱上已固定好,不需要再連線;3、將該實(shí)驗(yàn)?zāi)K的CLOCK和“信號(hào)源模塊”的1MHz信號(hào)連接起來(lái);4、用排線將“系統(tǒng)數(shù)據(jù)總線輸出單元”中的任意一組數(shù)據(jù)線和本實(shí)驗(yàn)?zāi)K的“ADC0809:XD0-XD7”5、將通道0模擬量輸入端IN0接模擬信號(hào)產(chǎn)生電路模塊中的電位器R093的中心抽頭,然后將R093的兩端一端接地,另一端接VCC(+5V)。圖3-8四、實(shí)驗(yàn)內(nèi)容利用電位器輸出一個(gè)幅值可調(diào)的直流電壓信號(hào),送入ADC0809的通道0,將轉(zhuǎn)換后的結(jié)果在屏幕上顯示出來(lái),并驗(yàn)證它與輸入電壓的關(guān)系。五、實(shí)驗(yàn)步驟1、確認(rèn)連接好線路;2、裝載運(yùn)行程序(聯(lián)機(jī)時(shí)請(qǐng)參考程序0809.asm)。CODESEGMENT ASSUMECS:CODESTART: MOVDX,2B8H ;2B0H-2B7H MOVAL,00H OUTDX CALLDELAY INAL,DX CALLSHOW CALLDELAY JMPSTARTSHOWPROCNEARPUSHDXPUSHAXMOVCL,4SHRAL,CLANDAL,0FHCALLH2CJCSHOW_OUTMOVDX,88HOUTDXPOPAXANDAL,0FHCALLH2CJCSHOW_OUTMOVDX,88HOUTDXMOVCX,0FFHDELA:

溫馨提示

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