![第五章 定時器,計數器_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f768c093-a428-4729-a1f9-0b30554b37df/f768c093-a428-4729-a1f9-0b30554b37df1.gif)
![第五章 定時器,計數器_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f768c093-a428-4729-a1f9-0b30554b37df/f768c093-a428-4729-a1f9-0b30554b37df2.gif)
![第五章 定時器,計數器_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f768c093-a428-4729-a1f9-0b30554b37df/f768c093-a428-4729-a1f9-0b30554b37df3.gif)
![第五章 定時器,計數器_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f768c093-a428-4729-a1f9-0b30554b37df/f768c093-a428-4729-a1f9-0b30554b37df4.gif)
![第五章 定時器,計數器_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f768c093-a428-4729-a1f9-0b30554b37df/f768c093-a428-4729-a1f9-0b30554b37df5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理及應用第五章定時器/計數器5.1 定時器/計數器的結構定時器/計數器的結構如下圖所示。TH1TL1TH0TL0TCONTMOD中斷請求P3.5 (T1P3.4 (T0定時計數CPU44外部計數輸入啟動啟動溢出溢出5.2 定時器/計數器的操作管理寄存器GATEC / TM1M0GATEC / TM1M0T1T0D7D4D3D0(89H1. 工作方式選擇位M1、M0M1 M00 0 方式0。13位定時器/計數器,TH 高8位,TL 低5位。0 1 方式1。16位定時器/計數器。1 0 方式2。8位自動重裝初值定時器/計數器。1 1 方式3。T0分為1個8位計數器/計數器和1個8位定時器。(
2、 T1無方式32. C / T 定時器/計數器方式選擇位C / T = 1時,設為計數器方式。 C / T = 0時,設為定時器方式。3.門控位GATEGATE =1時,要啟動定時器/計數器,除啟動控制位TR0(TR1=1外,還必須使INT0(INT1=1,才能啟動。稱為定時器/計數器的外部啟動方式。D7TF1TR1TF0TR0IE1IT1IE0IT0D0(88HTCONTF0、TF1分別是T0、T1的溢出中斷標志。TR0、TR1分別是T0、T1的啟動控制位。P45.3 定時器/計數器的工作方式1. 作計數器計數器的計數值:N = 213-X ( X :計數器的初值計數器的計數值范圍為:1 2
3、13即1 8192 。2. 作定時器定時器的定時時間:t = (213X×12/fosc ( fosc :時鐘頻率定時器的定時范圍:( 1 8192 ×12/foscP5振蕩器÷12T0引腳&1TR0GATE INT0C/T=0C/T=1KTL0 (5位TH0 (8位TF0中斷定時器/計數器方式0 邏輯框圖加1計斷器1. 作計數器計數器的計數值:N = 216-X ( X :計數器的初值計數器的計數值范圍為:1 216即1 65536。2. 作定時器定時器的定時時間:t = (216X×12/fosc ( fosc :時鐘頻率定時器的定時范圍:(
4、 1 65536 ×12/fosc振蕩器÷12T0引腳&1TR0GATE INT0C/T=0C/T=1KTL0 (8位TH0 (8位TF0中斷定時器/計數器方式1 邏輯框圖加1計數器P61. 作計數器計數器的計數值:N = 28-X ( X :計數器的初值計數器的計數值范圍為:1 28即1 256。2. 作定時器定時器的定時時間:t = (28X×12/fosc ( fosc :時鐘頻率定時器的定時范圍:( 1 256 ×12/fosc振蕩器÷12T0引腳&1TR0GATE INT0C/T=0C/T=1KTL0 (8位TH0 (
5、8位TF0中斷定時器/計數器方式2 邏輯框圖加1計數器重裝初值P7定時器T0方式3邏輯框圖TH0 (8位振蕩器÷12TF1中斷TR1K振蕩器÷12T0引腳&1TR0GATEINT0C/T=0C/T=1KTL0 (8位TF0中斷加1計數器P 8T0工作在方式3時,T1的工作方式振蕩器÷12 T1 (P3.5C/T=0C/T=1TL1(8位T1方式1(或方式0 邏輯框圖加1計數器TH1(8位或5位串行口振蕩器÷12 T1 (P3.5C/T=0C/T=1TL1(8位TH1(8位T1方式2 邏輯框圖加1計數器重裝初值串行口通常當T1用作串行口波特率發(fā)生器
6、時,T0才設置為方式3。P95.4 定時器/計數器應用實例【例5-1】應用定時器T0,采用定時中斷的方法,在P1.0產生周期為1ms 寬度為2s 的負脈沖序列。設時鐘頻率為12MHz 。計算T0初值X :t = (213X×12/(12×106 =1×10-3求得初值X = 7192 = 11100000 11000B 程序如下:ORG 0000H AJMP MAIN ORG 000BHAJMP T0INT ORG 0200HORG 0100H T0INT :CLR P1.0MAIN :MOV TH0 , #0E0H NOP MOV TL0 , #18H SETB
7、 P1.0MOV IE , 82H MOV TH0 , #0E0H ;重裝SETB TR0 MOV TL0 , #18H ;初值LOOP :SJMP LOOP ;等待中斷RETI1ms 2s P102s【例5-2】利用T0在P1.0產生25Hz 的方波,設fosc=12MHz 。25Hz 方波,算出周期為40ms ,則T0定時時間為20ms ,設T0工作方式1,計算出T0的初值為:X=B1E0H 。(1 查詢方式程序如下:ORG 0100H MOV TMOD , #01H MOV TH0 , #0B1H MOV TL0 , #0E0H SETB TR0 LOOP :JNB TF0 , LOOP
8、CLR TF0MOV TH0 , #0B1HMOV TL0 , #0E0HCPL P1.0SJMP LOOP END (2 中斷方式程序如下:ORG 0100H MOV TMOD ,#01H MOV TH0 , #0B1H MOV TL0 , #0E0H MOV IE , #82H SETB TR0SJMP $ORG 000BH AJMP T0INT T0INT :CPL P1.0MOV TH0 , #0B1H MOV TL0 , #0E0HRETIENDP11P12【例5-3】利用T1工作方式2對外部信號計數。要求每計滿100次,將P1.0取反。定時器T1工作方式2,要使它計滿100次產生溢
9、出,必須給計數器置初值。初值為:X=28100=156=9CH。程序如下:MAIN:MOV TMOD , #60H ;T1設為定時器方式2MOV TL0 , #9CH ;裝入初值MOV TH0 , #9CHMOV IE , #88H ;CPU開中斷、T1開中斷SETB TR1 ;啟動T1HERE:SJMP HERE ;等待中斷ORG 001BH ;中斷服務程序入口CPL P1.0 ;P1.0取反RETI ;中斷返回T0方式3應用例【例5-4】T0設為方式3,其8位定時器/計數器TL0改為外部中斷源,其8位定時器TH0用于控制P1.0產生5KHz 的方波,T1設為方式2作串行口波特率發(fā)生器。設f
10、osc=6MHz 。MOV TH1 , #BAUDMOV TMOD , #27HMOV TCOM , #55H MOV IE , #9FH SJMP $ORG 000BH ;TL0溢出中斷ORG 001BH ;TH0溢出中斷AJMP TL0INT AJMP TH0INT ORG 0100H ORG 0180HTL0INT :MOV TL0 , #0FFH TH0INT :MOV TH0 ,#206 CPL P1.0RETI RETI P13由于TH0使用T1的中斷標志TF1,因此其中斷入口地址是T1的入口地址001BH IE EA ES ET1EX1ET0EX010011111TCON TF1
11、TR0IE1IT1IE0IT001010101TR1TF00TMODGATE M0GATE C/T M1M000100111C/T M1P14定時器/計數器綜合應用【例5-5】利用T0產生1秒鐘定時,設fosc=6MHz。采用計數器計算定時器中斷次數的方法實現長時間定時。令T0為方式1作100ms定時,用寄存器B作計數器,對T0的中斷次數進行計數,當B計約夠10次后便是1秒。T0初值計算:X = 216t×fosc/12 = 15536 = 3CB0H程序如下:ORG 0000H SETB ET0LJMP MAIN SETB EAORG 000BH SETB TR0AJMP SERV
12、E SJMP $ORG 1000H SERVE:MOV TL0 , #0B0H MAIN:MOV SP , #60H MOV TH0 , #3CHMOV B ,#0AH DJNZ B , LOOPMOV TMOD , #01H CLR TR0MOV TL0 , #0B0H LOOP:RETIMOV TH0 , #3CH END定時器/計數器綜合應用【例5-6】利用T0門控位測試INT0引腳上出現的正脈沖寬度,并以機器周期數的形式顯示在顯示器上。測量原理:(設被測脈沖寬度216個機器周期T0設為定時器方式1,當TR0=1,GATE=1時,定時器的啟停則由INT0控制。若INT0=0(低電平,則定
13、時器停止計數。若INT0=1,則定時器啟動計數。將被測信號接到INT0引腳上,在脈沖的上升沿啟動計數,在脈沖下降沿停止計數。然后讀取計數器的值,便是脈沖寬度。INT0振蕩器÷12T0引腳&1TR0 = 1GATE = 1C/T=0C/T=1K TL0(8位TH0 (8位TF0中斷定時器/計數器方式1 邏輯框圖加1計數器P15測量程序如下:START:MOV TMOD , #09HMOV TL0 , #00HMOV TH0 , #00HSETB P3.2WAIT1:JB P3.2 , WAIT1SETB TR0WAIT2:JNB P3.2 , WAIT2 WAIT3:JB P3
14、.2 , WAIT3CLR TR0MOV R0 , #DISBUFMOV A , TL0XCHD A , R0INC R0SWAP AXCHD A , R0INC R0MOV A , TH0XCHD A , R0INC R0SWAP AXCHD A , R0DIS:LCALL DISUPAJMP DISP16第五章完 作業(yè)三參考答案P20 17.片內RAM以DATA開始的區(qū)域中存放著10個單字節(jié)的十進制數。求其累加和結果存入SUM和SUM+1單元中。ORG 2000HSTART:MOV R0 ,#DATA MOV A ,SUM+1 MOV R2 ,#10 ADD A , #1MOV SUM+1
15、 ,#00H DA ACLR A MOV SUM+1 , A LOOP:ADD A , R0 NEXT:INC R0DA A DJNZ R2 ,LOOPMOV SUM , A SJMP $JNC NEXT P70程序執(zhí)行結果:和的低字節(jié)存放在SUM單元,和的高字節(jié)存放在SUM+1單元。采用中斷技術設計一LED 閃爍電路,閃爍周期為2s ,亮暗各1s+5VP1.0INT0+5V8051接口電路程序如下:(一 中斷服務程序:主程序ORG 0000H EXT0:CPL P1.0AJMP START ACALL DELAY ORG 0003H DJNZ R2,EXT0AJMP EXT0 RETIORG
16、 1000H DELAY :MOV R5 , #100 ;1sSTART :MOV SP , #2FH D1:MOV R6 , #20MOV IE , #81H D2:MOV R7 , #248MOV TCON , #00H DJNZ R7 , $MOV R2,#02 DJNZ R6 , D2 SETB P1.0 DJNZ R5 , D1SJMP $ RET P82采用中斷技術設計一LED 閃爍電路,閃爍周期為2s ,亮暗各1s 接口電路程序如下:(二 中斷服務程序:主程序ORG 0000H EXT0:CPL P1.0AJMP START ACALL DELAY ORG 0003H SJMP
17、EXT0AJMP EXT0 RETIORG 1000H DELAY :MOV R5 , #100 ;1sSTART :MOV SP , #2FH D1:MOV R6 , #20MOV IE , #81H D2:MOV R7 , #248MOV TCON , #00H DJNZ R7 , $SETB P1.0 DJNZ R6 , D2SJMP $ DJNZ R5 , D1RET P82+5VP1.0INT0+5V8051采用中斷技術設計一發(fā)光二極管閃爍電路,閃爍周期為2s,亮暗各1s。(P82 現采用定時中斷方法實現。程序清單:(三主程序:ORG 0000HLJMP MAINORG 000BHA
18、JMP SERVE MAIN:MOV SP,#60HMOV R2,#0AHMOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB ET0SETB EASETB TR0SETB P1.0SJMP $中斷服務程序:SERVE:MOV TL0,#0B0HMOV TH0,#3CHDJNZ R2,LOOPMOV R2,#0AHCPL P1.0LOOP:RETIEND利用T0定時加計數的方法實現1s鐘定時,每當1s定時到時,將P1.0的狀態(tài)取反,則在P1.0便可輸出周期為2s的閃煉信號。己知8051單片機的fosc=6MHz,利周T0和P1.0輸出矩形波。矩形波高電平寬50s,低電平寬300s。設T0工作方式3,用TL0作8位定時器,分別計算出定時50s和300s的初值X1和X2。X1=256-50/2=231;X2=256-300/2=106。程序如下:ORG 0000HAJMP MAIN SERVE:JB P1.0 , NEXTORG 000BH MOV TL0 , #231;高電平寬度AJMP SERVE SJMP NEXT1ORG 1000H NEXT:MOV TL0 , #106 ;低電平寬度MAIN:MOV SP , #2FH NEXT1:CPL P1.0MOV TMOD , #03H RETIMOV TL0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺商家與消費者權益保障交易協(xié)議
- 建議書合同投資建議書
- 有關工程安裝合同
- 設備工程安裝合同
- 大數據產業(yè)應用研究合作合同
- 保利花園物業(yè)管理服務協(xié)議
- 網站安全維護協(xié)議
- 交通協(xié)管員聘用合同
- 酒店連鎖經營管理授權協(xié)議
- 培訓技術服務合同
- DeepSeek科普課件深度解析
- 供電工程施工方案(技術標)
- 2023屆江西省九江市高三第一次高考模擬統(tǒng)一考試(一模)文綜試題 附答案
- 2024年共青團入團積極分子、發(fā)展對象考試題庫及答案
- 2024廣西公務員考試及答案(筆試、申論A、B類、行測)4套 真題
- 箱式變電站遷移施工方案
- DBJ∕T 13-478-2024 福建省瓶裝液化石油氣信息管理與數據采集技術標準
- 二零二五版服裝廠服裝產品質量追溯勞動合同范本3篇
- 2025年度院感管理工作計劃(后附表格版)
- 《化工流程教案》課件
- 體育學科核心素養(yǎng)解析
評論
0/150
提交評論