定時器計數(shù)器應用實驗_第1頁
定時器計數(shù)器應用實驗_第2頁
定時器計數(shù)器應用實驗_第3頁
定時器計數(shù)器應用實驗_第4頁
定時器計數(shù)器應用實驗_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應用實驗報告實驗五 定時器/計數(shù)器應用實驗一、實驗目的1、 學習8051內(nèi)部定時器/計數(shù)器的使用方法和編程方法2、 掌握定時器0作為中斷源時的中斷處理程序的編程方法二、實驗原理8051單片機內(nèi)部有兩個16為可編程定時器/計數(shù)器:T0和T1。16為是指它們都是有16個觸發(fā)器構成,故最大計數(shù)模值為216-1??删幊淌侵杆鼈兊墓ぷ鞣绞接芍噶顏碓O定,或者當計數(shù)器用,或者當定時器用,并且計數(shù)(定時)的范圍也可以由指令來設置。這種控制功能是通過定時器方式控制寄存器TMOD來完成的。工作在定時方式時,時鐘由單片機內(nèi)部提供,即系統(tǒng)時鐘經(jīng)過12分頻后作為定時器的時鐘;工作在計數(shù)方式時,時鐘脈沖(計數(shù)

2、脈沖)由T0和T1(即P3.4和P3.5)輸入。定時器在計到規(guī)定的定時值時可以向CPU發(fā)出中斷申請,從而完成某種定時的控制功能。定時器控制寄存器TCON用來負責定時器的啟動、停止以及中斷管理。程序一:定時器/計數(shù)器0按定時模式和方式2工作,產(chǎn)生周期為1秒的方波,方波由P1.0口輸出。此程序用中斷方式。弄清IE寄存器的作用及矢量地址000BH的含義。1、內(nèi)部計數(shù)器用作定時器時,是對機器周期計數(shù)。每個機器周期的長度是12個振蕩器周期。因為實驗系統(tǒng)的晶振是6MHZ,本程序工作于方式2,即8位自動重裝方式定時器, 定時器100US中斷一次, 所以定時常數(shù)的設置可按以下方法計算:機器周期=12÷

3、;6MHZ=2US(256-定時常數(shù))×2US=100US定時常數(shù)=206. 然后對100US中斷次數(shù)計數(shù)10000次,就是1秒鐘。2、在中斷服務程序中,因為中斷定時常數(shù)的設置對中斷程序的運行起到關鍵作用,所以在置數(shù)前要先關對應的中斷,置數(shù)完之后再打開相應的中斷。3、實驗電路及連線連線連接孔1連接孔21P1.0L04、實驗框圖定時中斷入口遇開始置T0中斷工作方式保護現(xiàn)場設置定時常數(shù)秒計數(shù)值減1否設置初始狀態(tài)位是否到1秒是 重新設置秒計數(shù)值設置秒計數(shù)值 Y中斷允許狀態(tài)位取反輸出狀態(tài)位中斷返回恢復現(xiàn)場等待中斷 主程序框圖 定時中斷子程序框圖5、匯編語言源程序:TICK EQU 10000

4、 ; 10000 X 100US = 1S T100US EQU 256-50 ; 100US時間常數(shù)(6M) C100US EQU 30H ; 100US記數(shù)單元 LEDBUF EQU 0 LED EQU P1.0 LJMP START ORG 000BH ;中斷程序入口T0INT: PUSH PSW MOV A, C100US+1 JNZ GOON DEC C100USGOON: DEC C100US+1 MOV A, C100US ORL A, C100US+1 JNZ EXIT ; C100US 記數(shù)器不為0, 返回 MOV C100US, #HIGH(TICK) MOV C100US

5、+1, #LOW(TICK) CPL LEDBUF ; C100US 記數(shù)器為0, 重置記數(shù)器 ; 取反LEDEXIT: POP PSW RETISTART: ; 主程序入口 MOV TMOD, #02H ; 方式2, 定時器0 MOV TH0, #T100US ; 計算T/C的計數(shù)初值,并裝載到TH和TL MOV TL0, #T100US MOV IE, #10000010B ; EA=1, IT0 = 1 SETB TR0 ; 開始定時 CLR LEDBUF CLR LED MOV C100US, #HIGH(TICK) MOV C100US+1, #LOW(TICK)LOOP: MOV

