第五章 定時(shí)器計(jì)數(shù)器_第1頁(yè)
第五章 定時(shí)器計(jì)數(shù)器_第2頁(yè)
第五章 定時(shí)器計(jì)數(shù)器_第3頁(yè)
第五章 定時(shí)器計(jì)數(shù)器_第4頁(yè)
第五章 定時(shí)器計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 5.2 5.2 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器 定時(shí)器的結(jié)構(gòu)及工作原理定時(shí)器的結(jié)構(gòu)及工作原理 定時(shí)器的控制定時(shí)器的控制 定時(shí)器的工作模式及其應(yīng)用定時(shí)器的工作模式及其應(yīng)用 第五章第五章 MCS-51MCS-51單片機(jī)的內(nèi)部資源及應(yīng)用單片機(jī)的內(nèi)部資源及應(yīng)用實(shí)現(xiàn)定時(shí)一般有多種方法:實(shí)現(xiàn)定時(shí)一般有多種方法:1. 1. 利用軟件實(shí)現(xiàn)(延時(shí)程序)利用軟件實(shí)現(xiàn)(延時(shí)程序) 優(yōu)點(diǎn):優(yōu)點(diǎn):簡(jiǎn)單,控制方便;簡(jiǎn)單,控制方便; 缺點(diǎn):缺點(diǎn):CPUCPU效率低。效率低。2. 2. 外部硬件實(shí)現(xiàn):?jiǎn)畏€(wěn)態(tài)定時(shí)器、計(jì)數(shù)定時(shí)器外部硬件實(shí)現(xiàn):?jiǎn)畏€(wěn)態(tài)定時(shí)器、計(jì)數(shù)定時(shí)器 優(yōu)點(diǎn):優(yōu)點(diǎn):CPUCPU效率高;效率高; 缺點(diǎn):缺點(diǎn):修改參

2、數(shù)麻煩。修改參數(shù)麻煩。3. 3. 利用計(jì)數(shù)器實(shí)現(xiàn)利用計(jì)數(shù)器實(shí)現(xiàn)計(jì)數(shù)器計(jì)數(shù)器溢出溢出1us8位位256us輸入脈沖輸入脈沖預(yù)置數(shù)預(yù)置數(shù) 定時(shí)器計(jì)數(shù)器作用主要包括定時(shí)器計(jì)數(shù)器作用主要包括產(chǎn)生各種時(shí)標(biāo)間隔、記錄外產(chǎn)生各種時(shí)標(biāo)間隔、記錄外部事件部事件的數(shù)量等,是單片機(jī)中最常用、最基本的部件之一。的數(shù)量等,是單片機(jī)中最常用、最基本的部件之一。機(jī)器周期機(jī)器周期 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器單片機(jī)單片機(jī)T0T0外來(lái)脈沖外來(lái)脈沖定時(shí)功能定時(shí)功能計(jì)數(shù)功能計(jì)數(shù)功能定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器 功能示意圖功能示意圖 5.2.1 5.2.1 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的基本結(jié)構(gòu)計(jì)數(shù)器的基本結(jié)構(gòu) MCS-51MCS-

3、51單片機(jī)有二個(gè)定時(shí)器單片機(jī)有二個(gè)定時(shí)器/ /計(jì)數(shù)器,每個(gè)定時(shí)器計(jì)數(shù)器,每個(gè)定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器由幾個(gè)專用寄存器組成。由幾個(gè)專用寄存器組成。定時(shí)器定時(shí)器T0T0定時(shí)器定時(shí)器T1T1數(shù)據(jù)寄存器數(shù)據(jù)寄存器(16(16位)位)TH0 TL0TH0 TL0TH1 TL1TH1 TL18CH 8AH8CH 8AH8DH 8BH8DH 8BH方式寄存器方式寄存器TMOD(89HTMOD(89H)低四位低四位TMOD(89HTMOD(89H)高四位高四位控制寄存器控制寄存器* *TCON(88H)TCON(88H)TCON(88H)TCON(88H)定時(shí)器定時(shí)器/ /計(jì)數(shù)器的結(jié)構(gòu)如圖所示。計(jì)數(shù)器的結(jié)構(gòu)如

4、圖所示。定時(shí)器定時(shí)器/ /計(jì)數(shù)器的基本結(jié)構(gòu)框圖計(jì)數(shù)器的基本結(jié)構(gòu)框圖5.2.2 5.2.2 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的工作原理計(jì)數(shù)器的工作原理定時(shí)器定時(shí)器/ /計(jì)數(shù)器結(jié)構(gòu)原理圖計(jì)數(shù)器結(jié)構(gòu)原理圖 TRx TRx:?jiǎn)?dòng)位:?jiǎn)?dòng)位GATEGATE:門控制位:門控制位 :定時(shí):定時(shí)/ /計(jì)數(shù)控制位計(jì)數(shù)控制位T TC/C/x=0,1x=0,1Y=2,3Y=2,3Z=4,5Z=4,5 一、對(duì)外部輸入信號(hào)的計(jì)數(shù)功能一、對(duì)外部輸入信號(hào)的計(jì)數(shù)功能 當(dāng)當(dāng)T0T0或或T1T1設(shè)置為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)器對(duì)來(lái)自輸入引設(shè)置為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)器對(duì)來(lái)自輸入引腳腳P3.4(T0)P3.4(T0)和和P3.5(T1)P3.5

