資源描述:
《微機(jī)實(shí)驗(yàn)一——張海濤》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實(shí)驗(yàn)報(bào)告課程名稱微機(jī)原理與接口技術(shù)實(shí)驗(yàn)項(xiàng)目_實(shí)驗(yàn)一:匯編程序調(diào)試和簡單接口編程_實(shí)驗(yàn)儀器TPC-USB通用微機(jī)接口實(shí)驗(yàn)系統(tǒng)系別_______光電__________專業(yè)_______通信__________班級/學(xué)號__0903/2009010464_____學(xué)生姓名_______曹慧文__________實(shí)驗(yàn)日期_______________________成績_______________________指導(dǎo)教師_____胡信裕_______-4-一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)匯編程序設(shè)計(jì)的基本方法,
2、掌握用匯編語言設(shè)計(jì)、編寫、調(diào)試和運(yùn)行程序的方法;2.熟悉TPC-USB通用微機(jī)接口實(shí)驗(yàn)系統(tǒng)的使用操作;3.掌握I/O地址譯碼電路的工作原理;二.實(shí)驗(yàn)設(shè)備1.PC微機(jī)系統(tǒng)一套2.TPC-USB通用微機(jī)接口實(shí)驗(yàn)系統(tǒng)一套三.實(shí)驗(yàn)要求1.實(shí)驗(yàn)前要作好充分準(zhǔn)備,包括程序框圖、源程序清單、調(diào)試步驟、測試方法、對運(yùn)行結(jié)果的分析等。2.熟悉與實(shí)驗(yàn)有關(guān)的系統(tǒng)軟件(如編輯程序、匯編程序、連接程序和調(diào)試程序等)使用方法。在程序調(diào)試過程中,有意識地學(xué)習(xí)及掌握debug程序的各種命令,掌握程序的調(diào)試方法及技巧。3.實(shí)驗(yàn)前
3、仔細(xì)閱讀理解教材相關(guān)章節(jié)、附錄E等的相關(guān)內(nèi)容,實(shí)驗(yàn)時(shí)必須攜帶教材及實(shí)驗(yàn)講義。四.實(shí)驗(yàn)內(nèi)容及步驟1.運(yùn)用文本編輯工具建立實(shí)驗(yàn)源程序文件(*.asm)功能要求:實(shí)驗(yàn)電路如圖1所示,其中74LS74為D觸發(fā)器,可直接使用實(shí)驗(yàn)臺上數(shù)字電路實(shí)驗(yàn)區(qū)的D觸發(fā)器,74LS138為地址譯碼器。譯碼輸出端Y0~Y7在實(shí)驗(yàn)臺上“I/O地址“輸出端引出,每個(gè)輸出端包含8個(gè)地址,Y0:280H~287H,Y1:288H~28FH,……當(dāng)CPU執(zhí)行I/O指令且地址在280H~2BFH范圍內(nèi),譯碼器選中,必有一根譯碼線輸出負(fù)
4、脈沖。圖1實(shí)驗(yàn)電路連接參考圖-4-利用這個(gè)負(fù)脈沖控制L7閃爍發(fā)光(亮、滅、亮、滅、……),時(shí)間間隔通過軟件延時(shí)實(shí)現(xiàn)。實(shí)驗(yàn)電路中D觸發(fā)器CLK端輸入脈沖時(shí),上升沿使Q端輸出高電平L7發(fā)光,CD端加低電平L7滅。2.用匯編程序masm對源文件匯編產(chǎn)生目標(biāo)文件(*.obj)如果匯編指示出錯(cuò),則需重新調(diào)用文本編輯工具修改錯(cuò)誤,直至匯編通過。3.用連接程序link產(chǎn)生執(zhí)行文件(*.exe)4.運(yùn)行DEBUG程序裝入執(zhí)行文件(*.exe),熟悉使用DEBUG的主要命令,觀察程序調(diào)試運(yùn)行過程中相關(guān)寄存器的內(nèi)容
5、。重點(diǎn)關(guān)注以下問題:(1)數(shù)據(jù)段中的各變量的起始地址(2)主程序中有無數(shù)據(jù)段加載對程序運(yùn)行結(jié)果的影響(3)程序正常退出設(shè)計(jì)的有無對程序運(yùn)行的影響五、實(shí)驗(yàn)程序設(shè)計(jì)和調(diào)試運(yùn)行1.實(shí)驗(yàn)程序設(shè)計(jì)如下:;*******************************;;*I/O地址譯碼*;;*******************************;outport1equ2a0h;偽操作賦值outport2equ2a8hcodesegment;起始段assumecs:code;代碼段,將code關(guān)聯(lián)到
6、csstart:movdx,outport1outdx,al;定義端口calldelay;調(diào)延時(shí)子程序movdx,outport2;修改端口,輸出outdx,alcalldelay;調(diào)延時(shí)子程序movah,1;中斷調(diào)用指令int16hjestart;零標(biāo)志有效,轉(zhuǎn)移至startmovah,4ch;dos調(diào)用,前面為bios調(diào)用int21hdelayprocnear;延時(shí)子程序movbx,200lll:movcx,0ll:loopll;循環(huán),自動將cx-1,cx=ffff,2的16方次,內(nèi)循環(huán)de
7、cbx;bx-1,bx=199…外循環(huán)jnelll;若不相等,0標(biāo)志無效,轉(zhuǎn)到lll-4-ret;返回程序delayendpcodeends;可在此表明ds:dataendstart2.實(shí)驗(yàn)過程和實(shí)驗(yàn)結(jié)果說明【下面*用實(shí)際文件名替換】(1)按圖1連接實(shí)驗(yàn)電路;(2)用文本編輯器編輯實(shí)驗(yàn)源程序(*.asm);(3)在DOS操作環(huán)境下,運(yùn)行MASM.EXE和LINK.EXE,匯編源程序(*.asm),生成鏈接文件(*.obj)和可執(zhí)行文件(*.exe);(4)運(yùn)行DEBUG命令,調(diào)試可執(zhí)行文件(*.
8、exe),練習(xí)DEBUG操作。(5)運(yùn)行可執(zhí)行文件(*.exe),結(jié)果顯示:L7交替亮和滅,符合實(shí)驗(yàn)程序設(shè)計(jì)要求。六、實(shí)驗(yàn)感想經(jīng)過這次實(shí)驗(yàn),會學(xué)了匯編程序設(shè)計(jì)的基本方法,掌握了用匯編語言設(shè)計(jì)、編寫、調(diào)試和運(yùn)行程序的方法,并熟悉了TPC-USB通用微機(jī)接口實(shí)驗(yàn)系統(tǒng)的使用操作,以及掌握了I/O地址譯碼電路的工作原理,初步達(dá)到了實(shí)驗(yàn)?zāi)康?。了解到了程序框圖、源程序清單、調(diào)試步驟、測試方法、對運(yùn)行結(jié)果的分析等步驟,熟悉與實(shí)驗(yàn)有關(guān)的系統(tǒng)軟件并通過動手連接實(shí)驗(yàn)箱,提高了自己的實(shí)驗(yàn)動手能力。然而遺憾的是硬件無法