資源描述:
《可編程定時器計數(shù)器-羅忠霖》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、集美大學計算機工程學院實驗報告課程名稱微機原理與接口技術(shù)實驗名稱8253可編程計數(shù)器/計時器實驗實驗類型設(shè)計型姓名羅忠霖學號2010810072日期2012.11.15地點微機室成績教師洪玉玲李鐵軍評語:一、實驗?zāi)康?)學會8253芯片和微機接口原理和方法。2)掌握8253定時器/計數(shù)器的基本工作原理、工作方式和編程原理。二、實驗內(nèi)容按圖6虛線連接電路,將計數(shù)器0設(shè)置為方式0,計數(shù)器初值為N(N≤0FH),用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并同時用邏輯筆觀察OUT0電平變化(當輸入N+1個脈沖后OUT0變高電平)。圖6按圖7連
2、接電路,將計數(shù)器0、計數(shù)器1分別設(shè)置為方式3,計數(shù)初值設(shè)為1000,用邏輯筆觀察OUT1輸出電平的變化(頻率1HZ)。圖7三、編程提示1、8253控制寄存器地址283H計數(shù)器0地址280H計數(shù)器1地址281HCLK0連接時鐘1MHZ2、參考流程圖(見圖8、9):圖8圖9四、實驗代碼1、圖6電路的實驗代碼CODESEGMENT;段定義開始(CODE段)ASSUMECS:CODE;規(guī)定CODE為代碼段START:MOVAL,10H;設(shè)置控制字00010000(計數(shù)器0,方式0,寫兩個字節(jié),二進制計數(shù))MOVDX,283H;把控制寄存器地址放在D
3、X寄存器中OUTDX,AL;將AL的值送入DX端口MOVDX,280H;把計數(shù)器0地址放在DX寄存器中MOVAL,0FH;將0FH存入AL寄存器OUTDX,AL;將此時AL的值送入DX端口LP1:INAL,DX;從DX端口讀入8位,放在AL寄存器中CALLDISP;調(diào)用DISPPUSHDX;將DX內(nèi)容保存到堆棧段MOVAH,06H;將06H存入AH,為了下句調(diào)用21中斷MOVDL,0FFH;將0FFH存入DLINT21H;調(diào)用21中斷POPDX;將DX的內(nèi)容推出棧段JZLP1;如果DX的內(nèi)容是0,就跳轉(zhuǎn)到LP1MOVAH,4CH;將4CH存
4、入AH,為了下句調(diào)用21中斷INT21H;調(diào)用21中斷DISPPROCNEAR;定義一個名為DISP的子程序PUSHDX;把DX的內(nèi)容保存到堆棧段中ANDAL,0FH;將AL寄存器的內(nèi)容與0FH進行“與”運算,再把結(jié)果存入AL中MOVDL,AL;將AL的值送入DL寄存器CMPDL,9;比較DL中的值與9的大小JLENUM;如果DL的值小于或等于9時,則跳轉(zhuǎn)到NUMADDDL,7;將DL的值與7進行相加后,再送入DL中NUM:ADDDL,30H;將DL的值與30H進行相加后,再送入DL中MOVAH,02H;將02H存入AHINT21H;調(diào)用D
5、OS21中斷MOVDL,0DH;結(jié)合“MOVAH,02H”就是說輸出0DHINT21H;調(diào)用中斷指令MOVDL,0AH;結(jié)合“MOVAH,02H”就是說輸出0AHINT21H;調(diào)用DOS21中斷POPDX;將DX的內(nèi)容推出棧段RET;子程序在功能完成后返回調(diào)用程序繼續(xù)執(zhí)行DISPENDP;子程序結(jié)束CODEENDS;代碼段結(jié)束ENDSTART;程序結(jié)束2、圖7電路的實驗代碼CODESEGMENT;段定義開始(CODE段)ASSUMECS:CODE;規(guī)定CODE為代碼段START:MOVDX,283H;把控制寄存器地址放在DX寄存器中MOVA
6、L,36H;設(shè)置控制字00110110(計數(shù)器0,方式3,寫兩個字節(jié),二進制計數(shù))OUTDX,AL;將AL的值送入DX端口MOVAX,1000H;該語句是立即尋址方式,就是把1000H這個數(shù)賦給AXMOVDX,280H;把計數(shù)器0地址放在DX寄存器中OUTDX,AL;將AL的值送入DX端口MOVAL,AH;將AX的高8位存入AL寄存器中OUTDX,AL;將此時AL的值送入DX端口MOVDX,283H;把端口地址放在DX寄存器中MOVAL,76H;設(shè)置控制字01110110(計數(shù)器1,方式3,寫兩個字節(jié),二進制計數(shù))OUTDX,AL;將AL的
7、值送入DX端口MOVAX,1000H;把1000H賦給AXMOVDX,281H;把端口地址放在DX寄存器中OUTDX,AL;將AX的低8位送入DX端口MOVAL,AH;將AX的高8位存入AL寄存器中OUTDX,AL;將AL的值送入DX端口MOVAH,4CH;將4CH存入AHINT21H;調(diào)用DOS21中斷CODEENDS;代碼段結(jié)束ENDSTART;程序結(jié)束五、實驗總結(jié)通過實驗,學會8253芯片和微機接口原理和方法,掌握8253定時器/計數(shù)器的基本工作原理、工作方式和編程原理,熟悉匯編代碼的編寫。實驗中,連接電路,利用代碼控制實驗電路,深對
8、課本理論的理解。