MCS-51單片機的定時器_第1頁
MCS-51單片機的定時器_第2頁
MCS-51單片機的定時器_第3頁
MCS-51單片機的定時器_第4頁
MCS-51單片機的定時器_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 MCS-51單片機的中斷系統(tǒng)與定時單片機的中斷系統(tǒng)與定時/計數(shù)器計數(shù)器 E-mail:tongyuda_ 技術(shù)支持:技術(shù)支持:0532-830272157.1中斷系統(tǒng)中斷系統(tǒng) 7.1.1概述 7.1.2 AT89C51中斷系統(tǒng) 7.1.3中斷應用實例7.2定時定時/計數(shù)器及應用計數(shù)器及應用 7.2.1定時/計數(shù)器0、1 的結(jié)構(gòu)及工作原理 7.2.2定時/計數(shù)器0、1 的四種工作方式 7.2.3定時器/計數(shù)器0、1的應用 7.2.4 AT89C52定時/計數(shù)器2的結(jié)構(gòu) 7.2.5 AT89C52定時/計數(shù)器2的工作方式7.2 定時定時/計數(shù)器及應用計數(shù)器及應用定時定時/計數(shù)器的核心是一個加計數(shù)

2、器的核心是一個加1計數(shù)器。計數(shù)器。n當它對外部事件計數(shù)時,由于頻率不固定,稱之為當它對外部事件計數(shù)時,由于頻率不固定,稱之為計數(shù)器計數(shù)器;n當它對內(nèi)部固定頻率的機器周期進行計數(shù)時,稱為當它對內(nèi)部固定頻率的機器周期進行計數(shù)時,稱為定時器定時器。MCS-51單片機內(nèi)有2個16位可編程的定時器/計數(shù)器,分別為T0和T1。 7.2.1 T0、T1的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理定時器/計數(shù)器內(nèi)部結(jié)構(gòu)邏輯圖 T0、T1核心組成部分:核心組成部分:16位的加位的加1計數(shù)器計數(shù)器定時器控制寄存器定時器控制寄存器TCON工作方式控制寄存器工作方式控制寄存器TMOD7.2.1 T0、T1的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及

3、工作原理(1) 加加1計數(shù)器計數(shù)器定時器定時器/計數(shù)器計數(shù)器T0由由8位特殊功能寄存器位特殊功能寄存器TH0和和TL0組成,組成,TH0為高為高8位,位,TL0為低為低8位;位; 加1計數(shù)器的初值可以通過程序進行設(shè)定,設(shè)定不同的初值,就可以獲得不同的計數(shù)值或定時時間。 對外部事件脈沖計數(shù),是計數(shù)器; 對單片機內(nèi)部機器周期產(chǎn)生的脈沖進行計數(shù),是定時器。 TF1 TF0 IE1 IT1 IE0 IT0TCONTR1:定時器:定時器1運行啟停控制位(可由用戶通過軟件運行啟??刂莆唬捎捎脩敉ㄟ^軟件設(shè)置設(shè)置 )。)。 TR1 =0:定時器:定時器1停止運行;停止運行; TR1 =1:定時器:定時器1啟

4、動運行。啟動運行。765432107.2.1 T0、T1的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理(2) 定時器控制寄存器定時器控制寄存器TCONTR1TR0當當C/T=0,定時功能,定時功能當當C/T=1,計數(shù)功能,計數(shù)功能 7.2.1 T0、T1的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理(3) 工作方式控制寄存器工作方式控制寄存器TMODM1M0對應對應4種不同的二進制組合對種不同的二進制組合對應應4種工作方式:種工作方式: 方式方式0、方式、方式1、方式、方式2、方式、方式3 7.2.1 T0、T1的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理 計數(shù)功能計數(shù)功能:對外部事件產(chǎn)生的脈沖進行計數(shù)。 當C/ =1,T0(P3.

5、4)或T1(P3.5)兩個信號引腳輸入信號脈沖發(fā)生負跳變時,加1計數(shù)器自動加1。 定時功能定時功能:對單片機內(nèi)部機器周期產(chǎn)生的脈沖進行計數(shù)。 當C/ =0,每個機器周期計數(shù)器自動加1。如果單片機的晶體頻率為12MHz,則計數(shù)頻率為1MHz,或者說計數(shù)器每加1,可實現(xiàn)1s的定時。TT定時或計數(shù)功能的選擇定時或計數(shù)功能的選擇 7.2.2 T0、T1的的4種工作方式種工作方式(1) 方式方式0當TMOD中M1M0 = 00時,定時器/計數(shù)器選定方式0進行工作。此時,選擇定時器/計數(shù)器的高8位和低5位組成一個13位的定時器/計數(shù)器。 (2) 方式方式1當TMOD中M1M0 = 01時,定時器/計數(shù)器選