5、(T1)的外部信號(hào)計(jì)數(shù)。的外部信號(hào)計(jì)數(shù)。 若前一個(gè)機(jī)器周期采樣值為若前一個(gè)機(jī)器周期采樣值為1 1,后一個(gè)機(jī)器周期采樣值為,后一個(gè)機(jī)器周期采樣值為0 0,則計(jì)數(shù)器加,則計(jì)數(shù)器加1 1。所以計(jì)數(shù)器計(jì)數(shù)的頻率最高為所以計(jì)數(shù)器計(jì)數(shù)的頻率最高為foscfosc的的1/241/24。計(jì)數(shù)計(jì)數(shù)計(jì)數(shù)計(jì)數(shù)計(jì)數(shù)計(jì)數(shù)T TH H11個(gè)機(jī)器周期個(gè)機(jī)器周期T TL L11個(gè)機(jī)器周期個(gè)機(jī)器周期計(jì)數(shù)信號(hào)計(jì)數(shù)信號(hào)二二. . 定時(shí)功能定時(shí)功能 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的定時(shí)功能也是通過(guò)計(jì)數(shù)實(shí)現(xiàn)的,它的計(jì)計(jì)數(shù)器的定時(shí)功能也是通過(guò)計(jì)數(shù)實(shí)現(xiàn)的,它的計(jì)數(shù)脈沖是由單片機(jī)的片內(nèi)振蕩器輸出經(jīng)數(shù)脈沖是由單片機(jī)的片內(nèi)振蕩器輸出經(jīng)1212分頻后產(chǎn)

6、生的信號(hào),分頻后產(chǎn)生的信號(hào),即為即為對(duì)機(jī)器周期計(jì)數(shù)對(duì)機(jī)器周期計(jì)數(shù)。例如:例如:晶振頻率晶振頻率=12MHz=12MHz機(jī)器周期機(jī)器周期=1us=1us, 計(jì)數(shù)計(jì)數(shù)1 1次次=1us=1us,計(jì)數(shù)頻為計(jì)數(shù)頻為=1MHz=1MHz。計(jì)數(shù)器計(jì)數(shù)器定時(shí)器定時(shí)器計(jì)數(shù)脈沖計(jì)數(shù)脈沖外部信號(hào)下降沿外部信號(hào)下降沿T0T0對(duì)應(yīng)對(duì)應(yīng)P3.4P3.4T1T1對(duì)應(yīng)對(duì)應(yīng)P3.5P3.5內(nèi)部信號(hào)內(nèi)部信號(hào)( (片內(nèi)振蕩器片內(nèi)振蕩器) )計(jì)數(shù)頻率計(jì)數(shù)頻率f ffmax=fosc/24fmax=fosc/24f=f=機(jī)器周期機(jī)器周期定時(shí)器定時(shí)器/ /計(jì)數(shù)器的比較計(jì)數(shù)器的比較 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的控制主要是通過(guò)以下幾個(gè)寄存計(jì)

7、數(shù)器的控制主要是通過(guò)以下幾個(gè)寄存器實(shí)現(xiàn)的:器實(shí)現(xiàn)的: TCONTCON - - 定時(shí)器定時(shí)器/ /計(jì)數(shù)器控制寄存器計(jì)數(shù)器控制寄存器 TMODTMOD - - 定時(shí)器定時(shí)器/ /計(jì)數(shù)器工作方式控制寄存器計(jì)數(shù)器工作方式控制寄存器 IEIE - - 中斷允許控制寄存器中斷允許控制寄存器5.2.3 5.2.3 定時(shí)器的控制定時(shí)器的控制 一、一、 定定時(shí)器時(shí)器/ /計(jì)數(shù)器的工作方式寄存器計(jì)數(shù)器的工作方式寄存器TMODTMOD 定時(shí)器定時(shí)器/ /計(jì)數(shù)器是一種可編程部件,在工作之前必須由軟件計(jì)數(shù)器是一種可編程部件,在工作之前必須由軟件設(shè)定它的工作方式,即對(duì)設(shè)定它的工作方式,即對(duì)工作方式寄存器工作方式寄存器T

8、MODTMOD中每位進(jìn)行設(shè)定。中每位進(jìn)行設(shè)定。(M1(M1、M0)M0):設(shè)置定時(shí)器設(shè)置定時(shí)器/ /計(jì)數(shù)器的工作方式;計(jì)數(shù)器的工作方式; (C/ ) (C/ ):定時(shí)器定時(shí)器/ /計(jì)數(shù)器選擇位,置計(jì)數(shù)器選擇位,置0 0時(shí)作定時(shí)器用;時(shí)作定時(shí)器用; (GATE) (GATE):設(shè)置定時(shí)器設(shè)置定時(shí)器/ /計(jì)數(shù)器的啟動(dòng)方式。計(jì)數(shù)器的啟動(dòng)方式。TTMOD(89H)TMOD(89H) TMOD TMOD不能位尋址。上電復(fù)位時(shí),不能位尋址。上電復(fù)位時(shí),TMODTMOD所有位均為零。所有位均為零。工作方式寄存器工作方式寄存器TMODTMOD的作用:的作用: 、M1M1和和M0M0工作方式控制位工作方式控制位

9、 M0M0和和M1M1為工作方式控制位,確定為工作方式控制位,確定4 4種工作方式,如表種工作方式,如表7-17-1所示。所示。M1 M0 M1 M0 方式方式說(shuō)說(shuō) 明明0 00 00 01313位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器(TH(TH的的8 8位和位和TLTL的低的低5 5位位) ) 0 10 11 11616位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器 1 01 02 2自動(dòng)重裝入初值的自動(dòng)重裝入初值的8 8位計(jì)數(shù)器位計(jì)數(shù)器 1 11 13 3T0T0分成兩個(gè)獨(dú)立的分成兩個(gè)獨(dú)立的8 8位計(jì)數(shù)器位計(jì)數(shù)器, T1, T1在在方式方式3 3時(shí)停止工作時(shí)停止工作 、定時(shí)器、定時(shí)器/ /計(jì)數(shù)器方式選擇位

