版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 知識(shí)回顧知識(shí)回顧: : 外部 中斷0(IE0) 外部 中斷1(IE1) 定時(shí) 器0(TF0) 定時(shí) 器1(TF1)串行口TIRIRXTXT1T0INT0INT10110高級(jí)中斷低級(jí)中斷101111100000PX0PT0PX1PT1PSEAESET1EX1ET0EX0中斷標(biāo)志位TCON中斷允許寄存器 IE中斷優(yōu)先寄存器 IPSCON源允許總允許第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 6 6 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 定時(shí)器定時(shí)器/ /計(jì)數(shù)器(計(jì)數(shù)器(Timer/CounterTimer/Counter), ,是單片機(jī)內(nèi)的是單片機(jī)內(nèi)的重要部件,其
2、作用主要包括產(chǎn)生各種時(shí)標(biāo)間隔、記錄外重要部件,其作用主要包括產(chǎn)生各種時(shí)標(biāo)間隔、記錄外部事件的數(shù)量等。部事件的數(shù)量等。AT89S51AT89S51單片機(jī)有單片機(jī)有2 2個(gè)個(gè)1616位的定時(shí)器位的定時(shí)器/ /計(jì)計(jì)數(shù)器、定時(shí)器數(shù)器、定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器0 0(T0T0)和定時(shí)器)和定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1(T1T1)。)。AT89S52AT89S52包含包含3 3個(gè)個(gè)1616位的定時(shí)器位的定時(shí)器/ /計(jì)數(shù)器:定時(shí)器計(jì)數(shù)器:定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器0 0(T0T0),定時(shí)器),定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1(T1T1)、定時(shí)器)、定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器2 2(T2T2)。)。AT89S51
3、AT89S51單片機(jī)還包含有一個(gè)用作看門狗的單片機(jī)還包含有一個(gè)用作看門狗的1414位位定時(shí)器(定時(shí)器(T3T3)。)。第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 6.1 AT89S516.1 AT89S51單片機(jī)的定時(shí)器單片機(jī)的定時(shí)器/ /計(jì)數(shù)器的基本原理計(jì)數(shù)器的基本原理 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的核心是一個(gè)計(jì)數(shù)器的核心是一個(gè)1616位的加位的加1 1計(jì)數(shù)器。計(jì)數(shù)器。 作定時(shí)器時(shí),其計(jì)數(shù)脈沖來(lái)源于時(shí)鐘振蕩器(經(jīng)作定時(shí)器時(shí),其計(jì)數(shù)脈沖來(lái)源于時(shí)鐘振蕩器(經(jīng)1212分頻后分頻后提供)。這個(gè)脈沖的周期稱為單片機(jī)的機(jī)器周期,每一個(gè)機(jī)器提供)。這個(gè)脈沖的周期稱為單片機(jī)的機(jī)器周期,每一個(gè)機(jī)器周期定時(shí)寄存器自
4、動(dòng)加周期定時(shí)寄存器自動(dòng)加1 1,所以定時(shí)器也可看作是計(jì)算機(jī)器周,所以定時(shí)器也可看作是計(jì)算機(jī)器周期的計(jì)數(shù)器。期的計(jì)數(shù)器。 作計(jì)數(shù)器時(shí),其計(jì)數(shù)脈沖來(lái)源于單片機(jī)外部引腳作計(jì)數(shù)器時(shí),其計(jì)數(shù)脈沖來(lái)源于單片機(jī)外部引腳T0T0(或(或T1T1)的脈沖。即的脈沖。即TxTx端口有從端口有從“1 1”到到“0 0”的負(fù)跳變,計(jì)數(shù)器就自動(dòng)加的負(fù)跳變,計(jì)數(shù)器就自動(dòng)加1 1。計(jì)算機(jī)是在每個(gè)機(jī)器周期。計(jì)算機(jī)是在每個(gè)機(jī)器周期S5P2S5P2狀態(tài)時(shí)采樣狀態(tài)時(shí)采樣TxTx端口,當(dāng)前一端口,當(dāng)前一個(gè)機(jī)器周期采樣為個(gè)機(jī)器周期采樣為1 1、后一個(gè)采樣周期采樣為、后一個(gè)采樣周期采樣為0 0時(shí),計(jì)數(shù)器即加時(shí),計(jì)數(shù)器即加一計(jì)數(shù)。計(jì)算機(jī)需
5、用兩個(gè)機(jī)器周期來(lái)識(shí)別一計(jì)數(shù)。計(jì)算機(jī)需用兩個(gè)機(jī)器周期來(lái)識(shí)別1 1次計(jì)數(shù),因而最大次計(jì)數(shù),因而最大計(jì)數(shù)速率為振蕩頻率的計(jì)數(shù)速率為振蕩頻率的1/241/24。第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 6.26.2定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0、T1T1的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) AT89S51AT89S51單片機(jī)的定時(shí)器單片機(jī)的定時(shí)器/ /計(jì)數(shù)器和微處理器的關(guān)系,如圖計(jì)數(shù)器和微處理器的關(guān)系,如圖6-16-1所示,定所示,定時(shí)器時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0由由TH0TH0、TL0TL0構(gòu)成,構(gòu)成,T1T1由由TH1TH1、TL1TL1構(gòu)成。構(gòu)成。 TMODTMOD用于控制和確定各定時(shí)器用于控制和
6、確定各定時(shí)器/ /計(jì)數(shù)器的功能和工作模式。計(jì)數(shù)器的功能和工作模式。TCONTCON用于控制定用于控制定時(shí)器時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0、T1T1的啟動(dòng)和停止計(jì)數(shù),同時(shí)包含定時(shí)的啟動(dòng)和停止計(jì)數(shù),同時(shí)包含定時(shí)/ /計(jì)數(shù)器的狀態(tài)。它計(jì)數(shù)器的狀態(tài)。它們屬于特殊功能寄存器。這些寄存器的內(nèi)容靠軟件設(shè)置。系統(tǒng)復(fù)位時(shí),寄們屬于特殊功能寄存器。這些寄存器的內(nèi)容靠軟件設(shè)置。系統(tǒng)復(fù)位時(shí),寄存器的所有位都被清零。存器的所有位都被清零。 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的計(jì)數(shù)器的T0T0、T1T1的特殊功能寄存器有:方式寄存器的特殊功能寄存器有:方式寄存器TMODTMOD、控制、控制寄存器寄存器TCONTCON、數(shù)據(jù)寄存器。
7、、數(shù)據(jù)寄存器。 P3.5(T1)P3.4(T0)微處理器TCONTMODTH1TL1TH0TL0T1部分T0部分圖圖6-1 6-1 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的結(jié)構(gòu)計(jì)數(shù)器的結(jié)構(gòu)第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 AT89S51AT89S51單片機(jī)有單片機(jī)有2 2個(gè)特殊功能寄存器個(gè)特殊功能寄存器TMODTMOD和和TCON:TMODTCON:TMOD用于設(shè)置用于設(shè)置T/CT/C的工作方式的工作方式;TCON;TCON用于控制定時(shí)器用于控制定時(shí)器T0T0、T1T1的啟的啟動(dòng)與停止動(dòng)與停止, ,并包含了定時(shí)器的狀態(tài)。并包含了定時(shí)器的狀態(tài)。 1.1.定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0、T1T1的
8、方式寄存器的方式寄存器-TMOD-TMOD 定時(shí)器工作方式寄存器定時(shí)器工作方式寄存器TMODTMOD用于選擇定時(shí)器的工作方用于選擇定時(shí)器的工作方式式, ,它的高它的高4 4位控制定時(shí)器位控制定時(shí)器T1,T1,低低4 4位控制定時(shí)器位控制定時(shí)器T0T0。TMODTMOD中中各位的定義如下:各位的定義如下:GATEC/TM1M0GATEC/TM1M0T1T0TMOD 89H 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 其中:其中: :T/CT/C功能選擇位功能選擇位, ,當(dāng)當(dāng) =1=1時(shí)為計(jì)數(shù)方式時(shí)為計(jì)數(shù)方式; ; 當(dāng)當(dāng) =0=0時(shí)為定時(shí)方式。時(shí)為定時(shí)方式。 M1M0M1M0:T/CT/C工作方式
9、定義位工作方式定義位, ,其具體定義方式如表其具體定義方式如表 6 61 1所示。所示。/C T/C T/C T第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 表表6 61 1 定時(shí)定時(shí)/ /計(jì)數(shù)器工作方式計(jì)數(shù)器工作方式 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 GATEGATE:門控制位:門控制位, ,用于控制定時(shí)器的啟動(dòng)是否受外部中用于控制定時(shí)器的啟動(dòng)是否受外部中斷源信號(hào)的影響。斷源信號(hào)的影響。GATE=0GATE=0時(shí)時(shí), ,與外部中斷無(wú)關(guān)與外部中斷無(wú)關(guān), ,由由TCONTCON寄存器中的寄存器中的TRxTRx位控制啟動(dòng)。位控制啟動(dòng)。GATE=1GATE=1時(shí)時(shí), ,由控制位由控制位TRx
10、TRx和和引腳引腳 共同控制啟動(dòng)共同控制啟動(dòng), ,只有在沒(méi)有外部中斷請(qǐng)求信只有在沒(méi)有外部中斷請(qǐng)求信號(hào)的情況下號(hào)的情況下( (即外部中斷引腳即外部中斷引腳 =1=1時(shí)時(shí)),),才允許定時(shí)才允許定時(shí)器啟動(dòng)。器啟動(dòng)。 INTxINTx第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 2.2.定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0、T1T1的控制寄存器的控制寄存器-TCON-TCON TCON TCON控制寄存器各位的定義如下:控制寄存器各位的定義如下: TF1TR1TF0TR0IE1IT1IE0IT0D7 D6 D5 D4 D3 D2 D1 D0 TCON 88H 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器
11、其中:其中: TF0(TF1)TF0(TF1):為:為T0(T1)T0(T1)定時(shí)器溢出中斷標(biāo)志位。當(dāng)定時(shí)器溢出中斷標(biāo)志位。當(dāng)T0(T1)T0(T1)計(jì)數(shù)溢出時(shí)計(jì)數(shù)溢出時(shí), ,由硬件置位由硬件置位, ,并在允許中斷的情況并在允許中斷的情況下下, ,發(fā)出中斷請(qǐng)求信號(hào)。當(dāng)發(fā)出中斷請(qǐng)求信號(hào)。當(dāng)CPUCPU響應(yīng)中斷轉(zhuǎn)向中斷服務(wù)響應(yīng)中斷轉(zhuǎn)向中斷服務(wù)程序時(shí)程序時(shí), ,由硬件自動(dòng)將該位清由硬件自動(dòng)將該位清0 0。 TR0(TR1)TR0(TR1):為:為T0(T1)T0(T1)運(yùn)行控制位。當(dāng)運(yùn)行控制位。當(dāng)TR0(TR1)=1TR0(TR1)=1時(shí)啟動(dòng)時(shí)啟動(dòng)T0(T1);TR0(TR1)=0T0(T1);TR
12、0(TR1)=0時(shí)關(guān)閉時(shí)關(guān)閉T0(T1)T0(T1)。該位由軟件。該位由軟件進(jìn)行設(shè)置。進(jìn)行設(shè)置。 TCONTCON的低的低4 4位與外部中斷有關(guān)位與外部中斷有關(guān), ,可參閱中斷一節(jié)的可參閱中斷一節(jié)的有關(guān)內(nèi)容。有關(guān)內(nèi)容。 TCONTCON寄存器在復(fù)位時(shí)也被清寄存器在復(fù)位時(shí)也被清0 0。 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 6.3 6.3 定時(shí)定時(shí)/ /計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式 MCS-51MCS-51單片機(jī)的單片機(jī)的T/CT/C有有4 4種工作方式種工作方式, ,分別由分別由TMODTMOD寄存器中寄存器中的的M1M1、M0M0兩位的二進(jìn)制編碼所決定。兩位的二進(jìn)制編碼所決定。 1
13、.1.方式方式0 0 當(dāng)當(dāng)M1M0=00M1M0=00時(shí)時(shí),T/C,T/C設(shè)定為工作方式設(shè)定為工作方式0,0,構(gòu)成構(gòu)成1313位的位的T/CT/C。其邏。其邏輯結(jié)構(gòu)如圖輯結(jié)構(gòu)如圖6 63 3所示。在此工作方式下所示。在此工作方式下,T/C,T/C構(gòu)成一個(gè)構(gòu)成一個(gè)1313位的位的計(jì)數(shù)器計(jì)數(shù)器, ,由由THxTHx的的8 8位和位和TLxTLx的低的低5 5位組成位組成,TLx,TLx的高的高3 3位未用位未用, ,滿計(jì)滿計(jì)數(shù)值為數(shù)值為2 21313。T/CT/C啟動(dòng)后立即加啟動(dòng)后立即加1 1計(jì)數(shù)計(jì)數(shù), ,當(dāng)當(dāng)TLxTLx的低的低5 5位計(jì)數(shù)溢出位計(jì)數(shù)溢出時(shí)向時(shí)向THxTHx進(jìn)位進(jìn)位,THx,TH
14、x計(jì)數(shù)溢出則對(duì)相應(yīng)的溢出標(biāo)志位計(jì)數(shù)溢出則對(duì)相應(yīng)的溢出標(biāo)志位TFxTFx置位置位, ,以以此作為定時(shí)器溢出中斷標(biāo)志。當(dāng)單片機(jī)進(jìn)入中斷服務(wù)程序時(shí)此作為定時(shí)器溢出中斷標(biāo)志。當(dāng)單片機(jī)進(jìn)入中斷服務(wù)程序時(shí), ,由內(nèi)部硬件自動(dòng)清除該標(biāo)志。由內(nèi)部硬件自動(dòng)清除該標(biāo)志。第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 圖圖6 63 T/C3 T/C方式方式0 0的邏輯結(jié)構(gòu)圖的邏輯結(jié)構(gòu)圖 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 2. 2. 方式方式1 1 當(dāng)當(dāng)M1M0=01M1M0=01時(shí)時(shí),T/C,T/C設(shè)定為工作方式設(shè)定為工作方式1,1,構(gòu)成構(gòu)成1616位定時(shí)位定時(shí)/ /計(jì)數(shù)計(jì)數(shù)器器, ,其中其中THxTHx作為
15、高作為高8 8位位,TLx,TLx作為低作為低8 8位位, ,滿計(jì)數(shù)值為滿計(jì)數(shù)值為2 21616, ,其余其余同方式同方式0 0類似。其邏輯結(jié)構(gòu)如圖類似。其邏輯結(jié)構(gòu)如圖6 64 4所示。所示。圖圖6 64 T/C4 T/C方式方式1 1的邏輯結(jié)構(gòu)圖的邏輯結(jié)構(gòu)圖 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 3.3.方式方式2 2 當(dāng)當(dāng)M1M0=10M1M0=10時(shí)時(shí),T/C,T/C工作在方式工作在方式2,2,構(gòu)成構(gòu)成1 1個(gè)自動(dòng)重裝個(gè)自動(dòng)重裝載的載的T/C,T/C,滿計(jì)數(shù)值為滿計(jì)數(shù)值為2 28 8。在方式。在方式0 0和方式和方式1 1中中, ,當(dāng)計(jì)數(shù)滿當(dāng)計(jì)數(shù)滿后后, ,若要進(jìn)行下一次定時(shí)若要進(jìn)
16、行下一次定時(shí)/ /計(jì)數(shù)計(jì)數(shù), ,需用軟件向需用軟件向THxTHx和和TLxTLx重重新予置計(jì)數(shù)初值。在方式新予置計(jì)數(shù)初值。在方式2 2中中THxTHx和和TLxTLx被當(dāng)作兩個(gè)被當(dāng)作兩個(gè)8 8位位計(jì)數(shù)器計(jì)數(shù)器, ,計(jì)數(shù)過(guò)程中計(jì)數(shù)過(guò)程中,THx,THx寄存寄存8 8位初值并保持不變位初值并保持不變, ,由由TLxTLx進(jìn)行進(jìn)行8 8位計(jì)數(shù)。計(jì)數(shù)溢出時(shí)位計(jì)數(shù)。計(jì)數(shù)溢出時(shí), ,除產(chǎn)生溢出中斷請(qǐng)求外除產(chǎn)生溢出中斷請(qǐng)求外, ,還自動(dòng)將還自動(dòng)將THxTHx中的初值重新裝到中的初值重新裝到TLxTLx中去中去, ,即重裝載。即重裝載。 除此之外除此之外, ,方式方式2 2也同方式也同方式0 0類似。其邏輯結(jié)
17、構(gòu)如類似。其邏輯結(jié)構(gòu)如圖圖6 65 5所示。所示。 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 圖圖6 65 T/C5 T/C方式方式2 2的邏輯結(jié)構(gòu)圖的邏輯結(jié)構(gòu)圖 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 4.4.方式方式3 3 方式方式3 3只適用于定時(shí)器只適用于定時(shí)器T0T0。當(dāng)定時(shí)器。當(dāng)定時(shí)器T1T1處于方式處于方式3 3時(shí)時(shí)相當(dāng)于相當(dāng)于TR1=0,TR1=0,停止計(jì)數(shù)。停止計(jì)數(shù)。 當(dāng)當(dāng)T0T0工作在方式工作在方式3 3時(shí)時(shí),TH0,TH0和和TL0TL0被拆成被拆成2 2個(gè)獨(dú)立的個(gè)獨(dú)立的8 8位位計(jì)數(shù)器。這時(shí)計(jì)數(shù)器。這時(shí),TL0,TL0既可作為定時(shí)器使用既可作為定時(shí)器使用, ,也可
18、作為計(jì)數(shù)器也可作為計(jì)數(shù)器使用使用, ,它占用了定時(shí)器它占用了定時(shí)器T0T0所使用的控制位所使用的控制位(C/ (C/ 、GATEGATE、TR0TR0、TF0),TF0),其功能和操作與方式其功能和操作與方式0 0或方式或方式1 1完全相同完全相同; ;而而TH0TH0只能作定時(shí)器用只能作定時(shí)器用, ,并且占據(jù)了定時(shí)器并且占據(jù)了定時(shí)器T1T1的兩個(gè)控制信的兩個(gè)控制信號(hào)號(hào)TR1TR1和和TF1TF1。在這種情況下。在這種情況下, ,定時(shí)器定時(shí)器T1T1雖仍可用于方式雖仍可用于方式0 0、1 1、2,2,但不能使用中斷方式。但不能使用中斷方式。 T第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 圖圖6
19、 66 T/C6 T/C方式方式3 3的邏輯結(jié)構(gòu)圖的邏輯結(jié)構(gòu)圖 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 作作 業(yè)業(yè)P107 2、3、4、5第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 知識(shí)回顧知識(shí)回顧: : 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器1 1的方式的方式1 1的邏輯結(jié)構(gòu)圖的邏輯結(jié)構(gòu)圖第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 6.5 AT89S516.5 AT89S51單片機(jī)的定時(shí)器單片機(jī)的定時(shí)器/ /計(jì)數(shù)器編程和應(yīng)用計(jì)數(shù)器編程和應(yīng)用6.5.1 6.5.1 定時(shí)器定時(shí)器/ /計(jì)數(shù)器溢出率的計(jì)算計(jì)數(shù)器溢出率的計(jì)算 定時(shí)器/計(jì)數(shù)器運(yùn)行前,在其中預(yù)先置入的常數(shù),稱為定時(shí)常數(shù)或計(jì)數(shù)常數(shù)(TC)。由于計(jì)
20、數(shù)器是加1(向上)計(jì)數(shù)的,故而預(yù)先置入的常數(shù)均應(yīng)為補(bǔ)碼。其中:t定時(shí)時(shí)間。 Tc機(jī)器周期。 fosc晶體振蕩器頻率。 L計(jì)數(shù)器的長(zhǎng)度。 對(duì)于T0及T1: 方式0 L=13 213=8192 方式1 L=16 216=65536 方式2 L=8 28=256 對(duì)于T2: L=16 216=65536)2(12)2(TCfTCTtLOSCLC第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 TCTC定時(shí)器定時(shí)器/ /計(jì)數(shù)器初值,即定時(shí)常數(shù)或計(jì)數(shù)常數(shù)。計(jì)數(shù)器初值,即定時(shí)常數(shù)或計(jì)數(shù)常數(shù)。定時(shí)時(shí)間的倒數(shù)即為溢出率,即定時(shí)時(shí)間的倒數(shù)即為溢出率,即根據(jù)時(shí)間的定時(shí)時(shí)間根據(jù)時(shí)間的定時(shí)時(shí)間t,t,計(jì)算出計(jì)算出TCTC值
21、,并將其轉(zhuǎn)換成二進(jìn)制數(shù)值,并將其轉(zhuǎn)換成二進(jìn)制數(shù)TCBTCB,然后再分別,然后再分別送入送入THiTHi、TLiTLi(對(duì)于(對(duì)于T0T0,i i=0=0;對(duì)于;對(duì)于T1T1,i i=1=1)。)。對(duì)于定時(shí)器對(duì)于定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0/T1T0/T1: 方式方式0 0時(shí):時(shí):TCB=TCH+TCLTCB=TCH+TCL,TCHTCH高高8 8位,位,TCLTCL低低5 5位位 MOV MOV THiTHi,#TCH #TCH ;送高送高8 8位位 MOV MOV TLiTLi,#TCL #TCL ;送低送低5 5位位 方式方式1 1時(shí):時(shí):TCB=TCH+TCLTCB=TCH+TCL,TC
22、HTCH高高8 8位,位,TCLTCL低低8 8位位 MOV MOV THiTHi,#TCH #TCH ;送高;送高8 8位位 MOV MOV TLiTLi,#TCL #TCL ;送低;送低8 8位位 方式方式2 2時(shí):時(shí):TC8TC8位位 MOV MOV THiTHi,#TCB#TCB MOV MOV TLiTLi,#TCB#TCB第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 6.5.2 6.5.2 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的編程計(jì)數(shù)器的編程 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的編程可分為以下幾步:計(jì)數(shù)器的編程可分為以下幾步:1 1)寫)寫TMODTMOD,只能用字節(jié)尋址。,只能用字節(jié)尋址。 設(shè)置定時(shí)器
23、設(shè)置定時(shí)器/ /計(jì)數(shù)器的工作方式(計(jì)數(shù)器的工作方式(M1M1,M0M0)、功能選擇)、功能選擇( )及是否使用門控()及是否使用門控(GATEGATE)。)。2 2)將時(shí)間常數(shù)或計(jì)數(shù)常數(shù)寫入)將時(shí)間常數(shù)或計(jì)數(shù)常數(shù)寫入THiTHi及及TLiTLi,也只能用字節(jié)尋址。,也只能用字節(jié)尋址。 根據(jù)上面的計(jì)算結(jié)果寫入根據(jù)上面的計(jì)算結(jié)果寫入THiTHi及及TLiTLi。3 3)啟動(dòng)定時(shí)或計(jì)數(shù),即寫)啟動(dòng)定時(shí)或計(jì)數(shù),即寫TCONTCON,用字節(jié)尋址或用位尋址。如:,用字節(jié)尋址或用位尋址。如: SETB TRi SETB TRi ;啟動(dòng)定時(shí)器;啟動(dòng)定時(shí)器 CLR TRi CLR TRi ;停止定時(shí)器;停止定時(shí)
24、器4 4)定時(shí)器中斷開(kāi)放和禁止,即寫)定時(shí)器中斷開(kāi)放和禁止,即寫IEIE。如:。如: SETB ETi SETB ETi ;允許中斷;允許中斷ETiETi SETB EA SETB EA ;開(kāi)放中斷;開(kāi)放中斷 CLR ETi CLR ETi ;禁止中斷;禁止中斷ETi ETi CLR EA CLR EA ;關(guān)閉中斷;關(guān)閉中斷 TC/第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 例例6-1使用定時(shí)器使用定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T1的方式的方式1,設(shè)定,設(shè)定1ms定時(shí)。在定時(shí)。在P1.0引腳上產(chǎn)生周期引腳上產(chǎn)生周期為為2ms的方波輸出。晶體振蕩器的頻率為的方波輸出。晶體振蕩器的頻率為fosc=6MHz。
25、解:解:(1)定時(shí)常數(shù)計(jì)算)定時(shí)常數(shù)計(jì)算振蕩器的頻率振蕩器的頻率fosc=6MHz=6106Hz,計(jì)數(shù)器長(zhǎng)度,計(jì)數(shù)器長(zhǎng)度L=16,2L=216=65536。 定時(shí)時(shí)間定時(shí)時(shí)間t=1ms=110-3s。定時(shí)常數(shù)定時(shí)常數(shù)TC轉(zhuǎn)換成二進(jìn)制轉(zhuǎn)換成二進(jìn)制TCB=1111 1110 0000 1100B=0FE0CH所以所以TCH=0FEH(高(高8位),位),TCL=0CH(低(低8位)。位)。(2)TMOD的設(shè)定(即控制字)的設(shè)定(即控制字)定時(shí)器T0(無(wú)關(guān))M01M10TC/0,定時(shí)GATE0,不用門控控制字為 10H00000000第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 (3)編程)編程ORG
26、000BH;T0中斷矢量地址中斷矢量地址AJMPINQPORG0100H;主程序入口;主程序入口MOVSP,#60H;堆棧設(shè)置;堆棧設(shè)置MOVTMOD,#10H;寫控制字;寫控制字MOVTH1,#0FEH;寫定時(shí)常數(shù);寫定時(shí)常數(shù)MOVTL1,#0CHSETBTR1;啟動(dòng);啟動(dòng)T1SETBET1;允許;允許T1中斷中斷SETBEA;開(kāi)放;開(kāi)放CPU中斷中斷SJMP$ORG00XXH;中斷服務(wù)程序;中斷服務(wù)程序INQP: MOVTH1,#0F0H;重寫定時(shí)常數(shù);重寫定時(shí)常數(shù)MOVTL1,#0CHCPLP1.0;P1.0變反輸出變反輸出RETI;中斷返回;中斷返回第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器
27、計(jì)數(shù)器 例例6-2 6-2 借助于單片機(jī)內(nèi)的定時(shí)器借助于單片機(jī)內(nèi)的定時(shí)器/ /計(jì)數(shù)器,測(cè)量人體心率。計(jì)數(shù)器,測(cè)量人體心率。 假設(shè)單片機(jī)的晶振頻率為假設(shè)單片機(jī)的晶振頻率為6MHz6MHz。 測(cè)量頻率測(cè)量頻率 : 由單片機(jī)由單片機(jī)T0T0實(shí)現(xiàn)實(shí)現(xiàn)1 1分鐘的定時(shí),分鐘的定時(shí),T1T1負(fù)責(zé)對(duì)外計(jì)數(shù),負(fù)責(zé)對(duì)外計(jì)數(shù),1 1分鐘定時(shí)分鐘定時(shí)時(shí)間到,讀出時(shí)間到,讀出T1T1計(jì)數(shù)器中的數(shù)值就是心率。計(jì)數(shù)器中的數(shù)值就是心率。具體做法:具體做法: T0T0和和T1T1都選方式都選方式1 1,這樣最大定時(shí)時(shí)間,這樣最大定時(shí)時(shí)間 t=65536x2=131.072mst=65536x2=131.072ms便于計(jì)算讓計(jì)
28、數(shù)器定時(shí)便于計(jì)算讓計(jì)數(shù)器定時(shí)100ms100ms,選,選30H30H,31H31H分別為秒和分存儲(chǔ)單分別為秒和分存儲(chǔ)單元。元。30H30H單元計(jì)數(shù)單元計(jì)數(shù)1010次滿次滿1 1秒,秒,31H31H單元計(jì)數(shù)單元計(jì)數(shù)6060次滿次滿1 1分。分。 分析:分析: 兩種方法:頻率測(cè)量法和周期測(cè)量法。兩種方法:頻率測(cè)量法和周期測(cè)量法。第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 l 預(yù)置預(yù)置: (TH0TH0)=3CH=3CH,(,(TL0TL0)=0B0H=0B0Hs66C10210612TD7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 T1T
29、0l TMOD設(shè)置設(shè)置:MOV TMOD,#51Hl 時(shí)間常數(shù)計(jì)算:晶體振蕩器為時(shí)間常數(shù)計(jì)算:晶體振蕩器為6MHz,基本定時(shí)時(shí)間為,基本定時(shí)時(shí)間為100ms, 機(jī)器周期機(jī)器周期Tc為為: l 設(shè)置初值為設(shè)置初值為x x=21650000=15536=3CB0H第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 一個(gè)周期啟動(dòng)定時(shí)器T1計(jì)數(shù)器計(jì)數(shù)0TNIa)89S51P3.2P3.5T1外部計(jì)數(shù)脈沖b)1INT0 測(cè)周期測(cè)周期 :(1 1)定時(shí)器)定時(shí)器T0T0設(shè)置設(shè)置利用定時(shí)器利用定時(shí)器/ /計(jì)數(shù)器測(cè)定周期計(jì)數(shù)器測(cè)定周期 a) a) 波形圖案波形圖案 b)b)連接示意圖連接示意圖 為高電平時(shí),啟動(dòng)定時(shí)器
30、;定時(shí)器為高電平時(shí),啟動(dòng)定時(shí)器;定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T1T1為計(jì)數(shù)器,為計(jì)數(shù)器, T1T1的電平由的電平由1 1到到0 0,計(jì)數(shù)器計(jì)數(shù)。,計(jì)數(shù)器計(jì)數(shù)。 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 l定時(shí)器定時(shí)器T0T0的的TMODTMOD的設(shè)置的設(shè)置: GATEM1M01001TC/門控門控 定時(shí)器定時(shí)器 方式方式1 1控制字為控制字為9H9H。 s66C10210612T5000010210100 x26316l時(shí)間常數(shù)計(jì)算:晶體振蕩器為時(shí)間常數(shù)計(jì)算:晶體振蕩器為6MHz6MHz,基本定時(shí)時(shí)間為,基本定時(shí)時(shí)間為100ms100ms, 機(jī)器周期機(jī)器周期TcTc為為設(shè)置初值為設(shè)置初值為x x
31、x=21650000=15536=3CB0H第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 Tl預(yù)置預(yù)置: (TH0)=3CH,(TL0)=0B0H(2 2)計(jì)數(shù)器設(shè)置)計(jì)數(shù)器設(shè)置 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T1T1為計(jì)數(shù)器。計(jì)數(shù)值為為計(jì)數(shù)器。計(jì)數(shù)值為2 2,當(dāng)計(jì)數(shù),當(dāng)計(jì)數(shù)1 1時(shí),啟時(shí),啟動(dòng)定時(shí)器;當(dāng)計(jì)數(shù)動(dòng)定時(shí)器;當(dāng)計(jì)數(shù)2 2時(shí),中斷計(jì)數(shù)器時(shí),中斷計(jì)數(shù)器T1T1,并停止定時(shí)器,并停止定時(shí)器T0T0的定的定時(shí);中斷方式,其優(yōu)先級(jí)高于定時(shí)器時(shí);中斷方式,其優(yōu)先級(jí)高于定時(shí)器T0T0。l計(jì)數(shù)器計(jì)數(shù)器T1T1的的TMODTMOD的設(shè)置:的設(shè)置: C/GATE M1 M0 0 1 0 1 計(jì)數(shù)器計(jì)數(shù)器
32、方式方式1 1控制字為控制字為5H5H。l計(jì)數(shù)初值為:計(jì)數(shù)初值為:FFFEHFFFEH,l預(yù)置:(預(yù)置:(TH1TH1)=0FFH=0FFH,(,(TL0TL0)=0FEH=0FEH。MOV TMODMOV TMOD,#59H#59H第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 注:課本上其余例子作為課堂練習(xí)注:課本上其余例子作為課堂練習(xí)小結(jié):小結(jié): 測(cè)量低頻信號(hào),為了快速測(cè)量又保證測(cè)量精測(cè)量低頻信號(hào),為了快速測(cè)量又保證測(cè)量精度,一般采用測(cè)周法。度,一般采用測(cè)周法。 高頻信號(hào)采用測(cè)頻法。高頻信號(hào)采用測(cè)頻法。問(wèn)題問(wèn)題1 1:頻率測(cè)量和周期測(cè)量的界線如何確定?:頻率測(cè)量和周期測(cè)量的界線如何確定?問(wèn)題
33、問(wèn)題2 2:如何保證測(cè)量結(jié)果的準(zhǔn)確性?:如何保證測(cè)量結(jié)果的準(zhǔn)確性?第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 總結(jié)總結(jié) 要正確使用定時(shí)器要正確使用定時(shí)器/ /計(jì)數(shù)器,首先要根據(jù)要求確定計(jì)數(shù)器,首先要根據(jù)要求確定選用那個(gè)定時(shí)器選用那個(gè)定時(shí)器/ /計(jì)數(shù)器,工作在什么方式;如何啟計(jì)數(shù)器,工作在什么方式;如何啟動(dòng)定時(shí)器動(dòng)定時(shí)器/ /計(jì)數(shù)器,如何停止定時(shí)器計(jì)數(shù)器,如何停止定時(shí)器/ /計(jì)數(shù)器、如何利計(jì)數(shù)器、如何利用定時(shí)器用定時(shí)器/ /計(jì)數(shù)器的中斷來(lái)進(jìn)行信號(hào)測(cè)量,都是需要計(jì)數(shù)器的中斷來(lái)進(jìn)行信號(hào)測(cè)量,都是需要考慮的問(wèn)題。考慮的問(wèn)題。 第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 測(cè)頻程序測(cè)頻程序:MOV TMOD,#51H ;寫控制字寫控制字MOV TH0,#3CH ;寫定時(shí)常數(shù)寫定時(shí)常數(shù)MOV TL0,#0B0HMOV TH1,#00H ; 對(duì)心臟電信號(hào)脈沖進(jìn)行計(jì)數(shù)對(duì)心臟電信號(hào)脈沖進(jìn)行計(jì)數(shù)MOV TL1,#00HMOV 30H,#00H ; 秒存放單元秒存放單元 MOV 31H,#00H ;分存放單元分存放單元MOV 32H,#00H ; 心率存放單元心率存放單元SETB TR0 ;啟動(dòng)啟動(dòng)T0T0定時(shí)定時(shí)SETB TR1 ;啟動(dòng)啟動(dòng)T T計(jì)數(shù)計(jì)數(shù)ACALL TEST ; 調(diào)用心率測(cè)量程序調(diào)用心率測(cè)量程序MOV 32H,TL1 ;將測(cè)量結(jié)果存放在將測(cè)量結(jié)果存放在32H32H單元單元SJM
最新文檔
- 二零二五版社區(qū)物業(yè)設(shè)施設(shè)備定期檢查與維護(hù)委托管理服務(wù)合同3篇
- 二零二五版水電工程勞務(wù)分包與施工工藝規(guī)范合同2篇
- 河塘清淤回填施工方案三篇
- 廣東省室內(nèi)裝飾裝修工程施工合同范本
- 攤位租賃合同篇
- 2025版寵物醫(yī)院消毒與疾病預(yù)防消殺合同范本
- 2025年度個(gè)人教育貸款債權(quán)轉(zhuǎn)讓與學(xué)業(yè)支持服務(wù)協(xié)議3篇
- 木材運(yùn)輸途中的保險(xiǎn)合同
- 住宅小區(qū)裝修延期合同
- 零售店鋪物業(yè)承租居間協(xié)議
- 社會(huì)系統(tǒng)研究方法的重要原則
- 重癥醫(yī)學(xué)科健康宣教手冊(cè)
- 2022版《義務(wù)教育英語(yǔ)課程標(biāo)準(zhǔn)》解讀培訓(xùn)課件
- 科技進(jìn)步類現(xiàn)代軌道交通綜合體設(shè)計(jì)理論與關(guān)鍵技術(shù)公
- 五個(gè)帶頭方面談心談話范文三篇
- 互聯(lián)網(wǎng)的發(fā)展歷程
- 初一英語(yǔ)英語(yǔ)閱讀理解專項(xiàng)訓(xùn)練15篇
- 部編人教版五年級(jí)道德與法治下冊(cè)全冊(cè)課件(完整版)
- 廣西貴港市2023年中考物理試題(原卷版)
- 外觀質(zhì)量評(píng)定報(bào)告
- 窒息的急救解讀課件
評(píng)論
0/150
提交評(píng)論