




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、微機(jī)原理與接口技術(shù)硬件實(shí)驗(yàn)報(bào)告目錄1.實(shí)驗(yàn)一 微機(jī)實(shí)驗(yàn)平臺介紹及IO的使用31.1.實(shí)驗(yàn)?zāi)康?1.2.實(shí)驗(yàn)內(nèi)容及要求31.3.實(shí)驗(yàn)環(huán)境及背景31.4.實(shí)驗(yàn)步驟41.4.1.使用debug的I、O命令讀寫端口41.4.2.使用文本編輯器edit和編譯器masm51.5.思考題111.6.心得體會11參考資料12聲明與致謝121. 實(shí)驗(yàn)一 微機(jī)實(shí)驗(yàn)平臺介紹及IO的使用1.1. 實(shí)驗(yàn)?zāi)康?.1.1通過實(shí)驗(yàn)了解和熟悉實(shí)驗(yàn)臺的結(jié)構(gòu),功能及使用方法;1.1.2通過實(shí)驗(yàn)掌握直接使用debug的I、O命令來讀寫IO端口;1.1.3學(xué)會debug的使用及編寫匯編程序。1.2. 實(shí)驗(yàn)內(nèi)容及要求1.2.1學(xué)習(xí)使用d
2、ebug命令,并用I、O命令直接對端口進(jìn)行讀寫操作,1.2.2用匯編語言編寫跑馬燈程序。(可以使用EDIT編輯工具。)要求實(shí)現(xiàn)以下兩個(gè)功能:A通過讀入端口狀態(tài)(ON為低電平),選擇工作模式(燈的閃爍方式、速度等);B通過輸出端口控制燈的工作狀態(tài)(低電平燈亮)。1.2.3使用時(shí)要注意,電源打開時(shí)不得插拔電纜及各種器件,一定要在斷電的情況下連接電路,否則可能會燒壞整個(gè)實(shí)驗(yàn)系統(tǒng)。1.3. 實(shí)驗(yàn)環(huán)境及背景我們使用PCI_IDE50扁平電纜將PC機(jī)與實(shí)驗(yàn)擴(kuò)展模塊連接起來。在擴(kuò)展實(shí)驗(yàn)平臺上,有八個(gè)發(fā)光二極管、八個(gè)撥碼開關(guān)。讀取撥碼開關(guān)和寫發(fā)光二極管的端口地址已經(jīng)被做成了0E8E0h。連接的PC機(jī)上安裝有D
3、OS操作系統(tǒng),并有MASM5開發(fā)工具。圖1擴(kuò)展實(shí)驗(yàn)?zāi)K1.4. 實(shí)驗(yàn)步驟1.4.1. 使用debug的I、O命令讀寫端口進(jìn)入DOS,在命令行模式下輸入命令debug,用-a選項(xiàng)寫入下列程序:CODE (debug mode)MOVDX, E8E0MOVAL, FEOUTDX, ALMOVAH, 0BINT21ORAL, ALJZ0100INT20輸入結(jié)束后,直接輸入回車即可推出-a。然后,用-g選項(xiàng)運(yùn)行程序,查看結(jié)果。發(fā)現(xiàn)最右邊的LED亮,其他不亮。修改輸出內(nèi)容,再運(yùn)行查看結(jié)果,可以發(fā)現(xiàn):當(dāng)輸出位對應(yīng)為1時(shí),燈滅;輸出為0時(shí),燈亮。下面,我們來分析一下以下這段程序的作用。CODE (debug
4、 mode)MOVAH, 0BINT21 ORAL, ALJZ0100 INT20第一句是設(shè)置功能調(diào)用號,第二句是進(jìn)行DOS功能調(diào)用,檢測是否有鍵盤輸入。如果有鍵盤輸入,則AL為00h,將由JZ 0100H跳轉(zhuǎn);如果有鍵盤輸入,則AL為0FFh,程序繼續(xù)執(zhí)行。程序執(zhí)行到20H中斷時(shí),結(jié)束程序。值得一提的是,在有些語句中,16進(jìn)制數(shù)并不需要以h結(jié)尾。這個(gè)是因?yàn)樵赿ebug模式下,語句的讀寫本來就是按照16進(jìn)制的,沒必要像寫匯編源代碼(*.asm文件)一樣用h將16進(jìn)制數(shù)與10進(jìn)制數(shù)區(qū)別開來。1.4.2. 使用文本編輯器edit和編譯器masm首先讓我們來分析和設(shè)計(jì)一下這個(gè)程序。這個(gè)程序“走馬燈”
5、需要速度可調(diào)、燈的移位方向可調(diào)、燈型可調(diào),具有暫停功能,可以在用戶需要的情況下結(jié)束程序(返回DOS)。我們將這些控制端口設(shè)置在端口為0E8E0的撥碼開關(guān)上。具體開關(guān)的用途如下表:表1撥碼開關(guān)用途表開關(guān)號端口的第幾位向上撥(1)的意義向下?lián)埽?)的意義S00退出程序,返回DOS程序正常進(jìn)行S11走馬燈向右循環(huán)移位走馬燈向左循環(huán)移位S22走馬燈暫停走馬燈正在運(yùn)動S33走馬燈慢速運(yùn)動走馬燈快速運(yùn)動S44三個(gè)燈同時(shí)亮只有一個(gè)燈亮程序流程圖:圖2走馬燈流程圖程序代碼:CODE (marquee.asm); FILENAME : marquee.asm; AUTHOR : XIAO, Zhiqing (
6、No. 13 , Cl. 07105 ); DATE : 20091209; DESCRIPTION : revolving scenic lamps which shift in either direction; USAGE : switchers - ( SW0 is the most left one );SW0 ( play ) : UP exitDOWN play;SW1 ( direction ): UP rightDOWN left;SW2 ( pause ) :UP pauseDOWN play;SW3 ( speed ) :UP slowDOWN fast;SW4 ( mo
7、de ) :UP three lightsDOWN one lightDataSEGMENTSwStateDB 0LdStateDB 0FEHBufferDB 0DataENDSStackSEGMENT STACK 'STACK'DB 100H DUP (0)StackENDSCodeSEGMENTASSUME DS : Data , SS : Stack ,CS : CodeMainPROCPUSHDSXORAX , AXPUSHAXMOVAX, DataMOVDS, AXMOVldState , 0FEh ; initializeCALLEndlessRepeatRET ;
8、 unreachable instructionMainENDP; procedure EndlessRepeat is a procedure that do procedure; ProcToRepeat endless times.EndlessRepeatPROCEndlessLoop :CALLProcToRepeatJMPEndlessLoopRET ; unreachable instructionEndlessRepeatENDPProcToRepeatPROCCALLreadSwCALLexcuteDirectionCALLexcuteModeCALLexcutePause
9、; during this procedure, sws are read.CALLexcuteReturnToDosCALLexcuteSpeedRETProcToRepeatENDP; procedure DivFreq provide clock whose frequency is divided; by 1000H * 8000H = 134.2M timesDivFreq PROCPUSHCXMOV CX , 1000HMyLoop :PUSHCX MOV CX , 8000HMyNestedLoop :DEC CXJNZMyNestedLoopPOP CXDEC CXJNZMyL
10、oopPOP CXRETDivFreq ENDP; read the states of switchers from Input PortReadSw PROCPUSHAXPUSHDXMOVDX , 0E8E0HINAL , DXMOVSwState , ALPOPDXPOPAXRETReadSw ENDP; turn on and off the leds by Output PortWriteLd PROCPUSHDXPUSHAXMOVAL , LdStateMOVDX , 0E8E0HOUTDX , ALPOPAXPOPDXRETWriteLd ENDP; if first switc
11、her is up, quit the program and return to dos.excuteReturnToDosPROCTESTSWSTATE , 01HJZexitexcuteReturnToDosCALLreturnToDosexitexcuteReturnToDos :RETexcuteReturnToDosENDPReturnToDOSPROCMOVAX , 4C00HINT21HReturnToDOSENDPexcuteDirectionPROCTESTSWSTATE , 02HJZshiftLeftRORLDSTATE , 01HRORLDState , 01Hshi
12、ftLeft :ROLLDSTATE , 01HexitexcuteDirection :RETexcuteDirectionENDP; wait until S2 is downexcutePausePROCbeginexcutePause :CALL readSwTESTswState , 04HJNZbeginexcutePauseRETexcutePauseENDP; slow mode delays about three times as that of fast modeexcuteSpeedPROCCALLdivFreqTESTswState , 08HJZexitexcute
13、SpeedCALLdivFreqCALLdivFreqexitexcuteSpeed :RETexcuteSpeedENDPexcuteModePROCPUSHWORD PTR ldStateTESTswState , 10HJZsimpleMode; continuous 3 led lights onPUSHAXPUSHBXPUSHCXMOVAL , ldStateMOVBL , ALROLBL , 1ANDBL , ALMOVCL , BLROLCL , 1ANDAL , CLMOVldState , ALPOPCXPOPBXPOPAXsimpleMode :CALLwriteLDexi
14、texcuteMode :POPWORD PTR ldStateRETexcuteModeENDPCodeENDSENDMain運(yùn)行結(jié)果:編譯、連接并運(yùn)行后,程序運(yùn)轉(zhuǎn)正常。所有選項(xiàng)都可以按照預(yù)期方式控制,且可以正確返回DOS。例如,當(dāng)S4往下?lián)芎?,同一時(shí)刻有且只有一個(gè)燈亮;圖3單燈模式當(dāng)S4往上撥時(shí),同一時(shí)刻有且只有三個(gè)燈亮。圖4三燈模式本實(shí)驗(yàn)達(dá)到要求,通過了驗(yàn)收。1.5. 思考題通過實(shí)驗(yàn)說明用debug中的a命令錄入實(shí)驗(yàn)中給出的小程序中,有些語句可以不寫出“h”字符的原因。在debug模式下,語句的讀寫本來就是按照16進(jìn)制的,沒必要像寫匯編源代碼(*.asm文件)一樣用h將16進(jìn)制數(shù)與10進(jìn)
15、制數(shù)區(qū)別開來。1.6. 心得體會這次試驗(yàn)是我第一次微機(jī)原理試驗(yàn)。在這次試驗(yàn)中,令我印象最深的是文本編輯器edit的使用。在以前的學(xué)習(xí)生活中,在Windows下我一般用Notepad+,在Linux下我一般用vim,編程時(shí)還會用到一些IDE配套的文本編輯器。這次,我第一次使用了文本編輯器edit。這個(gè)文本編輯器和絕大多數(shù)圖形用戶界面的文本編輯器不是很相同。例如,Windows下的Ctrl+C和Ctrl+V不能使用。熟悉一個(gè)文本編輯器確實(shí)是不易的。圖5文本編輯器edit第二個(gè)印象最深的地方是當(dāng)程序進(jìn)入死循環(huán)時(shí),沒有找到辦法退出了。這個(gè)特性對我的開發(fā)造成了一定的負(fù)面影響。當(dāng)我們用圖形界面IDE進(jìn)行開發(fā)時(shí),當(dāng)程序進(jìn)入死循環(huán)時(shí),可以強(qiáng)制關(guān)閉程序。Linux下可以把這個(gè)進(jìn)程kill掉。而DOS
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025上海市綠化工程花卉供料合同
- 2025年上市公司股權(quán)轉(zhuǎn)讓協(xié)議
- 2025財(cái)經(jīng)學(xué)院培訓(xùn)服務(wù)合同(公寓住宿類)
- 汕頭視光學(xué)儀器項(xiàng)目可行性研究報(bào)告
- 中國智能型熱量表行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 特種氣體及電子級氣體系列產(chǎn)品建設(shè)項(xiàng)目可行性研究報(bào)告
- 2025年中國兒童運(yùn)動褲行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 四年級新學(xué)期線上線下銜接教學(xué)計(jì)劃
- 倉庫消防安全管理員工作職責(zé)
- 今致人力(2025版)-互聯(lián)網(wǎng)企業(yè)人才招聘與派遣服務(wù)合同
- 小學(xué)數(shù)學(xué)-二年級升三年級暑假數(shù)學(xué)作業(yè)-口算豎式脫式應(yīng)用題
- 2025年中國過濾分離器行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 暑期教研活動方案
- 學(xué)堂在線 毛澤東思想和中國特色社會主義理論體系概論 期末考試答案
- 托管老師崗前培訓(xùn)
- GB/T 45743-2025生物樣本細(xì)胞運(yùn)輸通用要求
- 浙教版(2024)七年級上冊《第1章 有理數(shù)》單元測試卷-學(xué)生用卷
- 2025至2030中國素食食品行業(yè)發(fā)展分析及發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025年天津出租車考試資料
- 貴州省建筑與裝飾工程計(jì)價(jià)定額(2023版)
- 凈化磷酸裝置水聯(lián)動試車方案
評論
0/150
提交評論