10、計(jì)數(shù)器方式選擇位 1. =0 1. =0 選擇定時(shí)方式。在定時(shí)方式中,選擇定時(shí)方式。在定時(shí)方式中,以振蕩輸出時(shí)鐘脈以振蕩輸出時(shí)鐘脈沖的沖的1212分頻信號(hào)作為定時(shí)的計(jì)數(shù)信號(hào)分頻信號(hào)作為定時(shí)的計(jì)數(shù)信號(hào),也就是每一個(gè)機(jī)器也就是每一個(gè)機(jī)器周期定時(shí)器加周期定時(shí)器加“1”1”,若晶振為,若晶振為12MHz12MHz,則定時(shí)器的計(jì)數(shù)頻,則定時(shí)器的計(jì)數(shù)頻率為率為1MHz1MHz。2. =1 2. =1 選擇計(jì)數(shù)功能。在計(jì)數(shù)方式中,選擇計(jì)數(shù)功能。在計(jì)數(shù)方式中,采用外部引腳采用外部引腳T0(P3.4)T0(P3.4)、T1(P3.5)T1(P3.5)的輸入脈沖作為計(jì)數(shù)脈沖的輸入脈沖作為計(jì)數(shù)脈沖, , 當(dāng)外部輸當(dāng)

11、外部輸入脈沖發(fā)生入脈沖發(fā)生1 1到到0 0的負(fù)跳變時(shí),計(jì)數(shù)器加的負(fù)跳變時(shí),計(jì)數(shù)器加1 1,最高計(jì)數(shù)頻率,最高計(jì)數(shù)頻率為時(shí)鐘頻率的為時(shí)鐘頻率的1/241/24。T TC C/ /T TC C/ /T TC C/ /計(jì)數(shù)計(jì)數(shù) C/ =0 C/ =0 定時(shí);定時(shí); C/ =1 C/ =1 對(duì)外計(jì)數(shù)。對(duì)外計(jì)數(shù)。定時(shí):定時(shí):fosc/12 =1/(12/fosc)=1/T (fosc/12 =1/(12/fosc)=1/T (機(jī)器周期機(jī)器周期) )N個(gè)方波個(gè)方波 T計(jì)數(shù):脈沖不等間隔計(jì)數(shù):脈沖不等間隔定時(shí):定時(shí): 波形等間隔,次數(shù)已定,時(shí)間波形等間隔,次數(shù)已定,時(shí)間確定確定, , 即對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)。

