江蘇大學嵌入式系統與單片機課件MCS中斷與定時系統_第1頁
江蘇大學嵌入式系統與單片機課件MCS中斷與定時系統_第2頁
江蘇大學嵌入式系統與單片機課件MCS中斷與定時系統_第3頁
江蘇大學嵌入式系統與單片機課件MCS中斷與定時系統_第4頁
江蘇大學嵌入式系統與單片機課件MCS中斷與定時系統_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、GATE:門控位,定時器門控位,定時器/計數器的啟計數器的啟/停可由軟件與硬件兩者控停可由軟件與硬件兩者控制制 = 0 :軟件控制,只由軟件控制,只由TCON中的啟中的啟/停控制位停控制位TR0/TR1控制控制定時器定時器/計數器的啟計數器的啟/停。停。 = 1 :硬件控制,由外部中斷請求信號硬件控制,由外部中斷請求信號 / 和和TCON中中的啟的啟/停控制位停控制位TR0/TR1組合狀態控制定時器組合狀態控制定時器/計數器的啟計數器的啟/停。停。 其控制邏輯如下圖所示。其控制邏輯如下圖所示。0INT1INT1INT8051的中斷結構如下圖所示。的中斷結構如下圖所示。 5. 5. 定時器定時器

2、/ /計數器應用舉例計數器應用舉例 例題例題22 設一只發光二極管設一只發光二極管LED和和8051的的P1.0腳相連。當腳相連。當P1.0腳是低電平時,腳是低電平時,LED發亮;當發亮;當P1.0腳是高電平時,腳是高電平時,LED不亮。編制程序用定時器來實現發光二極管不亮。編制程序用定時器來實現發光二極管LED的閃爍功能,的閃爍功能,設置設置LED每每1s閃爍一次。已知單片機系統主頻為閃爍一次。已知單片機系統主頻為12MHz。解:解:定時器定時器/計數器的最長的定時是計數器的最長的定時是65.536ms,無法實現,無法實現1s的的定時。可以采用軟件計數器來進行設計。定時。可以采用軟件計數器來

3、進行設計。設計思想:設計思想:定義一個軟件計數器單元定義一個軟件計數器單元30H,先用定時器,先用定時器/計數計數器器0做一個做一個50ms的定時器,定時時間到了以后將軟件計數器中的定時器,定時時間到了以后將軟件計數器中的值加的值加1,如果軟件計數器計到了,如果軟件計數器計到了20,取反,取反P1.0,并清掉軟件,并清掉軟件計數器中的值,否則直接返回。則完成了計數器中的值,否則直接返回。則完成了20次定時中斷才取反次定時中斷才取反一次一次P1.0,因此定時時間就為,因此定時時間就為2050=1000ms=1s。定時器定時器/計數器計數器0采用工作方式采用工作方式1,其初值為:,其初值為: 21

4、6 50ms/1 s=65536 50000=15536=3CB0H定時器初值的新算法定時器初值的新算法:程序如下:程序如下: ORG 0000H AJMP START ; 轉入主程序轉入主程序 ORG 000BH ; 定時器定時器/計數器計數器0的中斷服務程序入口地址的中斷服務程序入口地址 AJMP TIME0; 跳轉到真正的定時器中斷服務程序處跳轉到真正的定時器中斷服務程序處 ORG 0030H START: MOV SP, #60H ; 設置堆棧指針設置堆棧指針 MOV P1, #0FFH ; 關發光二極管關發光二極管LED(使其滅)(使其滅) MOV 30H, #00H ; 軟件計數器

5、預清軟件計數器預清0 MOV TMOD, # 01H ; 定時器定時器/計數器計數器0工作于方式工作于方式1 MOV TH0, #3CH ; 設置定時器設置定時器/計數器的初值計數器的初值 MOV TL0, #0B0H SETB EA ; 開總中斷允許開總中斷允許 SETB ET0 ; 開定時器開定時器/計數器計數器0中斷允許中斷允許 SETB TR0; 啟動定時器啟動定時器/計數器計數器0 LOOP: AJMP LOOP ; 循環等待循環等待 (真正工作時,這里可寫任意其他程序)(真正工作時,這里可寫任意其他程序)定時器定時器/ /計數器計數器0 0的中斷服務程序的中斷服務程序1 1: TI

6、ME0: PUSH ACC ; 將將PSW和和ACC推入堆棧保護推入堆棧保護 PUSH PSW INC 30H ; 軟件計數器加軟件計數器加1 MOV A, 30H CJNE A, #20, T_LP2 ; 軟件計數器單元中的值到了軟件計數器單元中的值到了20了嗎?了嗎? 到了,繼續執行到了,繼續執行; 否則,轉入否則,轉入T_LP2 T_LP1: CPL P1.0 ; 到了,到了,P1.0取反取反 MOV 30H, #00H; 清軟件計數器清軟件計數器(或置初值或置初值20) T_LP2: MOV TH0, #3CH; 重置定時器重置定時器/計數器的初值計數器的初值 MOV TL0, #0B

7、0H POP PSW ; 恢復恢復PSW和和ACC POP ACC RETI; 中斷返回中斷返回 END 例題例題3 3 通過通過外部中斷控制八盞燈循環點亮。外部中斷控制八盞燈循環點亮。解:解:通過通過P1口擴展八盞燈,在口擴展八盞燈,在 引腳接一個按鈕開關到地,引腳接一個按鈕開關到地,每按一下按鈕就申請一次中斷,點亮一盞燈,中斷服務則每按一下按鈕就申請一次中斷,點亮一盞燈,中斷服務則是:依次點亮八盞燈中的一盞。采用邊沿觸發。硬件電路是:依次點亮八盞燈中的一盞。采用邊沿觸發。硬件電路如下圖所示。如下圖所示。1INT程序如下:程序如下: ORG 0000H LJMP MAIN ORG 0013H ; 中斷服務程序入口地址中斷服務程序入口地址 LJMP IN11 MAIN:SETB EA ; 開總中斷允許開總中斷允許“開關開關” SETB EX1 ; 開分中斷允許開分中斷允許“開關開關” CLR PX1 ; 低低 優先級(也可不要此句)優先級(也可不要此句) SETB IT1 ; 邊沿觸發邊沿觸發 MOV

溫馨提示

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

評論

0/150

提交評論