6、定方式1進行工作。此時,選擇定時器/計數(shù)器的TH0和TL0構(gòu)成一個16位的定時器/計數(shù)器。 7.2.2 T0、T1的的4種工作方式種工作方式(2) 方式方式1當TMOD中M1M0 = 01時,定時器/計數(shù)器選定方式1進行工作。此時,選擇定時器/計數(shù)器的TH0和TL0構(gòu)成一個16位的定時器/計數(shù)器。 7.2.2 T0、T1的的4種工作方式種工作方式(2) 方式方式1 當作為計數(shù)器使用時,計數(shù)脈沖個數(shù)N:N = 216- x =65536 - x計數(shù)初值x是TH0、TL0設(shè)定的初值。 當作為定時器使用時,定時器的定時時間為:Td = (216- x)Tcy如果晶振頻率fosc=12MHz,則Tcy

7、 =1 s,定時范圍為165536 s。初值x是TH0、TL0設(shè)定的初值。 7.2.2 T0、T1的的4種工作方式種工作方式(3) 方式方式2工作方式0、方式1具有共同的特點,發(fā)生溢出現(xiàn)象后,需要程序不斷反復給計數(shù)器賦初值 。 TH0的內(nèi)容重新裝入TL0后,其自身保持不變。 7.2.2 T0、T1的的4種工作方式種工作方式(3) 方式方式2 當作為計數(shù)器使用時,計數(shù)脈沖個數(shù)N:N = 28- x =256 - x計數(shù)初值x是TH0、TL0設(shè)定的初值。 當作為定時器使用時,定時器的定時時間為:Td = (28- x)Tcy如果晶振頻率fosc=12MHz,則Tcy =1 s,定時范圍為1256

8、s。初值x是TH0、TL0設(shè)定的初值。 7.2.2 T0、T1的的4種工作方式種工作方式(4) 方式方式3T0和T1具有完全不同的功能 。 7.2.2 T0、T1的的4種工作方式種工作方式定時定時/計數(shù)器計數(shù)器0、1 的四種工作方式總結(jié)的四種工作方式總結(jié)方式TMOD中M1MO計數(shù)器位數(shù)定時范圍(12MHz晶振)000131-8192s101161-65536s21081-256s31181-256s7.2.3 定時定時/計數(shù)器計數(shù)器0、1的應用的應用1. 定時器定時器/計數(shù)器的初始化編程計數(shù)器的初始化編程MCS-51單片機的定時/計數(shù)器具有定時和計數(shù)功能,并可選擇4種工作方式。在使用定時器/計

9、數(shù)器前必須對其進行初始化,設(shè)置其工作方式等。初始化包括:(1)設(shè)置工作方式,即設(shè)置TMOD中的各位:GATE、C/T、M1M0。(2)計算定時/計數(shù)器的初值x,并將初值x送入TH、TL中。(3)啟動計數(shù)器工作,即將TR置1。(4)若采用中斷方式則將對應的定時/計數(shù)器及CPU開中斷。7.2.3 定時定時/計數(shù)器計數(shù)器0、1的應用的應用2. 計算計數(shù)初值計算計數(shù)初值(1)計數(shù)方式下,初值x的計算計數(shù)脈沖個數(shù)計數(shù)脈沖個數(shù)N=2n-x已知計數(shù)脈沖個數(shù)N,則初值x = 2n- N當采用工作方式0,1,2時,n分別取值13,16,8。(2)定時方式下,初值x的計算定時時間定時時間Td =(2n - x)機

10、器周期機器周期Tcy已知定時時間Td,機器周期Tcy。則初值x=2n-Td/Tcy。當采用工作方式0,1,2時,n分別取值13,16,8。例7-5:定時器/計數(shù)器T1工作于計數(shù)方式,計數(shù)脈沖個數(shù)N = 100,允許中斷,分別使用:(1)工作方式1;(2)工作方式2,進行初始化編程。 (1) 由于T1工作于計數(shù)方式GATE=0,C/T=1,T1工作于方式1,則M1M0 = 01。T0不用,TMOD的低4位取0000,則 TMOD= 01010000B = 50H工作方式1,則計數(shù)器位數(shù)n = 16。計數(shù)器初值x = 216-100=65536-100 = 65436=FF9CH。 TH1=FFH