12、即對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)。 定時(shí)時(shí)間為定時(shí)時(shí)間為 N*T計(jì)數(shù):計(jì)數(shù): 每個(gè)下降沿計(jì)數(shù)一次每個(gè)下降沿計(jì)數(shù)一次, ,確認(rèn)一次確認(rèn)一次負(fù)跳變需兩個(gè)機(jī)器周期,所以,計(jì)負(fù)跳變需兩個(gè)機(jī)器周期,所以,計(jì)數(shù)頻率最高為數(shù)頻率最高為fosc / 24。 TT 、GATEGATE啟動(dòng)門控位啟動(dòng)門控位1. GATE=0 1. GATE=0 時(shí)時(shí) 只要用軟件使只要用軟件使TR0TR0(或(或TR1TR1)置)置1 1就能啟動(dòng)定時(shí)器就能啟動(dòng)定時(shí)器T0T0(或(或T1T1)2. GATE=1 2. GATE=1 時(shí)時(shí) 只有在只有在INT0INT0(或(或INT1INT1)引腳為高電平的情況下,且由軟件)引腳為高電平的情況下,且

13、由軟件使使TR0TR0(或(或TR1TR1)置)置1 1時(shí),才能啟動(dòng)定時(shí)器時(shí),才能啟動(dòng)定時(shí)器T0T0(或(或T1T1)工作。)工作。x=0,1x=0,1Y=2,3Y=2,3二、二、 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的控制寄存器計(jì)數(shù)器的控制寄存器TCONTCON 控制寄存器控制寄存器TCONTCON的作用:的作用:1 1、通過(guò)設(shè)置、通過(guò)設(shè)置TCONTCON中的某些位來(lái)實(shí)現(xiàn)啟動(dòng)或停止定時(shí)器中的某些位來(lái)實(shí)現(xiàn)啟動(dòng)或停止定時(shí)器/ /計(jì)數(shù)計(jì)數(shù) 器的運(yùn)行(計(jì)數(shù));器的運(yùn)行(計(jì)數(shù));2 2、當(dāng)定時(shí)器、當(dāng)定時(shí)器/ /計(jì)數(shù)器計(jì)滿溢出,或有外部中斷請(qǐng)求時(shí),計(jì)數(shù)器計(jì)滿溢出,或有外部中斷請(qǐng)求時(shí),TCONTCON 能標(biāo)明溢出和中

14、斷情況。能標(biāo)明溢出和中斷情況。控制寄存器控制寄存器TCON(88H)TCON(88H)TF1TF1:定時(shí)器:定時(shí)器T1T1溢出標(biāo)志位溢出標(biāo)志位 當(dāng)定時(shí)器當(dāng)定時(shí)器T1T1溢出時(shí),由硬件自動(dòng)使溢出時(shí),由硬件自動(dòng)使TF1TF1置置1 1,并向,并向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。CPUCPU響應(yīng)中斷后,由硬件自動(dòng)對(duì)響應(yīng)中斷后,由硬件自動(dòng)對(duì)TF1TF1清清零。零。TF1TF1也可以用軟件清零。也可以用軟件清零。TR1TR1:定時(shí)器:定時(shí)器T1T1運(yùn)行控制位運(yùn)行控制位 可由軟件置可由軟件置1 1(或清零)來(lái)啟動(dòng)(或關(guān)閉)定時(shí)(或清零)來(lái)啟動(dòng)(或關(guān)閉)定時(shí)器器T1T1,使定時(shí)器,使定時(shí)器T1T1開(kāi)始計(jì)數(shù)。

15、開(kāi)始計(jì)數(shù)。用指令:用指令: SETB TR1SETB TR1 或或 CLR TR1 (CLR TR1 (置置1 1或清或清0 0)TF1TF1TR1TR1TF0TF0 TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0控制寄存器控制寄存器TCON(88H)TCON(88H)TF0TF0:定時(shí)器:定時(shí)器T0T0溢出標(biāo)志位。其功能與溢出標(biāo)志位。其功能與TF1TF1相同。相同。TR0TR0:定時(shí)器:定時(shí)器T0T0運(yùn)行控制位。其功能與運(yùn)行控制位。其功能與TR1TR1相同。相同。IE1IE1:外部中斷:外部中斷1 1請(qǐng)求標(biāo)志位。請(qǐng)求標(biāo)志位。IT1IT1:外部中斷:外部中斷1 1觸發(fā)方式控制位。

16、觸發(fā)方式控制位。IE0IE0:外部中斷:外部中斷0 0請(qǐng)求標(biāo)志位。請(qǐng)求標(biāo)志位。IT0IT0:外部中斷:外部中斷0 0觸發(fā)方式控制位。觸發(fā)方式控制位。 IE1IE1、IT1IT1、IE0IE0、IT0IT0這這4 4位已在第位已在第5 5章講述。章講述。 可以對(duì)控制寄存器進(jìn)行位尋址。可以對(duì)控制寄存器進(jìn)行位尋址。TF1TF1TR1TR1TF0TF0 TR0TR0IE1IE1IT1IT1IE0IE0IT0IT05.2.4 5.2.4 定時(shí)器的工作模式及其應(yīng)用定時(shí)器的工作模式及其應(yīng)用一、一、 工作模式工作模式0 0及應(yīng)用及應(yīng)用。M0=0, M1=0 、工作原理、工作原理 1、在方式在方式0 0下,下,

17、T0T0和和T1T1工作在工作在1313位的定時(shí)位的定時(shí)/ /計(jì)數(shù)器方式,計(jì)數(shù)器方式,由由THTH的高的高8 8位位和和TLTL的低的低5 5位位組成。組成。 2 2、當(dāng)、當(dāng)T0T0的的1313位計(jì)數(shù)器加到全部為位計(jì)數(shù)器加到全部為1 1以后,再加以后,再加1 1就產(chǎn)生就產(chǎn)生溢出,這時(shí)置溢出,這時(shí)置TCONTCON的的TF0TF0為為1 1,同時(shí)把計(jì)數(shù)器全部變,同時(shí)把計(jì)數(shù)器全部變0 0,然,然后從后從0 0開(kāi)始繼續(xù)計(jì)數(shù)。開(kāi)始繼續(xù)計(jì)數(shù)。TH0=0FFHTH0=0FFHTL0=1FHTL0=1FHTF0=0TF0=011111111111111111111111111+1+1TH0=00HTH0=0

18、0HTL0=00HTL0=00HTF0=1TF0=1M0=0, M1=0 x=0,1x=0,1Y=2,3Y=2,3Z=4,5Z=4,5 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 000BH ORG 000BH LJMP T0INT LJMP T0INT MAIN: SETB ET0 MAIN: SETB ET0 SETB EA SETB EA SETB TR0 SETB TR0 LOOP: LOOP: LJMP LOOP LJMP LOOP T0INT: CPL P1.0 T0INT: CPL P1.0 MOV TL0,MOV TL0,0CH0CH

19、 MOV TH0, MOV TH0,0F0H0F0H RETI RETI對(duì)于對(duì)于T0T0初值非零時(shí)初值非零時(shí)2 2、當(dāng)、當(dāng) = 0 = 0 時(shí),工作方式為定時(shí)器,時(shí),工作方式為定時(shí)器, 定時(shí)時(shí)間定時(shí)時(shí)間 = = (2(213 13 -T0-T0初值初值)x12x)x12x時(shí)鐘周期時(shí)鐘周期 定時(shí)范圍:定時(shí)范圍:1 1工作周期工作周期 81928192工作周期工作周期 1 1、當(dāng)、當(dāng) = 1 = 1 時(shí),工作方式為計(jì)數(shù)器,時(shí),工作方式為計(jì)數(shù)器, 計(jì)數(shù)數(shù)值計(jì)數(shù)數(shù)值 = = (2(21313 - T0 - T0初值初值) ) 計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:1 181928192(2 213 13 = 819

20、2= 8192)TH0=0FFHTH0=0FFHTL0=01FHTL0=01FH 、工作模式、工作模式0 0時(shí)計(jì)數(shù)和定時(shí)范圍時(shí)計(jì)數(shù)和定時(shí)范圍TH0=00HTH0=00HTL0=00HTL0=00H加加1 1溢出;溢出;加加81928192溢出。溢出。T TC/C/T TC/C/ 如果單片機(jī)的晶振選為如果單片機(jī)的晶振選為6.00MHz6.00MHz,則最長(zhǎng)和最小定時(shí),則最長(zhǎng)和最小定時(shí)時(shí)間分別為:時(shí)間分別為:最小定時(shí)時(shí)間(最小定時(shí)時(shí)間((TH0)(TH0)0FFH0FFH,(TL0)(TL0)0FFH0FFH):): 8192-(8192-1)8192-(8192-1)1/61/61010-6-6

21、12 = 212 = 21010-6-6(s) (s) = 2(us) = 2(us)最長(zhǎng)定時(shí)時(shí)間(最長(zhǎng)定時(shí)時(shí)間((TH0)(TH0)00H00H,(TL0)(TL0)00H00H):): (8192-0)(8192-0)1/61/61010-6-612 = 1638412 = 163841010-6-6(s) (s) = 16384(us) = 16384(us) 例:例:設(shè)定時(shí)器設(shè)定時(shí)器T0T0選擇工作模式選擇工作模式0 0,求最長(zhǎng)定時(shí)時(shí)間,求最長(zhǎng)定時(shí)時(shí)間,如果要實(shí)現(xiàn)定時(shí)時(shí)間為如果要實(shí)現(xiàn)定時(shí)時(shí)間為1ms1ms,fosc=3MHzfosc=3MHz。試確定。試確定T0T0的初值。的初值。 解

22、:解:(1) (1) 求最長(zhǎng)定時(shí)時(shí)間求最長(zhǎng)定時(shí)時(shí)間 當(dāng)當(dāng)T0T0處于工作模式處于工作模式0 0時(shí),加時(shí),加1 1計(jì)數(shù)器為計(jì)數(shù)器為1313位。位。T0T0最大定最大定時(shí)時(shí)間對(duì)應(yīng)于時(shí)時(shí)間對(duì)應(yīng)于1313位計(jì)數(shù)器位計(jì)數(shù)器T0T0的各位全為的各位全為0 0,即,即: : (TH0) (TH0)00H00H,(TL0)(TL0)00H00H。 最長(zhǎng)定時(shí)時(shí)間為:最長(zhǎng)定時(shí)時(shí)間為: Tmax =(2Tmax =(213130)x12x(100)x12x(10-6-6/3)= 32.768ms/3)= 32.768ms(2) (2) 確定確定T0T0的初值的初值 定時(shí)時(shí)間定時(shí)時(shí)間=(2=(213 13 T0T0初

23、值初值)x12x)x12x晶振周期晶振周期 則:則:T0T0初值初值= =2 21313(1ms/4us)=8192(1ms/4us)=8192250=7942250=7942 化成二進(jìn)制化成二進(jìn)制 用除用除2 2取余數(shù)法,得到的余數(shù)即為二進(jìn)制數(shù)各位的數(shù)碼,取余數(shù)法,得到的余數(shù)即為二進(jìn)制數(shù)各位的數(shù)碼,按余數(shù)的逆序排列。按余數(shù)的逆序排列。 轉(zhuǎn)化成二進(jìn)制為:轉(zhuǎn)化成二進(jìn)制為:1111100000110B1111100000110B 按照低按照低5 5位,高位,高8 8位拆開(kāi):位拆開(kāi): T0T0的低的低5 5位:位:TL0 = 00110B = 06HTL0 = 00110B = 06H T0 T0的

24、高的高8 8位:位:TH0 = 11111000B = F8HTH0 = 11111000B = F8H 例:例:利用定時(shí)器輸出周期為利用定時(shí)器輸出周期為2ms2ms的方波的方波, , 輸出為輸出為P1.0P1.0引腳。引腳。設(shè)單片機(jī)晶振頻率為設(shè)單片機(jī)晶振頻率為3MHz3MHz。 解:解:2ms2ms的方波是由間隔的方波是由間隔1ms1ms的高低電平相間而成,因而只的高低電平相間而成,因而只要每隔要每隔1ms1ms對(duì)對(duì)P1.0P1.0取反一次即可得到所需的方波。取反一次即可得到所需的方波。 因?yàn)椋阂驗(yàn)椋簷C(jī)器周期機(jī)器周期 = 12= 123MHz = 4us3MHz = 4us 所以,所以,1m

25、s1ms內(nèi)內(nèi)T0T0計(jì)數(shù)的次數(shù):計(jì)數(shù)的次數(shù):N=1msN=1ms4us=250 4us=250 由此可知由此可知: : 使用方式使用方式0 0時(shí)的時(shí)的1313位計(jì)數(shù)器即可。位計(jì)數(shù)器即可。1ms1ms T0T0的初值:的初值:X=2X=213 13 -250 = 7942-250 = 7942轉(zhuǎn)化成二進(jìn)制轉(zhuǎn)化成二進(jìn)制:TH0=0F8HTH0=0F8H,TL0=06HTL0=06H TMODTMOD初始化:初始化:TMOD=00000000B=00HTMOD=00000000B=00H (GATE=0GATE=0,C/T=0C/T=0,M1=0M1=0,M0=0M0=0) TCONTCON初始化初

26、始化:?jiǎn)?dòng):?jiǎn)?dòng)TR0=1TR0=1 IEIE初始化初始化:開(kāi)放:開(kāi)放EA=1EA=1,定時(shí)器,定時(shí)器T0T0中斷允許中斷允許ET0=1ET0=1設(shè)計(jì)考慮:設(shè)計(jì)考慮:選用定時(shí)選用定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0作定時(shí)器作定時(shí)器程序清單如下程序清單如下: : ORG 0000H ORG 0000H AJMP START AJMP START ORG 000BH ORG 000BH AJMP TOINT AJMP TOINT ORG 0050H ORG 0050HSTART: MOV SP, START: MOV SP, 60H60H MOV TH0, MOV TH0, 0F8H0F8H MOV T

