微機(jī)原理上機(jī)實驗(六+十)實驗報告-74HC138譯碼器實驗-16x16點陣顯示實驗_第1頁
微機(jī)原理上機(jī)實驗(六+十)實驗報告-74HC138譯碼器實驗-16x16點陣顯示實驗_第2頁
微機(jī)原理上機(jī)實驗(六+十)實驗報告-74HC138譯碼器實驗-16x16點陣顯示實驗_第3頁
微機(jī)原理上機(jī)實驗(六+十)實驗報告-74HC138譯碼器實驗-16x16點陣顯示實驗_第4頁
微機(jī)原理上機(jī)實驗(六+十)實驗報告-74HC138譯碼器實驗-16x16點陣顯示實驗_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理上機(jī)實驗報告實驗六:74HC138譯碼器實驗實驗十:LED16x16點陣顯示實驗微機(jī)原理上機(jī)實驗(六)實驗報告實驗六:74HC138譯碼器實驗實驗?zāi)康?、掌握74HC138譯碼器的工作原理,熟悉74HC138譯碼器的具體運(yùn)用連接方法,了解74HC138是如何譯碼的。2、認(rèn)真預(yù)習(xí)本節(jié)實驗內(nèi)容,嘗試自行編寫程序,填寫實驗報告實驗內(nèi)容1、編寫程序:使用8255的PC0、PC1、PC2控制74HC138的數(shù)據(jù)輸入端,通過譯碼產(chǎn)生8選1個選通信號,輪流點亮8個LED指示燈。2、運(yùn)行程序,驗證譯碼的正確性。實驗原理圖實驗步驟連線說明:F7區(qū):A、B、C——D3區(qū):PC0、PC1、PC2F7區(qū):G1、G2A、G2B——C1區(qū):VCC、GND、GNDF7區(qū):JP63——F4區(qū):JP18(LED指示燈)D3區(qū):CS、A0、A1——A3區(qū):CS1、A0、A1調(diào)試程序,查看運(yùn)行結(jié)果是否正確實驗代碼Con_8255 EQU0273H;8255控制口PC_8255 EQU 0272H;8255PC口_STACKSEGMENT STACK;設(shè)置堆棧段DW100DUP(?) _STACKENDSCODESEGMENT STARTPROCNEARASSUMECS:CODE,SS:_STACKMOVDX,Con_8255MOV AL,80HOUTDX,AL;8255初始化,PC口作輸出用,向8255的控制口輸入置位/復(fù)位控制字10000000B,PC0~PC7全部復(fù)位MOVDX,PC_8255MOV AL,0START1:OUTDX,AL將00000000B輸入8255的PC口CALLDelay延時INCALAL加一JMPSTART1循環(huán)DelayPROC NEAR;延時Delay1:XORCX,CX;CX清零LOOP $當(dāng)前位置循環(huán)一次后推出RETDelayENDPSTARTENDPCODEENDSENDSTART實驗思考題在應(yīng)用系統(tǒng)中,74HC138通常用來產(chǎn)生片選信號,請讀者考慮一下,應(yīng)如何處理?將輸入信號轉(zhuǎn)換為三位無符號二進(jìn)制數(shù),將轉(zhuǎn)換后的數(shù)據(jù)由低到高分別輸入74HC138的A、B、C口,即可實現(xiàn)對最多8的模塊的片選功能。繪制本實驗的詳細(xì)實驗電路圖。使用8255的PC口讀入開關(guān)信號,實現(xiàn)編碼控制8個LED燈的開關(guān)本拓展實驗的電路圖在上個實驗的基礎(chǔ)上稍作修改74CH138的G1、G2A、G2B分別接入PC3、PC4、PC5,其余接口接線不變,當(dāng)開關(guān)4為開啟時,控制信號有效Con_8255 EQU 0273HPC_8255 EQU 0272HPA_8255 EQU 0270H_STACK SEGMENT STACKDW 100DUP(?) _STACK ENDS CODE SEGMENT START PROC NEARASSUME CS:CODE,SS:_STACKMOV DX, Con_8255MOV AL, 10010000BOUT DX,AL ;向8255的控制口輸入控制字,PA口方式0輸入,其 余口作為輸出START1: MOV DX, PA_8255 IN AL, DX ;從PA口讀入開關(guān)當(dāng)前狀態(tài)MOV DX, PC_8255OUT DX, AL ;將PA口讀入的開關(guān)狀態(tài)由PC口輸出,以控制LED燈的亮滅JMP START1 循環(huán)執(zhí)行,不斷地由PA口讀入開關(guān)狀態(tài)START ENDP CODE ENDS END START微機(jī)原理上機(jī)實驗(十)實驗報告實驗十:LED16x16點陣顯示實驗實驗?zāi)康?、熟悉8255的功能,了解點陣顯示的原理及控制方法;2、學(xué)會使用LED點陣,通過編程顯示不同字符;3、認(rèn)真預(yù)習(xí)本節(jié)實驗內(nèi)容,可嘗試自行編寫程序,做好實驗準(zhǔn)備工作,填寫實驗報告。實驗內(nèi)容1、編寫程序,用B4區(qū)的二片74HC273控制16X16點陣的行;8255的PA、PB口控制16X16點陣的列;顯示字符。2、按圖連接線路;運(yùn)行程序,觀察實驗結(jié)果,學(xué)會編程控制LED點陣顯示字符。實驗原理圖實驗步驟連線說明:D3區(qū):CS(8255)、A0、A1——A3區(qū):CS1、A0、A1D3區(qū):JP23(PA)、JP20(PB)——A2區(qū):JP21、JP22(列輸出線)B4區(qū):JP57(D0..D7)——A3區(qū):JP42(D0..D7)B4區(qū):JP56(D8..D15)——A3區(qū):JP40(D8..D15)B4(I/O)區(qū):CS273、BLE、BHE——A3區(qū):CS5、BLE、BHEB4(I/O)區(qū):RD、WR——A3區(qū):IOR、IOWB4(I/O)區(qū):JP51、JP55——A2區(qū):JP14、JP15(行輸出線)(注意連線方向) 運(yùn)行程序,觀察實驗結(jié)果。運(yùn)行演示程序?qū)吹阶址皻g迎使用星研實驗儀”在點陣上自下而上循環(huán)移動顯示。實驗代碼ADDR_8255_PAEQU270H;8255PA口ADDR_8255_PBEQU271H;8255PB口ADDR_8255_CEQU273H;8255控制口ADDR_273EQU230H;IO區(qū)74HC273(16位I/O)LINEEQUADDR_273;行線1,行線2ROW1EQUADDR_8255_PA;列線1ROW2EQUADDR_8255_PB ;列線2_STACKSEGMENTSTACKDW100DUP(?)_STACKENDS_DATASEGMENT WORDPUBLIC'DATA'HUANDB00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60HDB1CH,60H,1CH,70H,36H,0F0H,36H,0D8H,61H,9CH,0C7H,0FH,3CH,06H,00H,00HYINGDB60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66HDB37H,0E6H,37H,7EH,36H,6CH,30H,60H,30H,60H,78H,00H,0CFH,0FFH,00H,00HSHI DB00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33HDB1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H,18H,60H,18H,0FCH,19H,8FH,1FH,03HYONGDB00,0,1FH,0FEH,18H,0C6H,18H,0C6H,18H,0C6H,1FH,0FEH,018H,0C6H,18H,0C6HDB18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H,0C6H,60H,0DEH,0C0H,0CCHXINGDB00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80HDB1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H,80H,7FH,0FFH,00H,00HYANDB0,0,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCH DB0FCH,0CCH,3CH,0CCH,3CH,0CCH,3DH,8CH,3DH,8CH,33H,0CH,06H,0CH,0CH,0CHSHI0DB01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0HDB06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,70H,18HYAN0DB00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00HDB06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00HYI DB0CH,0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98H DB30H,0F0H,30H,0F0H,30H,60H,30H,0F0H,31H,98H,33H,0FH,3EH,06H,30H,00HNONEDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H_DATAENDSCODESEGMENTSTARTPROCNEARASSUMECS:CODE,DS:_DATA,SS:_STACKMOVAX,_DATAMOVDS,AXMOVES,AXNOPCALLINIT_IOCALL TEST_LED ;調(diào)用測試子程序,測試LED是否全亮CALL CLEAR;滾動顯示多個字符CHS_SHOW:MOV CX,9;九個漢字LEA SI,HUAN;取首個漢字的有效地址CHS_1:PUSHCX;CHS_1可以滾動顯示多個字符MOVCX,16 CHS_2:CALLDISP_CH;實現(xiàn)顯示,DISP_CH可以把每個漢字的32個字節(jié)讀完并顯示出來INCSI實現(xiàn)逐行滾動,SI每次循環(huán)自增兩次,體現(xiàn)為字模向上移動一行INCSILOOP CHS_2POPCXLOOP CHS_1;讀下一個循環(huán)對應(yīng)的漢字JMPCHS_SHOW;顯示一個16*16點陣字子程序,字型碼放在DPTR指出的地址DISP_CHPROCNEARPUSH CXMOVCX,8DISP_CH_1:CALLDISP1LOOP DISP_CH_1POP CXRETDISP_CHENDP;顯示一個16*16點陣字子程序,字型碼放在顯示緩沖區(qū)XBUFFDISP1PROCNEARPUSH SIPUSH CXMOVCX,16;計數(shù)器,16列依次被掃描MOV BL,0FEH ;上邊列輸出值MOVBH,0FFH;下邊列輸出值REPEAT: MOV DX,LINEMOV AX,BXOUTDX,AX;列輸出LODSBCALLADJUST;調(diào)整AL,將AL中二進(jìn)制數(shù)旋轉(zhuǎn)180度MOVDX,ROW1OUTDX,AL;左邊行輸出LODSBCALLADJUST;調(diào)整AL,將AL中二進(jìn)制數(shù)旋轉(zhuǎn)180度MOVDX,ROW2OUT DX,AL;右邊行輸出CALLDL10MSCALL CLEARSTCRCLBL,1RCLBH,1 ;循環(huán)移位BX,行線掃描輸出0LOOPREPEATPOPCXPOPSIRETDISP1ENDPINIT_IO PROCNEARMOVDX,ADDR_8255_C;8255控制字地址MOVAL,80H;設(shè)置8255的PA、PB、PC口為輸出口OUTDX,AL;寫控制字RETINIT_IO ENDPCLEARPROCNEARMOVAX,0FFFFHMOVDX,LINEOUTDX,AXMOVAL,0MOVDX,ROW1OUTDXMOVDX,ROW2OUTDXRETCLEARENDP;測試LED子程序,點亮LED并延時1STEST_LEDPROCNEAR MOVDX,LINEXORAX,AXOUTDX,AXMOVAL,0FFHMOVDX,ROW1OUTDXMOVDX,ROW2OUTDXCALL DL500msCALL DL500msRETTEST_LED ENDP ;調(diào)整AL中取到的字型碼的一個字節(jié),將最高位調(diào)整位最低位,最低位調(diào)整為最高位ADJUSTPROC NEARPUSH CXMOVCX,8ADJUST1:RCLAL,1XCHGAL,AHRCR AL,1XCHGAL,AHLOOP ADJUST1MOV AL,AHPOPCXRETADJUSTENDPDL10msPROC NEARPUSH CXMOVCX,133LOOP$POP CXRETDL10msENDP DL500ms PROCNEARPUSH CXMOV CX,0FFFFHLOOP $POPCXRETDL500msENDPSTARTENDPCODEENDSENDSTART實驗思考題修改程序,使顯示的字符從左至右動態(tài)循環(huán)顯示。ADDR_8255_PA EQU 270H ;8255PA口ADDR_8255_PB EQU 271H ;8255PB口ADDR_8255_C EQU 273H ;8255控制口ADDR_273 EQU 230H ;IO區(qū)74HC273(16位I/O)LINE EQU ADDR_273;行線1,行線2ROW1 EQU ADDR_8255_PA ;列線1ROW2 EQU ADDR_8255_PB ;列線2 _STACK SEGMENT STACK DW 1024DUP(?) _STACK ENDS _DATA SEGMENT WORDPUBLIC'DATA' HUAN DB00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60HDB1CH,60H,1CH,70H,36H,0F0H,36H,0D8H,61H,9CH,0C7H,0FH,3CH,06H,00H,00H YINGDB60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66H DB37H,0E6H,37H,7EH,36H,6CH,30H,60H,30H,60H,78H,00H,0CFH,0FFH,00H,00H SHI DB00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33H DB1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H,18H,60H,18H,0FCH,19H,8FH,1FH,03HYONGDB00,0,1FH,0FEH,18H,0C6H,18H,0C6H,18H,0C6H,1FH,0FEH,018H,0C6H,18H,0C6H DB18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H,0C6H,60H,0DEH,0C0H,0CCH XINGDB00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80H DB1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H,80H,7FH,0FFH,00H,00H YANDB0,0,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCH DB0FCH,0CCH,3CH,0CCH,3CH,0CCH,3DH,8CH,3DH,8CH,33H,0CH,06H,0CH,0CH,0CH SHI0DB01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0H DB06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,70H,18H YAN0DB00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00H DB06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00H YI DB0CH,0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98H DB30H,0F0H,30H,0F0H,30H,60H,30H,0F0H,31H,98H,33H,0FH,3EH,06H,30H,00H NONEDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H CHANGE_RESULTDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H_DATA ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE,DS:_DATA,SS:_STACK MOV AX,_DATA MOV DS,AX MOV ES,AX NOP CALL INIT_IO CALL TEST_LED ;調(diào)用測試子程序,測試LED是否全亮 CALL CLEAR LEA SI,HUAN ;取首個漢字的有效地址;CHS_1可以滾動顯示多個字符CHS_SHOW: MOV CX,9 ;九個漢字 CALLWORD_MOVE ;字模拷貝CHS_1: PUSH CX MOV CX,16 CHS_2: CALL DISP_CH ;實現(xiàn)顯示,DISP_CH可以把每個漢字的32個字節(jié)讀完并顯示出來 ;INC SI ;原程序用于滾動的指令 ;INC SI LEASI,CHANGE_RESULT ;除了第一次,每次的漢字讀取都去CHANGE_RESULT找,只顯示CHANGE_RESULT開頭的32個字節(jié) CALLWORD_CHANGE ;將WORD_CHANGE中的字模左移一位 LOOP CHS_2 POP CX LOOP CHS_1 ;讀下一個漢字 CALLWORD_MOVE LEA SI,CHANGE_RESULT JMP CHS_SHOW WORD_MOVEPROC NEAR ;給CHANGE_RESULT賦初值HUAN,把十個漢字都拷貝過來 PUSH CX PUSH ES PUSH DS PUSH SI PUSH DI LEASI,HUAN ;源 LEADI,CHANGE_RESULT ;目的 MOVAX,DS MOVES,AX MOVCX,320WORD_MOVE1: MOVSB ;執(zhí)行完畢后SI,DI自動加一 LOOPWORD_MOVE1 POP DI POP SI POP DS POP ES POP CX RET WORD_MOVEENDP ;把字??匠鰜恚瑢ORD_CHANGE中的字模全部整體左移一位WORD_CHANGE PROC NEAR ;16x2x10個字節(jié) PUSH CX PUSH DS PUSH SI PUSH BX PUSHF XORBX,BX LEASI,CHANGE_RESULT MOVCX,320MOVE_TO_LAST: INCSI LOOPMOVE_TO_LAST MOVCX,16 ;16行WORD_CHANGE1: CLC ;CF置0 PUSHCX MOVCX,10 ;10個字WORD_CHANGE2: RCL[SI],1 DECSI RCL[SI],1 SUBSI,31 ;SI=SI-31 LOOPWORD_CHANGE2 ADDSI,31 POPCX ADDSI,255 ;16+16+7x32-1=255 LOOPWORD_CHANGE1 SUBSI,255 ;LEASI,CHANGE_RESULT;測試是否回到開頭 POPF POP BX POP SI POP DS POP CX RETWORD_CHANGEENDP ;顯示一個16*16點陣字子程序,字型碼放在DPTR指出的地址DISP_CH PROC NEAR;把每個漢字的32個字節(jié)讀完 PUSH CX MOV CX,8 DISP_CH_1: CALL DISP1 LOOP DISP_CH_1 POP CX RET DISP_CH ENDP ;顯示一個16*16點陣字子程序,字型碼放在顯示緩沖區(qū)XBUFFDISP1 PROC NEAR PUSH SI PUSH CX MOV CX,16 ;計數(shù)器,16列依次被掃描 MOV BL,0FEH ;上邊列輸出值 MOV BH,0FFH ;下邊列輸出值REPEAT: MOV DX,LINE MOV AX,BX OUT DX,AX ;列輸出 LODSB CALL ADJUST ;調(diào)整AL,將AL中二進(jìn)制數(shù)旋轉(zhuǎn)180度 MOV DX,ROW1

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論