11、; TL1=9CH分析:分析:例7-5:定時器/計數(shù)器T1工作于計數(shù)方式,計數(shù)脈沖個數(shù)N = 100,允許中斷,分別使用:(1)工作方式1;(2)工作方式2,進行初始化編程。 C51語言初始化程序如下:語言初始化程序如下:TMOD=0 x50; /*設(shè)置T1工作計數(shù)方式1*/TH1=0 xff; /*加1計數(shù)器高8位TH1賦初值FFH*/TL1=0 x9c; /*加1計數(shù)器低8位TL1賦初值9CH*/TR1=1; /*打開T1啟動開關(guān)*/ET1=1; /*T1開中斷*/EA=1; /*CPU開中斷*/例7-5:定時器/計數(shù)器T1工作于計數(shù)方式,計數(shù)脈沖個數(shù)N = 100,允許中斷,分別使用:(

12、1)工作方式1;(2)工作方式2,進行初始化編程。 匯編語言初始化程序匯編語言初始化程序1如下:如下:MOV TMOD,#50HMOV TH1,#0FFHMOV TL1,#9CHSETB TR1SETB ET1SETB EA匯編語言初始化程序匯編語言初始化程序2如下:如下:MOV TMOD,#50HMOV TH1,#0FFHMOV TL1,#9CHSETB TR1MOV IE,#84H例7-5:定時器/計數(shù)器T1工作于計數(shù)方式,計數(shù)脈沖個數(shù)N = 100,允許中斷,分別使用:(1)工作方式1;(2)工作方式2,進行初始化編程。 (2) TMOD= 01100000B = 60H計數(shù)器初值x =

13、 28-100=156=9CH。 TH1=9CH; TL1=9CH分析:分析:C51語言初始化程序如下:語言初始化程序如下:TMOD=0 x60; /*設(shè)置T1工作計數(shù)方式1*/TH1=0 x9c; /*加1計數(shù)器高8位TH1賦初值9CH*/TL1=0 x9c; /*加1計數(shù)器低8位TL1賦初值9CH*/TR1=1; /*打開T1啟動開關(guān)*/ET1=1; /*T1開中斷*/EA=1; /*CPU開中斷*/例7-5:定時器/計數(shù)器T1工作于計數(shù)方式,計數(shù)脈沖個數(shù)N = 100,允許中斷,分別使用:(1)工作方式1;(2)工作方式2,進行初始化編程。 匯編語言初始化程序匯編語言初始化程序1如下:如

14、下:MOV TMOD,#60HMOV TH1,#9CHMOV TL1,#9CHSETB TR1SETB ET1SETB EA匯編語言初始化程序匯編語言初始化程序2如下:如下:MOV TMOD,#60HMOV TH1,#9CHMOV TL1,#9CHSETB TR1MOV IE,#84H例7-6:T0工作于定時方式1,定時時間Td = 2ms,系統(tǒng)主頻fosc =12MHz,允許中斷,對T0進行初始化編程 。 分析:分析:T0工作于定時方式 GATE=0,C/T=0,T0工作于方式1,則M1M0 = 01。T1不用,TMOD的高4位取0000,則 TMOD= 00000001B =01H系統(tǒng)主頻

15、fosc =12MHz ,機器周期Tcy=1us。工作方式1,則計數(shù)器位數(shù)n = 16。計數(shù)器初值x = 216-Td/Tcy=65536-2000 =63536=F830H。 TH0=F8H; TL0=30H例7-6:T0工作于定時方式1,定時時間Td = 2ms,系統(tǒng)主頻fosc =12MHz,允許中斷,對T0進行初始化編程 。 分析:分析:C51語言初始化程序如下:語言初始化程序如下:TMOD=0 x01; /*設(shè)置T0工作計數(shù)方式1*/TH0=0 xf8; /*加1計數(shù)器高8位TH0賦初值F8H*/TL0=0 x30; /*加1計數(shù)器低8位TL0賦初值30H*/TR0=1; /*打開T

16、0啟動開關(guān)*/ET0=1; /*T0開中斷*/EA=1; /*CPU開中斷*/TMOD= 00000001B =01HTH0=F8H; TL0=30H匯編語言初始化程序匯編語言初始化程序1如下:如下:MOV TMOD,#01HMOV TH0,#0F8HMOV TL0,#30HSETB TR0SETB ET0SETB EA匯編語言初始化程序匯編語言初始化程序2如下:如下:MOV TMOD,#01HMOV TH0,#0F8HMOV TL0,#30HSETB TR0MOV IE,#84H例7-6:T0工作于定時方式1,定時時間Td = 2ms,系統(tǒng)主頻fosc =12MHz,允許中斷,對T0進行初始