27、L0, MOV TL0, 06H06H MOV TMOD, MOV TMOD, 00H00H SETB TR0 ; SETB TR0 ; 啟動(dòng)啟動(dòng)T0 T0 SETB ET0 SETB ET0 SETB EA SETB EA MAIN: MAIN: AJMP MAIN AJMP MAIN TOINT: CPL P1.0 TOINT: CPL P1.0 MOV TL0, MOV TL0, 06H06H MOV TH0, MOV TH0, 0F8H0F8H; ; 上面兩指令賦上面兩指令賦T0T0初值初值 RETIRETI END END 、工作原理、工作原理 方式方式1 1和方式和方式0 0的工作

28、原理相同,唯一不同的是的工作原理相同,唯一不同的是T0T0和和T1T1工作在方式工作在方式1 1時(shí)是時(shí)是1616位的計(jì)數(shù)位的計(jì)數(shù)/ /定時(shí)器。定時(shí)器。 在方式在方式1 1時(shí),時(shí),1616位的初值分為高字節(jié)和低字節(jié),分別位的初值分為高字節(jié)和低字節(jié),分別送入送入THTH和和TLTL。二、工作模式二、工作模式1 1及應(yīng)用及應(yīng)用M0=1,M1=0M0=1,M1=0TH0=0FFHTH0=0FFHTL0=0FFHTL0=0FFHTF0=0TF0=011111111111111111111111111111111+1+1TH0=00HTH0=00HTL0=00HTL0=00HTF0=1TF0=1x=0,1

