單片機實驗內(nèi)容_7-定時計數(shù)器.doc_第1頁
單片機實驗內(nèi)容_7-定時計數(shù)器.doc_第2頁
單片機實驗內(nèi)容_7-定時計數(shù)器.doc_第3頁
單片機實驗內(nèi)容_7-定時計數(shù)器.doc_第4頁
單片機實驗內(nèi)容_7-定時計數(shù)器.doc_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗七 定時器/計數(shù)器一、實驗目的1學會8253A芯片和微機接口原理和方法。2掌握8253A定時器/計數(shù)器的工作方式和編程原理。二、實驗預習1、認真閱讀實驗指導書有關內(nèi)容,明確實驗目的、內(nèi)容和操作步驟;2、預習有關實驗設備的使用方法;3、對實驗中的程序和指令進行手工匯編;4、復習定時器/計數(shù)器的相關內(nèi)容。三、實驗說明8051單片機內(nèi)部有兩個可編程的定時器T0和T1,T0和 T1內(nèi)部有兩個16位的加計數(shù)器,由寄存器THi和TLi構(gòu)成。工作方式的選擇由特殊功能寄存器TMOD的M1和M0控制位決定,可以實現(xiàn)4種工作方式。四、實驗內(nèi)容及步驟程序一:用定時器控制第一位LED顯示器依次顯示“09”字符。參考程序:ORG 000BH;中斷服務程序INC R2CJNER2,#0AH,LOOPMOVR2,#00H LOOP:MOVDPTR,#0100HMOVA,R2MOVCA,A+DPTRMOVXR1,ARETIORG0100H;輸入09的字形碼DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,F(xiàn)8H,80H,90HORG1000H;主程序START:MOVTMOD,#01H;寫方式控制字MOVTL0,#00H;置定時器T0初值MOVTH0,#00HSETBEA;開中斷SETBET0;允許T0中斷SETBTR0;啟動T0工作MOVA,#80HMOVR1,#22HMOVXR1,AMOVA,#20HMOVR0,#21HMOVXR0,A;顯示字符“0”MOVR2,#00HSJMP$END實驗步驟如下:1、閱讀并輸入程序;2、運行程序,觀察顯示結(jié)果;3、修改程序,使其運行結(jié)果顯示“0F”字符;4、修改程序,使顯示速度改變。程序二:編程實現(xiàn)1秒定時,同時發(fā)光二極管閃爍。提示:在時鐘頻率為6MHz的條件下,一個定時器的最大定時時間為131.072ms,所以一個定時器不可能完成1s定時,必須由定時器T0和T1聯(lián)合完成。將定時器T0設置為定時方式,T1設置為計數(shù)方式。將T0的定時時間定為100ms,當定時時間到后,由P1.0輸出后加到P3.5腳(即定時器T1的計數(shù)脈沖輸入端),如圖37 所示。首先,將P1.0初始化為1,當?shù)谝粋€100ms時間到時,P1.0取反變?yōu)?,使加在P3.5腳的脈沖為負脈沖,此時完成T1計數(shù)1次。第二個100ms時間到時,又將P1.0取反變?yōu)?,使加在P3.5腳的脈沖為正脈沖;當下一個100ms定時時間到時,又產(chǎn)生一個負脈沖(計數(shù)脈沖)。也就是說,T0完成定時兩次,才構(gòu)成T1的一個完整的計數(shù)脈沖。因此,設T1的計數(shù)值為5,就能完成1秒的定時。圖37 定時器實驗線路圖定時/計數(shù)初值的計算:設T0工作在方式1,則有(216X)2ms=100ms,得X=3CB0H,所以TH0=3CH,TL0=0B0H;設T1工作在方式2,則有(28X)=5,得X=FBH ,所以TH1=0FBH,TL1=0FBH。參考程序:ORG1000HMAIN:CLRP1.7;置P1.7初值SETBP1.0;置P1.0初值MOVTMOD,#61H;設定T0、T1的工作方式MOVTH1,#0FBH;TH1初值MOVTL1,#0FBH;TL1初值SETBTR1;啟動T1LOOP1:CPLP1.7;使二極管閃爍LOOP2:MOVTH0,#3CH;TH0初值MOVTL0,#0B0H;TL0初值SETBTR0;啟動T0定時LOOP3:JBCTF0,LOOP4;T0定時到轉(zhuǎn)LOOP4SJMPLOOP3;等待LOOP4:CPLP1.0;產(chǎn)生T1的計數(shù)脈沖JBCTF1,LOOP1;計數(shù)值到轉(zhuǎn)LOOP1AJMPLOOP2;計數(shù)值未到轉(zhuǎn)LOOP2END實驗步驟如下:1、閱讀并輸入程序;2、按圖37所示連接實驗線路:P1.7連接L1,P1.0連接P3.5;3、運行程序,觀察發(fā)光二極管L1的亮滅情況。程序三:編程實現(xiàn)計數(shù)。要求計數(shù)器0以中斷方式工作,外部開關動作2次,使P1.0端口的發(fā)光二極管L1亮,再2次,使P1.1端的發(fā)光二極管L2亮,第8個2次后,重復上述顯示。實驗線路如圖38所示。圖38 計數(shù)器實驗線路圖參考程序:ORG0000HSTART:AJMPMAIN;轉(zhuǎn)主程序ORG000BHAJMPCONTRAL;轉(zhuǎn)中斷服務程序ORG0050HMAIN:MOVSP,#60H;主程序MOV30H,#80HMOVTMOD,#05HMOVTH0,#0FFHMOVTL0,#0FEHMOVP1,#00HSETBEASETBET0SETBTR0WAIT:SJMPWAITORG0100HCONTRAL:MOVTH0,#0FFH;中斷服務程序MOVTL0,#0FEHMOVA,30HRLAMOV30H,AMOVP1,ARETIEND實驗步驟如下:1、按圖38的實驗線路連接:P1.0P1.7連接L1L8,外部觸發(fā)脈沖/SP連接P3.4;2、輸入并檢查程序;3、運行程序,加脈沖2次,L1亮;再加脈沖2次,L2亮;4、修改程序,使計數(shù)次數(shù)改變。5、修改程序,用計數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論