17、化編程 。 要求利用定時器T0使圖中P1.0口控制的發(fā)光二極管D8進行300us亮,300us滅。系統(tǒng)主頻f =6MHz 。ORG 0000HLJMP MAIN ;轉(zhuǎn)主程序ORG 000BH ;T0中斷入口地址LJMP IT0 ;轉(zhuǎn)T0中斷服務(wù)程序ORG 0100H ;主程序首地址MAIN:MOV TMOD,#01H ;定時器0工作方式1MOV TH0,#0FFH ;T0初值設(shè)置MOV TL0,#6AHSETB TR0 ;啟動T0 SETB ET0 ;T0中斷允許SETB EA ;中斷總允許SETB P1.0SJMP $ ;等待中斷ORG 0200HIT0: MOV TH0,#0FFHMOV

18、TL0,#6AHCPL P1.0RETIEND要求利用定時器T0使圖中P1.0口控制的發(fā)光二極管D8進行300us亮,300us滅。系統(tǒng)主頻f =6MHz 。ORG 0000HLJMP MAIN ;轉(zhuǎn)主程序ORG 000BH ;T0中斷入口地址LJMP IT0 ;轉(zhuǎn)T0中斷服務(wù)程序ORG 0100H ;主程序首地址MAIN:MOV TMOD,#02H ;定時器定時器0工作方式工作方式2MOV TH0,#6AH ;T0初值設(shè)置初值設(shè)置MOV TL0,#6AHSETB TR0 ;啟動T0 SETB ET0 ;T0中斷允許SETB EA ;中斷總允許SETB P1.0SJMP $ ;等待中斷ORG

19、0200HIT0: CPL P1.0RETIEND#include sbit P1_0=P10;void main() TMOD=0 x02; /*設(shè)置設(shè)置T0工作計數(shù)方式工作計數(shù)方式2*/TH0=0 x6A; /*加加1計數(shù)器高計數(shù)器高8位位TH0賦初值賦初值*/TL0=0 x6A; /*加加1計數(shù)器低計數(shù)器低8位位TL0賦初值賦初值*/TR0=1; /*打開打開T0啟動開關(guān)啟動開關(guān)*/ET0=1; /*T0開中斷開中斷*/EA=1; /*CPU開中斷開中斷*/while(1);void Timer0(void) interrupt 1 P1_0=- P1_0;例7-7:要求利用定時器T0使

20、圖中P1.7口控制的發(fā)光二極管D8進行秒閃爍。系統(tǒng)主頻f =12MHz 。例7-7:要求利用定時器T0使圖中P1.7口控制的發(fā)光二極管D8進行秒閃爍。系統(tǒng)主頻f =12MHz 。分析:分析: 發(fā)光二極管D8進行秒閃爍,即每秒一亮一滅,亮500 ms,滅500 ms。系統(tǒng)主頻f =12MHz條件下,定時器0工作方式1,最大定時時間為65.536 ms ,取定時器0定時50ms,溢出10次實現(xiàn)500 ms定時。 T0工作方式確定:工作方式確定: GATE=0,C/T=0,T0工作于方式1,則M1M0 = 01。則 TMOD= 00000001B =01H系統(tǒng)主頻fosc =12MHz ,機器周期T

21、cy=1us。工作方式1,則計數(shù)器位數(shù)n = 16。計數(shù)器初值x = 216-Td/Tcy=65536-50000 =15536=3CB0H。 TH0=3CH; TL0=B0H例7-7:要求利用定時器T0使圖中P1.7口控制的發(fā)光二極管D8進行秒閃爍。系統(tǒng)主頻f =12MHz 。ORG 0000HLJMP MAIN ;轉(zhuǎn)主程序ORG 000BH ;T0中斷入口地址LJMP IT0 ;轉(zhuǎn)T0中斷服務(wù)程序ORG 0100H ;主程序首地址MAIN:MOV TMOD,#01H ;定時器0工作方式1MOV TH0,#3CH ;T0初值設(shè)置MOV TL0,#0B0HSETB ET0 ;T0中斷允許SETB EA ;中斷總允許MOV R7,#0AH ;50 ms 置10次SETB TR0 ;啟動T0SETB P1.7SJMP $ ;等待中斷ORG 0200HIT0: MOV TH0,#3CHMOV TL0,#0B0HDJNZ R7,LEDR CPL P1.7MOV R7,#0AH LEDR: RETIEND例7-7:要求利用定時器T0使圖中P1.7口控制的發(fā)光二極管D8進行秒閃爍。系統(tǒng)主頻f =12MHz 。void Timer0(void) interrup

溫馨提示

  • 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

提交評論