29、x=0,1Y=2,3Y=2,3Z=4,5Z=4,52 2、當(dāng)、當(dāng) =0=0時(shí),工作方式為定時(shí)器,時(shí),工作方式為定時(shí)器, 定時(shí)時(shí)間定時(shí)時(shí)間 = = (2(216 16 -T0-T0初值初值)x12x)x12x晶振周期晶振周期 定時(shí)范圍:定時(shí)范圍:1 1工作周期工作周期 6553665536工作周期工作周期 1 1、當(dāng)、當(dāng) =1=1時(shí),工作方式為計(jì)數(shù)器,時(shí),工作方式為計(jì)數(shù)器, 計(jì)數(shù)數(shù)值計(jì)數(shù)數(shù)值 = = (2(21616 -T0 -T0初值初值) ) 計(jì)數(shù)范圍:計(jì)數(shù)范圍:1 16553665536(2 216 16 = 65536= 65536)TH0=0FFHTH0=0FFHTL0=0FFHTL0

30、=0FFH 、工作模式、工作模式1 1時(shí)計(jì)數(shù)和定時(shí)范圍時(shí)計(jì)數(shù)和定時(shí)范圍TH0=00HTH0=00HTL0=00HTL0=00H加加1 1溢出;溢出;加加6553665536溢出。溢出。T TC C/ /T TC C/ / 如果單片機(jī)的晶振頻率選為如果單片機(jī)的晶振頻率選為6.00MHz6.00MHz,則,則最長(zhǎng)和最小定最長(zhǎng)和最小定時(shí)時(shí)間分別為:時(shí)時(shí)間分別為:最小定時(shí)時(shí)間為:最小定時(shí)時(shí)間為: 65536-(65536-1)65536-(65536-1)1/61/61010-6-612 12 = 2 = 21010-6-6(s) = 2(us)(s) = 2(us)最長(zhǎng)定時(shí)時(shí)間為:最長(zhǎng)定時(shí)時(shí)間為:

31、(65536-0)(65536-0)1/61/61010-6-612 = 13107212 = 1310721010-6-6(s) (s) = 131072(us) = 131072(us)。 例:例:已知某生產(chǎn)線的傳送帶上不斷地有產(chǎn)品單向傳送已知某生產(chǎn)線的傳送帶上不斷地有產(chǎn)品單向傳送, , 產(chǎn)產(chǎn)品之間有較大間隔。使用光電開(kāi)關(guān)統(tǒng)計(jì)一定時(shí)間內(nèi)的產(chǎn)品個(gè)品之間有較大間隔。使用光電開(kāi)關(guān)統(tǒng)計(jì)一定時(shí)間內(nèi)的產(chǎn)品個(gè)數(shù)。假定紅燈數(shù)。假定紅燈1 1滅時(shí)停止統(tǒng)計(jì),紅燈亮滅時(shí)停止統(tǒng)計(jì),紅燈亮1 1時(shí)才在上次統(tǒng)計(jì)結(jié)果時(shí)才在上次統(tǒng)計(jì)結(jié)果的基礎(chǔ)上繼續(xù)統(tǒng)計(jì),試用單片機(jī)定時(shí)器的基礎(chǔ)上繼續(xù)統(tǒng)計(jì),試用單片機(jī)定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器

32、T1T1的方式的方式1 1完完成該項(xiàng)產(chǎn)品的計(jì)數(shù)任務(wù)。成該項(xiàng)產(chǎn)品的計(jì)數(shù)任務(wù)。 (1) (1) 初始化初始化: : TMOD=11010000B=0D0HTMOD=11010000B=0D0H (GATE=1, C/T=1, M0M1=01GATE=1, C/T=1, M0M1=01) TCON=00000000B=00HTCON=00000000B=00H(2) T1(2) T1在方式在方式1 1時(shí),溢出產(chǎn)生中斷,且計(jì)數(shù)器回零,故在中斷時(shí),溢出產(chǎn)生中斷,且計(jì)數(shù)器回零,故在中斷服務(wù)程序中,需用服務(wù)程序中,需用R0R0計(jì)數(shù)中斷次數(shù),以保護(hù)累積計(jì)數(shù)結(jié)果。計(jì)數(shù)中斷次數(shù),以保護(hù)累積計(jì)數(shù)結(jié)果。(3) (3)

33、 啟動(dòng)啟動(dòng)T1T1計(jì)數(shù),開(kāi)計(jì)數(shù),開(kāi)T1T1中斷。中斷。設(shè)計(jì)考慮:設(shè)計(jì)考慮:程序清單如下程序清單如下: ORG 0000H ORG 0000H AJMP STARTAJMP STARTORG 001BHORG 001BHAJMP T1INT AJMP T1INT ORG 0100HORG 0100HSTART: MOV SP,START: MOV SP,60H 60H MOV TCON, MOV TCON,00H00H MOV TMOD, MOV TMOD,0D0H0D0H MOV TH1, MOV TH1,00H;T100H;T1初值初值 MOV TL1,MOV TL1,00H00HMOV R

34、0, MOV R0, 00H00HMOV P3, MOV P3, 28H28HSETB TR1;SETB TR1;啟動(dòng)啟動(dòng)T1T1SETB ET1;SETB ET1;開(kāi)開(kāi)T1T1中斷中斷SETB EASETB EA;開(kāi)總中斷;開(kāi)總中斷 MAIN: ACALL DISPMAIN: ACALL DISP SJMP MAIN SJMP MAIN T1INT: INC R0 T1INT: INC R0 RETI RETI DISP: DISP: RET RET三、三、 工作模式工作模式2 2及應(yīng)用及應(yīng)用M0=0,M1=1M0=0,M1=1 、工作原理、工作原理1 1、1616位計(jì)數(shù)器拆成位計(jì)數(shù)器拆成T

