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