版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
微機原理與接口技術(shù)實驗報告姓名:學(xué)號:08212023班級:自動化0801指導(dǎo)教師:付文秀實驗一交通燈控制實驗一、實驗?zāi)康?通過并行接口8255實現(xiàn)十字路口交通燈的模擬控制,進(jìn)一步掌握對并行口的使用。二、實驗內(nèi)容 實驗內(nèi)容,如圖1連接電路,L7、L6、L5作為南北路口的交通燈與PC7、PC6、PC5相連,L2、L1、L0作為東西路口的交通燈與PC2、PC1、PC0相連,編程使六個燈按交通燈變化規(guī)律亮滅。圖1連接圖要求:十字路口交通燈的變化規(guī)律要求:〔1〕南北路口的綠燈、東西路口的紅燈同時亮30秒左右?!?〕南北路口的黃燈閃爍假設(shè)干次,同時東西路口的紅燈繼續(xù)亮?!?〕南北路口的紅燈、東西路口的綠燈同時亮30秒左右?!?〕南北路口的紅燈繼續(xù)亮、同時東西路口的黃燈亮閃爍假設(shè)干次?!?〕轉(zhuǎn)〔1〕重復(fù)。三、實驗流程圖開始開始設(shè)置8255A口輸入,C口輸出南北路口綠燈亮,東西路口紅燈亮長延時南北路口黃燈閃,東西路口紅燈亮南北路口紅燈亮,東西路口綠燈亮長延時南北路口紅燈亮,東西路口黃燈閃是否有鍵按下返回DOSNY圖2流程圖四、試驗程序:datasegmentpcequ0c40ahpdequ0c40bhdataendsstack1segmentstackdw100Hdup(?)stack1endscodesegmentassumecs:code,ds:data,ss:stack1start:movdx,datamovds,dx;初始化moval,80hmovdx,pdoutdx,als:moval,24hmovdx,pcoutdx,alcalldelay3;南北綠燈亮、東西紅燈亮3秒movcx,6y1:moval,44houtdx,alcalldelay1moval,04houtdx,alcalldelay1loopy1;南北綠燈滅,南北黃燈閃,東西紅燈亮moval,81houtdx,alcalldelay3;東西紅燈滅,南北紅燈、東西綠燈亮3秒movcx,6y2:moval,82houtdx,alcalldelay1moval,80houtdx,alcalldelay1loopy2;東西綠燈滅,東西黃燈閃,南北紅燈亮movdl,0ffhmovah,6int21hjzsmovah,4chint21h;查詢是否有鍵按下delay3proc;延時3秒子程序pushcxpushaxmovcx,0afffht1:movax,0ffffht2:decaxjnzt2loopt1popaxpopcxretdelay3endpdelay1proc;延時半秒子程序pushcxpushaxmovcx,1d55ht3:movax,0ffffht4:decaxjnzt4loopt3popaxpopcxretdelay1endpcodeendsendstart五、實驗步驟〔1〕將PC總線接口卡插在任意擴展槽中〔已接好〕?!?〕用50芯線扁平電纜線連接接口卡和實驗臺?!?〕如圖1所示連接線路?!?〕翻開實驗箱電源,啟動TCP-2003實驗系統(tǒng)軟件環(huán)境。〔5〕測試8255、LED和串口是否完好。六、實驗現(xiàn)象:南北路口的綠燈、東西路口的紅燈同時亮3秒左右,然后南北路口的黃燈閃爍假設(shè)干次,東西路口的紅燈繼續(xù)亮,接著南北路口的紅燈、東西路口的綠燈同時亮3秒左右,然后南北路口的紅燈繼續(xù)亮、同時東西路口的黃燈亮閃爍假設(shè)干次。如此循環(huán)。結(jié)果與實驗要求相符。七、實驗心得本實驗的重要一局部就是延時子程序,編寫程序時候要根據(jù)流程圖,這樣就從一定程度上簡化了實驗,還有就是實驗的調(diào)試過程,一定要細(xì)心又有耐心實驗二可編程定時器/計數(shù)器〔1〕一、實驗?zāi)康恼莆?253的根本工作原理和編程方法二、實驗內(nèi)容1、按電路圖虛線連接電路,將計數(shù)器0設(shè)置為方式0,計數(shù)器初值N〔N≤0FH〕,用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并同時用邏輯筆觀察OUT0電平變化〔當(dāng)輸入N+1個脈沖后OUT0變高電平〕。實驗電路圖:三、試驗流程圖開始開始設(shè)計數(shù)器為工作方式0送計數(shù)器初值讀計數(shù)器初值顯示計數(shù)值有鍵按下嗎結(jié)束YN四、實驗程序:CODESEGMENTASSUMECS:CODESTART:MOVDX,0C403HMOVAL,10H;設(shè)置計數(shù)器0工作方式0OUTDX,ALMOVDX,0C400HMOVAL,03H;設(shè)置N為3〔可更改設(shè)置〕OUTDX,ALL1:MOVDX,0C400HINAL,DX;讀計數(shù)器0的計數(shù)值A(chǔ)NDAL,0FH;屏蔽高四位CMPAL,09HJLEL2ADDAL,07HL2:ADDAL,30H;判斷大小并將其變?yōu)锳SCII碼MOVDL,ALMOVAH,02HINT21H;2號功能顯示計數(shù)值MOVDL,0DH;回到本行最前面MOVAH,02HINT21HMOVDL,0FFHMOVAH,06HINT21H;6號功能輸入任意字符JZL1;無鍵按下,執(zhí)行L1循環(huán)MOVAH,4CH;INT21HCODEENDS;結(jié)束ENDSTART五、實驗結(jié)果及分析:程序運行之后邏輯筆代表低電平的綠燈亮,當(dāng)按下脈沖按鍵后,屏幕上會顯示數(shù)字3,每按一下按鍵數(shù)字就會減1,直到為0,且同時指示燈由綠燈變成紅燈。計數(shù)脈沖由CLK端輸入,計數(shù)初值寫入16位計數(shù)初值存放器,并加載到16位減‘1’計數(shù)執(zhí)行部件。方式0計數(shù)工程中,OUT一直保持低電平,直到計數(shù)達(dá)‘0’,OUT輸出由低電平變?yōu)楦唠娖健?删幊潭〞r器/計數(shù)器〔2〕一、實驗?zāi)康恼莆?253的根本工作原理和編程方法二、實驗內(nèi)容按圖連接電路,將計數(shù)器0、計數(shù)器1分別設(shè)置為方式3,計數(shù)初值設(shè)為1000,用邏輯筆觀察OUT1輸出電平的變化〔頻率為1Hz〕電路圖:三、實驗流程圖:開始開始設(shè)計數(shù)器0為工作方式3向計數(shù)器送初值1000先送低字節(jié)后送高字節(jié)設(shè)計數(shù)器1為工作方式2向計數(shù)器1送初值1000先送低字節(jié)后送高字節(jié)結(jié)束四、實驗程序:CODESEGMENTASSUMECS:CODESTART:MOVAL,36H;計數(shù)器0為工作方式3,先讀低字節(jié)再讀高字節(jié)MOVDX,0C403HOUTDX,ALMOVAX,1000;設(shè)置計數(shù)初值MOVDX,0C400HOUTDX,ALMOVAL,AHOUTDX,AL;送計數(shù)初值至計數(shù)器0MOVAL,76H;計數(shù)器1工作方式3MOVDX,0C403HOUTDX,ALMOVDX,0C401HMOVAX,1000;設(shè)置計數(shù)初值OUTDX,ALMOVAL,AHOUTDX,ALMOVAH,4CH;返回操作系統(tǒng)INT21HCODEENDSENDSTART五、實驗結(jié)果:計數(shù)器0輸入1MHz作為時鐘,工作在方式3方波發(fā)生器,計數(shù)初值為1000,輸出1000Hz的方波,此方波做為計數(shù)器1的時鐘接入,而計數(shù)器1也工作在方式3方波發(fā)生器,輸出1Hz的方波,用邏輯筆觀觀察到的現(xiàn)象為紅、綠燈不停交替閃爍。實驗三中斷實驗一、實驗?zāi)康?、掌握PC機中斷處理系統(tǒng)的根本原理2、學(xué)會編寫中斷效勞程序二、實驗原理與內(nèi)容1、實驗原理PC機用戶可使用的硬件中斷只有可屏蔽中斷由8259中斷控制器管理中斷控制器用于接收外部的中斷請求信號經(jīng)過優(yōu)先級判別等處理后向CPU發(fā)出可屏蔽中斷請求IBMPC、PC/XT機內(nèi)有一片8259中斷控制器對外可以提供8個中斷源中斷源中斷類型號中斷功能IRQ008H時鐘IRQ109H鍵盤IRQ20AH保存IRQ3OBH串行口2IRQ40CH串行口1IRQ50DH硬盤IRQ60EH軟盤IRQ70FH并行打印機8個中斷源的中斷請求信號線IRQ0IRQ7在主機的62線ISA總線插座中可以引出系統(tǒng)已設(shè)定中斷請求信號為邊沿觸發(fā)普通結(jié)束方式對于PC/AT及286以上微機內(nèi)又?jǐn)U展了一片8259中斷控制IRQ2用于兩片8259之間級連對外可以提供16個中斷源中斷源中斷類型號中斷功能IRQ8070H實時時鐘IRQ9071H用戶中斷IRQ10072H保存IRQ11O73H保存IRQ12074H保存IRQ13075H協(xié)處理器IRQ14076H硬盤IRQ15077H保存PCI總線中的中斷線只有四根INTA#INTB#INTC#INTD#它們需要通過P&P的設(shè)置來和某一根中斷相連接才能進(jìn)行中斷申請2、實驗內(nèi)容實驗電路如圖5-8直接用手動產(chǎn)單脈沖作為中斷請求信號只需連接一根導(dǎo)線要求每按一次開關(guān)產(chǎn)生一次中斷在屏幕上顯示一次TPCpcicardInterrupt中斷10次后程序退出編程提示:1.由于9054的驅(qū)動程序影響直寫9054芯片的控制存放器,中斷實驗需要在純DOS的環(huán)境中才能正常運行。2.由于TPC卡使用PCI總線,所以分配的中斷號每臺微機可能都不同,編程時需要了解當(dāng)前的微機使用那個中斷號并進(jìn)行設(shè)置。獲取方法是在純DOS環(huán)境中,運行一個讀PCI配置空間的程序“PORTR.EXE〞,該程序能夠獲得本機TPC板卡或所有PCI板卡的硬件資源,如IO、內(nèi)存、中斷占用情況。然后根據(jù)獲得的中斷請求號碼來修改程序中的中斷向量、中斷掩碼的參數(shù),并重新編譯鏈接后即可。3.由于TPC卡使用9054芯片連接微機,所以在編程使用微機中斷前需要使能9054的中斷功能代碼如下:movdx,ioport_cent+68h;設(shè)置tpc卡中9054芯片io口,使能中斷inax,dxorax,0900houtdx,ax其中IOPORT_CENT是9054芯片存放器組的I/O起始地址,每臺微機可能都不同,編程時需要了解當(dāng)前的微機使用哪段并進(jìn)行設(shè)置,獲取方法請參看匯編程序使用方法的介紹。+68H的偏移是關(guān)于中斷使能的存放器地址設(shè)置含義如下:設(shè)置INTCSR(68H)存放器中斷模式設(shè)置BITS功能81:能夠產(chǎn)生PCI中斷0:禁止產(chǎn)生PCI中斷111:能夠LOCAL端輸入的中斷送到PCI端0:禁止LOCAL端輸入的中斷送到PCI端其它位為零即可更多內(nèi)容參看9054芯片數(shù)據(jù)手冊三、實驗流程圖四、實驗程序;386以上微機適用;純dos下才能使用;tasm4.1或以上編譯datasegmentint_vectEQU071H;中斷0-7的向量為:08h-0fh,中斷8-15的向量為:70h-77hirq_mask_2_7equ011111011b;中斷掩碼,中斷0-7時從低至高相應(yīng)位為零,中斷8-15時第2位為零irq_mask_9_15equ011111101b;中斷0-7時全一,中斷8-15時從低至高相應(yīng)位為零ioport_centequ0d800h;tpc卡中9054芯片的io地址csregdw?ipregdw?;舊中斷向量保存空間irq_timesdw00h;中斷計數(shù)msg1db0dh,0ah,'TPCpcicardInterrupt',0dh,0ah,'$'msg2db0dh,0ah,'Pressanykeytoexit!',0dh,0ah,'$'msg3db0dh,0ah,'PressDMCtointerrupt10timesandexit!',0dh,0ah,'$'dataendsstackssegmentdb100dup(?)stacksendscodesegmentassumecs:code,ds:data,ss:stacks,es:datastart:;EnableLocalInterruptInput.386climovax,datamovds,axmoves,axmovax,stacksmovss,axmovdx,ioport_cent+68h;設(shè)置tpc卡中9054芯片io口,使能中斷inax,dxorax,0900houtdx,axmoval,int_vect;保存原中斷向量movah,35hint21hmovax,esmovcsreg,axmovipreg,bxmovax,cs;設(shè)置新中斷向量movds,axmovdx,offsetint_procmoval,int_vectmovah,25hint21hinal,21h;設(shè)置中斷掩碼andal,irq_mask_2_7out21h,alinal,0a1handal,irq_mask_9_15out0a1h,almovax,datamovds,axmovdx,offsetmsg2movah,09hint21hmovdx,offsetmsg3movah,09hint21hmovirq_times,0ahstiloop1:cmpirq_times,0;等待中斷并判斷中斷10次后退出jzexitmovah,1int16hjnzexit;按任意鍵退出jmploop1exit:climovbl,irq_mask_2_7;恢復(fù)中斷掩碼notblinal,21horal,blout21h,almovbl,irq_mask_9_15notblinal,0a1horal,blout0a1h,almovdx,ipreg;恢復(fù)原中斷向量movax,csregmovds,axmovah,25hmoval,int_vectint21hmovdx,ioport_cent+68h;設(shè)置tpc卡中9054芯片io口,關(guān)閉中斷inax,dxandax,0f7ffhoutdx,axmovax,4c00hint21hint_procprocfar;中斷處理程序clipushaxpushdxpushdsdecirq_timesmovax,data;Interrupttodomovds,axmovdx,offsetmsg1movah,09hint21hmoval,20h;SendEOIout0a0h,alout20h,alpopdspopdxpopaxstiiretint_procendpcodeendsendstart五、實驗現(xiàn)象每按下一次中斷按鈕,產(chǎn)生中斷并在電腦屏幕上顯示一次中斷信息,當(dāng)中斷十次后,那么結(jié)束程序,回到DOS界面。六、實驗心得中斷實驗相對來說是比擬難的一次實驗,它要求在純DOS界面下執(zhí)行,因此得用DOS命令調(diào)用程序,并進(jìn)行編譯鏈接執(zhí)行。這就增加了本來已經(jīng)熟悉的實驗軟件操作的難度。在實驗中,需注意以下幾個問題:要裝入新的中斷前需將該處原中斷取出保存,當(dāng)用完后還需再次把原中斷裝入,以防止原中斷內(nèi)容被覆蓋或者發(fā)生改變。在本次實驗中還需將用到的儀器先使能,否那么無法正常工作。中斷需要用的堆棧段,因此必須定義足夠的堆棧段。實驗四模/數(shù)轉(zhuǎn)換器一、實驗?zāi)康牧私饽?數(shù)轉(zhuǎn)換的根本原理,掌握ADC0809的使用方法。二、實驗內(nèi)容實驗電路原理圖如圖5-5。通過實驗臺左下角電位器RW1輸出0~5V直流電壓送入ADC0809通道0(IN0),編程采集IN0輸入的電壓,在屏幕上顯示出轉(zhuǎn)換后的數(shù)據(jù)〔用16進(jìn)制數(shù)〕圖5-5模數(shù)轉(zhuǎn)換電路三、實驗提示1.ADC0809的IN0口地址為298H,IN1口地址為299H。2.IN0單極性輸入電壓與轉(zhuǎn)換后數(shù)字的關(guān)系為:NUU256iREF=其中Ui為輸入電壓,UREF為參考電壓,這里參考電壓為PC的機+5V電源。3.一次A/D轉(zhuǎn)換的程序可以為MOVDX,口地址;啟動轉(zhuǎn)換OUTDX,AL;延時INAL,DX;讀取轉(zhuǎn)換結(jié)果放在AL中四、實驗流程圖五、實驗程序STACK1SEGMENTPARASTACKDW100DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,SS:STACK1START:MOVDX,0C418H;ADC0809地址為0C410HMOVAL,0;向其地址寫入0,啟動ADC0809進(jìn)行模數(shù)轉(zhuǎn)換OUTDX,ALMOVCX,0FFFH;延時,使ADC0809完成轉(zhuǎn)換T1:MOVDI,0FFFFHT2:DECDIJNZT2LOOPT1INAL,DX;將轉(zhuǎn)換結(jié)果讀進(jìn)來MOVBL,AL;將數(shù)據(jù)的高,低位存入BL位存入ALANDAL,11110000BANDBL,00001111BMOVCL,4SHRAL,CLCMPAL,0AH;比擬AL的值與0AH的大小JAEL0;假設(shè)大于等于0AH轉(zhuǎn)L0ADDAL,30H;假設(shè)小于0AH加30H轉(zhuǎn)換成它的ASCII碼JMPL1L0:ADDAL,37H;大于0AH時加37H轉(zhuǎn)換成它的ASCII碼L1:CMPBL,0AH;比擬BL的值與0AH的大小JAEL2;假設(shè)大于等于0AH轉(zhuǎn)L2ADDBL,30H;假設(shè)小于0AH加30H轉(zhuǎn)換成它的ASCII碼JMPL3L2:ADDBL,37HL3:MOVDL,AL;2號功能調(diào)用,顯示高位MOVAH,02HINT21HMOVDL,BL;顯示低位MOVAH,02HINT21HMOVDL,13;回車MOVAH,02HINT21HMOVDL,10;換行MOVAH,02HINT21HMOVDL,0FFH;按任意鍵退出MOVAH,06HINT21HJZSTARTMOVAH,4CHINT21HCODEENDSENDSTART六、實驗現(xiàn)象調(diào)節(jié)滑動變阻器,屏幕上顯示的數(shù)值〔00~FF〕隨著電阻的改變而改變,并且是整屏幕顯示。七、實驗心得本次實驗是將電壓值經(jīng)過AD后把模擬量變化為了數(shù)字量,使得表示更精確了,也方便于讀數(shù)。啟動轉(zhuǎn)換后需要等待一段時間,以防還沒有轉(zhuǎn)換好就讀出結(jié)果,造成錯誤。輸出結(jié)果要求用16進(jìn)制顯示,因此還需將結(jié)果轉(zhuǎn)換為對應(yīng)的ASCII碼。實驗五串行通信實驗?zāi)康恼莆沾薪涌谛酒?250的根本原理和編程方法熟悉PC機串行的根本連接方法進(jìn)一步了解串行通信的根本原理實驗內(nèi)容PC機RS-232串口自發(fā)自收自發(fā)自收實驗:將RS232C的DB9的電纜插頭第2腳和第3腳短接,然后編程實現(xiàn)。2臺PC的串行通信:用RS232C的DB9的電纜〔交叉線〕將兩臺機器連接,然后編程實現(xiàn)收發(fā)數(shù)據(jù)。三、硬件連接四、實驗程序1-單機通信〔自發(fā)自收〕CODESEGMENT ASSUMECS:CODESTART: MOVAL,10000000B ;8250初始化,設(shè)DLAB=1 MOVDX,3FBH OUTDX,AL MOVAX,30H ;寫入除數(shù)低字節(jié) MOVDX,3F8H OUTDX,AL MOVAL,AH ;寫入除數(shù)高字節(jié) MOVDX,3F9H OUTDX,AL MOVAL,00001010B ;7位數(shù)據(jù),1位停止,奇校驗 MOVDX,3FBH OUTDX,AL ;寫入線路控制存放器 MOVAL,00010000B ;自檢控制 MOVDX,3FCH OUTDX,AL ;寫入Modem控制存放器 MOVAL,0 MOVDX,3F9H OUTDX,AL ;寫中斷允許存放器,屏蔽中斷WAIT_FOR: MOVDX,3FDH ;讀線路狀態(tài)存放器 INAL,DX TESTAL,00011110B ;出錯否 JNZERROR ;出錯,轉(zhuǎn)ERROR TESTAL,00000001B ;接收數(shù)據(jù)就緒否 JNZRECEIVE ;就緒,轉(zhuǎn)接受 TESTAL,00100000B ;發(fā)送存放器空否,不空,返回等待 JZWAIT_FOR MOVAH,1 INT21H ;讀鍵盤 MOVDX,3F8H ;發(fā)送 OUTDX,AL JMPWAIT_FOR ;返回等待RECEIVE:PUSHCXPUSHAXMOVCX,02000HT1:MOVAX,0FFFFHT2:DECAXJNZT2LOOPT1;延時程序 MOVDX,3F8H ;讀接收數(shù)據(jù) INAL,DX ANDAL,01111111B ;保存7位數(shù)據(jù) CMPAL,03H ;是Ctrl+C? JNZCHAR MOVAH,4CH ;返回DOS INT21HCHAR:PUSHAX MOVDL,AL MOVAH,2H ;顯示接收字符 INT21H POPAX JMPWAIT_FOR ;返回等待ERROR:MOVDX,3FDH ;出錯那么去除線路狀態(tài)存放器 INAL,DX MOVDL,'?' ;顯示'?' MOVAH,02H INT21H JMPWAIT_FORCODEENDS ENDSTART2-雙機通信發(fā)送程序:CODESEGMENT ASSUMECS:CODESTART: MOVAL,80H ;8250初始化,設(shè)DLAB=1 MOVDX,3FBH OUTDX,AL MOVAX,0030H MOVDX,3F8H OUTDX,AL ;寫入除數(shù)低字節(jié) MOVAL,AH MOVDX,3F9H OUTDX,AL ;寫入除數(shù)高字節(jié) MOVAL,0AH ;7位數(shù)據(jù),1位停止,奇校驗 MOVDX,3FBH OUTDX,AL ;寫入線路控制存放器 MOVAL,03H ;數(shù)據(jù)終端就緒,請求發(fā)送數(shù)據(jù) MOVDX,3FCH OUTDX,AL ;寫入Modem控制存放器 MOVAL,0 MOVDX,3F9H OUTDX,AL ;寫中斷允許存放器,屏蔽中斷WAIT_FOR: MOVDX,3FDH ;讀線路狀態(tài)存放器 INAL,DX TESTAL,00100000B ;發(fā)送存放器空否,不空,返回等待 JZWAIT_FORSEND: MOVAH,1 INT21H CMPAL,21H JZEXIT MOVDX,3F8H ;讀鍵盤,假設(shè)是'!',返回DOS,假設(shè)不是,那么發(fā)送 OUTDX,AL JMPWAIT_FOR ;返回等待EXIT: MOVAX,4C00H INT21HCODEENDS ENDSTART接收程序:CODESEGMENT ASSUMECS:CODESTART: MOVAL,80H ;8250初始化,設(shè)DLAB=1 MOVDX,3FBH OUTDX,AL MOVAX,0030H MOVDX,3F8H OUTDX,AL ;寫入除數(shù)低字節(jié) MOVAL,AH MOVDX,3F9H OUTDX,AL ;寫入除數(shù)高字節(jié) MOVAL,0AH ;7位數(shù)據(jù),1位停止,奇校驗 MOVDX,3FBH OUTDX,AL ;寫入線路控制存放器 MOVAL,03H ;數(shù)據(jù)終端就緒,請求發(fā)送數(shù)據(jù) MOVDX,3FCH OUTDX,AL ;寫入Modem控制存放器 MOVAL,0 MOVDX,3F9H OUTDX,AL ;寫中斷允許存放器,屏蔽中斷WAIT_FOR: MOVDX,3FDH ;讀線路狀態(tài)存放器 INAL,DX TESTAL,00000001B ;接收數(shù)據(jù)就緒否 JNZRECEIVE ;轉(zhuǎn)接收 JMPWAIT_FOR ;返回等待RECEIVE: MOVDX,3F8H ;讀接收數(shù)據(jù) INAL,DX ANDAL,01111111B ;保存7位數(shù)據(jù) CMPAL,21H ;是'!'? JNZCHAR MOVAX,4C00H ;返回DOS INT21HCHAR: PUSHAX MOVDL,AL MOVAH,2 ;顯示接收字符 INT21H POPAX JMPWAIT_FOR ;返回等待CODEENDS ENDSTART實驗現(xiàn)象及分析:自發(fā)自收:當(dāng)把2口和3口用跳線連上時,輸入帶屏幕顯示字符后,屏幕上會出現(xiàn)兩個相同的字符,當(dāng)把跳線拔出,屏幕上顯示一個字符,因為此時不能接收,只顯示發(fā)送字符。雙機通信:發(fā)送機發(fā)出一個字符,接收機屏幕上會顯示該字符。當(dāng)發(fā)送字符為“!〞時,程序停止運行六、實驗心得:自發(fā)自收程序相對較難,但是課本上有例題,根據(jù)課本山東各程序改編,相對降低了難度,剛開始的時候,無論怎么調(diào)試,輸入一個字符,屏幕上總會出現(xiàn)兩個字符,即便是在拔掉2、3間的跳線的情況下,剛開始疑心是程序有問題。找老師過來看看,老師說可能是機子的問題,后來換臺機子就好使了,真的很令人無語。。。接下來做雙機通信就較為順利。實驗六搶答器一、實驗?zāi)康模薄⒘私馕C化競賽搶答器的根本原理。2、進(jìn)一步學(xué)習(xí)使用并行接口。二、實驗內(nèi)容下列圖為競賽搶答器〔模擬〕的原理圖,邏輯開關(guān)K0~K7代表競賽搶答按鈕0~7號,當(dāng)某個邏輯電平開關(guān)置“1〞時,相當(dāng)某組搶答按鈕按下。在七段數(shù)碼管上將其組號〔0~7〕顯示出來,并使喇叭響一下。從鍵盤上按空格鍵開始下一輪搶答,按其它鍵程序退出。三、編程分析1、設(shè)置8255為C口輸入、A口輸出,讀?。每跀?shù)據(jù),假設(shè)為0表示無人搶答,假設(shè)不為0那么有人搶答。根據(jù)讀取數(shù)據(jù)可判斷其組號。從鍵盤上按空格鍵開始下一輪搶答,按其它鍵程序退出。2、計算組號的算法:組號=C口數(shù)據(jù)連續(xù)除以2得到商為零的除法運算次數(shù)MOVAH,0MOVDL,2MOVCL,0JISUAN:DIVDLINCCLCMPAL,0JNZJISUANDECCLMOVAL,CL3、響鈴的DOS功能調(diào)用:MOVDL,7;響鈴ASCII碼為07MOVAH,2INT21H程序設(shè)計流程圖五、匯編語言程序DATASEGMENTLISTDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DATAENDSSTACK1SEGMENTSTACKKDW200DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START: MOVAX,DATA;初始化數(shù)據(jù) MOVDS,AXMOVAX,STACK1MOVSS,AXMOVDX,0C40BH;初始化8255,設(shè)定C口輸入、A口輸出 MOVAL,10001001B OUTDX,ALBIN: MOVDX,0C408H;去除A口,消除影響MOVAL,0 OUTDX,ALL1: MOVDX,0C40AH ;讀入C口 INAL,DX CMPAL,0;與0比擬,為零那么循環(huán)等待 JZL1 MOVDL,0CNT: SHRAL,1 ;邏輯判斷搶答組號 JZOP INCDL JMPCNTOP: MOVAL,DL MOVBX,OFFSETLIST XLAT ;查表指令,計算物理地址 MOVDX,0C408H OUTDX,AL;A口輸出RING: MOVDL,7;ASCII碼為07,響鈴 MOVAH,2 INT21H L2: MOVAH,08H INT21H CMPAL,20H;檢測空格鍵下一輪搶答 JZBINMOVAH,4CH INT21HCODEENDSENDSTART實驗現(xiàn)象及分析:初始狀態(tài)為數(shù)碼管全亮。撥下任一開關(guān)后,鈴響,同時數(shù)碼管顯示該組的組號。按空格鍵,恢復(fù)到初始狀態(tài)七、實驗心得:組號的計算跟顯示是個難點,首先是計算,要用到移位、循環(huán)、比擬,顯示那么要用到查表,所以看似簡單的搶答器程序設(shè)計其實并不簡單,因為覆蓋的知識點較多,但是,經(jīng)過前幾次的實驗,這幾方面都已經(jīng)經(jīng)受屢次考驗了,總體上也不算難。實驗七自主設(shè)計實驗——循環(huán)彩燈電路一、實驗?zāi)康模和ㄟ^自主設(shè)計實驗,使我們在完成實驗的根底上提高自己提出問題解決問題的能力二、實驗原理:本實驗中,我們用到了實驗箱中的8255以及八個LED燈;實驗箱中,8255控制存放器地址:0C40BH,A口地址:04C408H,C口地址:04C40AH,我們使用8255的C口作為輸出,實驗中沒有用到A口和B口;實驗中循環(huán)彩燈的循環(huán):第一次,從右至左,彩燈一次亮過去,第二次,從右至左,第1、3、5、7個燈亮;以此為整個循環(huán),直到有鍵按下,循環(huán)跳出。實驗原理圖如下所示:L0L1L2L3L4L5L6L7L0L1L2L3L4L5L6L7PC0PC18255PC2PC3PC4PC5PC6PC0PC18255PC2PC3PC4PC5PC6PC7CS288h~28FhCS三、編程分析:〔1〕對8255初始化〔2〕通過右移循環(huán)輸出高電平,使彩燈依次亮四、實驗流程圖:開始開始返回DOS設(shè)置8255C口輸出彩燈順次亮隔燈亮有鍵按下嗎?YN五、實驗程序STACKSEGMENTDB100DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKDYPROCNEARPUSHAXPUSHCXMOVAX,0FFFFH;延時程序MOVCX,02FFFHL0:DECAX
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度跨境電商合同解除協(xié)議模板
- 二零二五年度知識產(chǎn)權(quán)許可合同法律意見書
- 2025年度智能工廠廠房場地租賃合同范本詳解3篇
- 2025年度生物科技合伙公司股權(quán)合作協(xié)議
- 二零二五年度影視基地用地地基租賃協(xié)議
- 二零二五年度科技企業(yè)研發(fā)助理兼職合同
- 2025年度物流倉儲司機作業(yè)協(xié)議書
- 二零二五年度電子競技戰(zhàn)隊MCN全權(quán)管理合同樣本3篇
- 嵌入式軟件架構(gòu)的未來發(fā)展趨勢
- 二零二五年度航空器材采購及維修服務(wù)合同3篇
- 土壤肥料學(xué)(全套1292張課件)
- 一年級計算題連加連減
- 會計專業(yè)工作簡歷表(中級)
- 中國建筑史經(jīng)典題型
- 人民美術(shù)出版社三年級下冊書法教案
- 二年級豎式計算題720道(打印排版)
- 公路工程質(zhì)量檢驗評定標(biāo)準(zhǔn)(交安部分)
- 整式的乘法和因式分解純計算題100道
- Consent-Letter-for-Children-Travelling-Abroad
- 玻璃鱗片施工技術(shù)規(guī)范
- 操作規(guī)程管理制度的內(nèi)容及示例
評論
0/150
提交評論