35、LxTLx和和THxTHx兩個(gè)部分兩個(gè)部分 TLxTLx:作為計(jì)數(shù)器;:作為計(jì)數(shù)器; THxTHx:用來(lái)保存計(jì)數(shù)初值。:用來(lái)保存計(jì)數(shù)初值。 在程序初始化時(shí),由軟件賦予同樣的初值。在程序初始化時(shí),由軟件賦予同樣的初值。2 2、當(dāng)當(dāng)TLxTLx計(jì)數(shù)溢出,計(jì)數(shù)溢出,THxTHx中的初值由硬件自動(dòng)裝入中的初值由硬件自動(dòng)裝入TLxTLx繼續(xù)計(jì)數(shù)。繼續(xù)計(jì)數(shù)。M0=0, M1=11 1、用于計(jì)數(shù)工作方式時(shí):、用于計(jì)數(shù)工作方式時(shí): 計(jì)數(shù)數(shù)值計(jì)數(shù)數(shù)值 = (2= (28 8 - T0- T0初值初值) ) 計(jì)數(shù)范圍:計(jì)數(shù)范圍:1 1256256(2 28 8 = 256 = 256)2 2、用于定時(shí)工作方式時(shí):

36、、用于定時(shí)工作方式時(shí): 定時(shí)時(shí)間定時(shí)時(shí)間 = (2= (28 8 -T0 -T0初值初值)x12x)x12x晶振周期晶振周期 定時(shí)范圍:定時(shí)范圍:1 1工作周期工作周期 256256工作周期工作周期優(yōu)點(diǎn):優(yōu)點(diǎn):模式模式2 2可省去軟件重裝常數(shù)的語(yǔ)句,定時(shí)時(shí)間精確,特可省去軟件重裝常數(shù)的語(yǔ)句,定時(shí)時(shí)間精確,特 別適用于作串行口波特率發(fā)生器。別適用于作串行口波特率發(fā)生器。 、工作模式、工作模式2 2時(shí)計(jì)數(shù)和定時(shí)范圍時(shí)計(jì)數(shù)和定時(shí)范圍波特率波特率=2=2smodsmod x( x(定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1溢出速率)溢出速率)/32 /32 溢出速率溢出速率= =(計(jì)數(shù)速率)(計(jì)數(shù)速率)/2

37、56(TH1)/256(TH1) 當(dāng)當(dāng)C/T = 0 C/T = 0 時(shí),計(jì)數(shù)速率時(shí),計(jì)數(shù)速率=fosc/12=fosc/12 例:例:利用定時(shí)器利用定時(shí)器T1T1的模式的模式2 2對(duì)外部信號(hào)計(jì)數(shù)。要求每計(jì)滿對(duì)外部信號(hào)計(jì)數(shù)。要求每計(jì)滿150150次,將次,將P1.0P1.0端取反。端取反。 解:解:(1) (1) 選擇模式:選擇模式: T1T1計(jì)數(shù)工作方式為模式計(jì)數(shù)工作方式為模式2 2時(shí):時(shí): TMODTMOD01100000B=60H01100000B=60H ( (不考慮不考慮T0T0的情況的情況) ) (2) (2) 計(jì)算計(jì)算T1T1的計(jì)數(shù)初值:的計(jì)數(shù)初值: X X2 28 8-150-

38、150256-150=106=6AH256-150=106=6AH 因此,因此,TL1TL1的初值為的初值為6AH6AH,重裝初值寄存器,重裝初值寄存器TH1TH1初值為初值為6AH6AH。編程分析:編程分析: 外部信號(hào)由外部信號(hào)由T1(P3.5)T1(P3.5)引腳輸入,每發(fā)生一次負(fù)跳變計(jì)數(shù)引腳輸入,每發(fā)生一次負(fù)跳變計(jì)數(shù)器加器加1 1,每輸入,每輸入150150個(gè)脈沖,計(jì)數(shù)器發(fā)生溢出中斷,中斷服務(wù)個(gè)脈沖,計(jì)數(shù)器發(fā)生溢出中斷,中斷服務(wù)程序?qū)⒊绦驅(qū)1.0P1.0取反一次。取反一次。 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 001BH ; ORG

39、001BH ; 中斷服務(wù)程序入口中斷服務(wù)程序入口 CPL P1.0CPL P1.0RETIRETI ORG 0100H ORG 0100HMAINMAIN:MOV TMODMOV TMOD,#60H ;#60H ;置置T1T1為模式為模式2 2計(jì)數(shù)工作方式計(jì)數(shù)工作方式MOV TL1MOV TL1,#6AH ; #6AH ; 賦初值賦初值MOV TH1MOV TH1,#6AH#6AH MOV IEMOV IE,#88H ; #88H ; 定時(shí)器定時(shí)器T1T1開(kāi)中斷開(kāi)中斷 SETB TR1 SETB TR1 ; ; 啟動(dòng)計(jì)數(shù)器啟動(dòng)計(jì)數(shù)器 HEREHERE:SJMP HERE SJMP HERE ;