6、C, LEDBUF MOV LED, C LJMP LOOP END程序二:定時器/計數(shù)器0按計數(shù)器模式和方式2工作,對P3.4(T0)引腳進行計數(shù)。按動按鈕,記數(shù)寄存器增加1記數(shù),記滿則與P1.0相連的發(fā)光二極管亮,留意按動次數(shù)。說明:1、單片機在每個機器周期采樣一次輸入波形,因此單片機至少需要兩個機器周期才能檢測到一次跳變。這就要求被采樣電平至少維持一個完整的機器周期,以保證電平在變化之前即被采樣。同時這就決定了輸入波形的頻率不能超過機器周期頻率。2、實驗電路及連線P1.0 ··LED0··T0連線連接孔1連接孔21P1.0L02單脈沖輸出T0開始設

7、置初始狀態(tài)位設置計數(shù)值輸出狀態(tài)位查詢狀態(tài)位是否為一是置P1.0為一,LED亮 3、程序框圖4、匯編語言源程序:CLR P1.0MOV TMOD, #00000110B ; 方式2,記數(shù)器0 MOV TH0, #0FBH MOV TL0, #0FBH SETB TR0 ; 開始記數(shù)LOOP1:JBC TF0, LOOP2SJMP LOOP1LOOP2:SETB P1.0NOPEND三、實驗器材1、LAB6000 通用微控制器實驗系統(tǒng)。2、計算機,WAVE 集成調(diào)試軟件。3、連線若干。四、實驗步驟:1、連接系統(tǒng),設置好仿真器和編譯選項。2、建立新程序和新項目,編譯程序。3、編譯成功后進行調(diào)試,觀察

8、LED的閃爍。4、對于實驗一,可在中斷程序中設置斷點,在觀察窗口中添加C100US和LEDBUF觀察項,并觀察和記錄下XDATA窗口和觀察窗口中的數(shù)據(jù)變化。五、實驗報告要求1、整理好觀測到的數(shù)據(jù),并與理論值相比較。2、討論定時器/計數(shù)器0的四種方式的定時范圍。3、小結做完實驗后的體會(著重弄懂控制寄存器的位含義及中斷的處理)。1、 程序一:定時器/計數(shù)器0按定時模式和方式2工作,產(chǎn)生周期為1秒的方波,方波由P1.0口輸出??捎^察到LED燈在一秒內(nèi)閃爍一次,0.5秒亮,0.5秒暗。2、 程序一改為用方式1工作:程序如下TICK EQU 5000 T100US EQU 256-50 ; 100US

9、時間常數(shù)(6M) C100US EQU 30H ; 100US記數(shù)單元 LEDBUF EQU 0 LED EQU P1.0 LJMP START ORG 000BH ;中斷程序入口T0INT: PUSH PSW MOV TH0,#0FFH MOV TL0,#T100US MOV A, C100US+1 JNZ GOON DEC C100USGOON: DEC C100US+1 MOV A, C100US ORL A, C100US+1 JNZ EXIT ; C100US 記數(shù)器不為0, 返回 MOV C100US, #HIGH(TICK) MOV C100US+1, #LOW(TICK) CPL LEDBUF ; C100US 記數(shù)器為0, 重置記數(shù)器 ; 取反LEDEXIT: POP PSW RETISTART: ; 主程序入口 MOV TMOD, #01H ; 方式1, 定時器0 MOV TH0, #0FFH ; 計算T/C的計數(shù)初值,并裝載到TH和TL MOV TL0, #T100US MOV IE, #10000010B ; EA=1, IT0 = 1 SETB TR0 ; 開始定時 CLR LEDBUF CLR LED MOV C100US, #HIGH(TI

溫馨提示

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

最新文檔

評論

0/150

提交評論