40、 ; 等待中斷等待中斷方式方式2 2與方式與方式0 0、1 1的區(qū)別的區(qū)別方式方式 0 0、1 1方式方式 2 2計(jì)數(shù)方式計(jì)數(shù)方式THXTHX和和TLXTLX整體計(jì)數(shù)整體計(jì)數(shù)TLXTLX計(jì)數(shù)計(jì)數(shù),THX,THX保存初值保存初值計(jì)數(shù)溢出計(jì)數(shù)溢出溢出后計(jì)數(shù)器為全溢出后計(jì)數(shù)器為全0 0自動(dòng)加載計(jì)數(shù)初值自動(dòng)加載計(jì)數(shù)初值循環(huán)設(shè)定循環(huán)設(shè)定軟件循環(huán)設(shè)置初值軟件循環(huán)設(shè)置初值增加編增加編程難度程難度自動(dòng)重裝載功能自動(dòng)重裝載功能計(jì)時(shí)精度計(jì)時(shí)精度計(jì)時(shí)精度差計(jì)時(shí)精度差計(jì)時(shí)精確計(jì)時(shí)精確( (用于波特率)用于波特率)計(jì)時(shí)長(zhǎng)度計(jì)時(shí)長(zhǎng)度計(jì)時(shí)長(zhǎng)度長(zhǎng)計(jì)時(shí)長(zhǎng)度長(zhǎng)計(jì)時(shí)長(zhǎng)度短計(jì)時(shí)長(zhǎng)度短四、工作模式四、工作模式3 3及應(yīng)用及應(yīng)用M0=1

41、,M1=1M0=1,M1=1 、工作原理、工作原理1 1、T0T0的的TL0TL0使用原使用原T0T0的各控制位的各控制位(C/T(C/T,GATE, TR0)GATE, TR0),中斷,中斷源源TF0TF0和和INT0(P3.2)INT0(P3.2)引腳,其功能和操作與模式引腳,其功能和操作與模式0 0和模式和模式1 1相同相同-可以工作在定時(shí)器方式或計(jì)數(shù)器方式??梢怨ぷ髟诙〞r(shí)器方式或計(jì)數(shù)器方式。 只有只有T0T0能工作在工作模式能工作在工作模式3 3,而且分成,而且分成TL0TL0和和TH0TH0兩個(gè)獨(dú)兩個(gè)獨(dú)立的立的8 8位計(jì)數(shù)器。位計(jì)數(shù)器。M0=1,M1=1M0=1,M1=1TL0TL0

42、使用原使用原T0T0的所有資源的所有資源 2 2、T0T0的的TH0TH0只可作簡(jiǎn)單的內(nèi)部定時(shí)功能,它占用只可作簡(jiǎn)單的內(nèi)部定時(shí)功能,它占用T1T1的的控制位控制位TR1TR1和中斷標(biāo)志位和中斷標(biāo)志位TF1TF1,同時(shí)也占用了,同時(shí)也占用了T1T1的中斷源。的中斷源。 3 3、T1T1可定義在工作方式可定義在工作方式0 0、方式、方式1 1和方式和方式2 2。但只能用在不需。但只能用在不需要中斷控制的場(chǎng)合。要中斷控制的場(chǎng)合。 工作方式工作方式3 3特別適用于有串行通信,而又需要兩個(gè)獨(dú)立特別適用于有串行通信,而又需要兩個(gè)獨(dú)立的計(jì)數(shù)器的系統(tǒng)。的計(jì)數(shù)器的系統(tǒng)。1 1、用于計(jì)數(shù)工作方式時(shí):、用于計(jì)數(shù)工作

43、方式時(shí): 計(jì)數(shù)數(shù)值計(jì)數(shù)數(shù)值 = (2= (28 8 - T0- T0初值初值) ) 計(jì)數(shù)范圍:計(jì)數(shù)范圍:1 1256256(2 28 8 = 256 = 256)2 2、用于定時(shí)工作方式時(shí):、用于定時(shí)工作方式時(shí): 定時(shí)時(shí)間定時(shí)時(shí)間 = (2= (28 8 -T0 -T0初值初值) )x12xx12x晶振周期晶振周期 定時(shí)范圍:定時(shí)范圍:1 1工作周期工作周期 256256工作周期工作周期 、T0T0在工作模式在工作模式3 3時(shí)計(jì)數(shù)和定時(shí)范圍時(shí)計(jì)數(shù)和定時(shí)范圍在定時(shí)器在定時(shí)器T0T0用作模式用作模式3 3時(shí),時(shí),T1T1仍可設(shè)置為模式仍可設(shè)置為模式0 02 2。 例:例:假設(shè)在一個(gè)用戶系統(tǒng)中,已使

44、用了兩個(gè)外部中斷源,假設(shè)在一個(gè)用戶系統(tǒng)中,已使用了兩個(gè)外部中斷源,并置定時(shí)器并置定時(shí)器T1T1于方式于方式2 2,作串行口波特率發(fā)生器用,現(xiàn)要求,作串行口波特率發(fā)生器用,現(xiàn)要求再增加一個(gè)外部中斷源再增加一個(gè)外部中斷源, , 并由并由P1.0P1.0口輸出一個(gè)口輸出一個(gè)5KHz5KHz的方波的方波( (假設(shè)晶振頻率為假設(shè)晶振頻率為6MHz)6MHz)。 8051INT0INT1外部中斷源外部中斷源0外部中斷源外部中斷源1解:分析解:分析 可把可把T0T0置于工作方式置于工作方式3 3,利用外部引腳利用外部引腳T0T0端作附加的外部端作附加的外部中斷輸入端,把中斷輸入端,把TL0TL0預(yù)置為預(yù)置為0FFH0FFH,這樣在這樣在T0T0端出現(xiàn)由端出現(xiàn)由1 1至至0 0的負(fù)跳變的負(fù)跳變時(shí),時(shí),TL0TL0立即溢出,申請(qǐng)中斷,立即溢出,申請(qǐng)中斷,相當(dāng)于邊沿激活的外部中斷源。相當(dāng)于邊沿激活的外部中斷源。外部中斷源外部中斷源2 在方式在方式3 3下下,TH0,TH0總是作總是作8 8位定時(shí)器用位定時(shí)器用, ,可以靠它來(lái)控制由可以靠它來(lái)控制由P1.0P1.0輸出的輸出的5kHz5kHz方波。方波。 由由P1.0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論