AT89S51單片機的定時器和計數(shù)器ppt課件_第1頁
AT89S51單片機的定時器和計數(shù)器ppt課件_第2頁
AT89S51單片機的定時器和計數(shù)器ppt課件_第3頁
AT89S51單片機的定時器和計數(shù)器ppt課件_第4頁
AT89S51單片機的定時器和計數(shù)器ppt課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第6 6章章 AT89S51 AT89S51單片機的單片機的 定時器定時器/ /計數(shù)器計數(shù)器單片機原理及應用單片機原理及應用 主講人:賀偉主講人:賀偉業(yè)精于勤荒于嬉,行成于思毀于隨業(yè)精于勤荒于嬉,行成于思毀于隨內(nèi)容概要內(nèi)容概要工業(yè)檢測與控制,許多場合都要用到計數(shù)或定時功能。工業(yè)檢測與控制,許多場合都要用到計數(shù)或定時功能。例如,對外部脈沖進行計數(shù),產(chǎn)生精確的定時時間等。例如,對外部脈沖進行計數(shù),產(chǎn)生精確的定時時間等。AT89S51片內(nèi)有兩個可編程的定時器片內(nèi)有兩個可編程的定時器/計數(shù)器計數(shù)器T1、T0,可,可滿足需要。滿足需要。本章介紹定時器本章介紹定時器/計數(shù)器的結(jié)構與功能,計數(shù)器的結(jié)構與功

2、能,2種工作模式和種工作模式和4種工作方式,以及相關的種工作方式,以及相關的2個特殊功能寄存器個特殊功能寄存器TMOD和和TCON各位的定義及其編程,最后介紹定時器各位的定義及其編程,最后介紹定時器/計數(shù)器的編計數(shù)器的編程及應用實例。程及應用實例。實現(xiàn)定時一般有三種方法:實現(xiàn)定時一般有三種方法: 1 1、利用軟件實現(xiàn)延時程序)、利用軟件實現(xiàn)延時程序); ; 優(yōu)點:簡單,控制方便;缺點:優(yōu)點:簡單,控制方便;缺點:CPUCPU效率低。效率低。 2 2、硬件實現(xiàn),專門設計一個單穩(wěn)態(tài)定時器:、硬件實現(xiàn),專門設計一個單穩(wěn)態(tài)定時器: 優(yōu)點:優(yōu)點:CPUCPU效率高;缺點:修改參數(shù)麻煩。效率高;缺點:修改

3、參數(shù)麻煩。 3 3、利用計數(shù)器實現(xiàn)、利用計數(shù)器實現(xiàn)單片機一般利用第三種方法實現(xiàn)單片機一般利用第三種方法實現(xiàn)計數(shù)器計數(shù)器溢出溢出輸入脈沖輸入脈沖1us8位位256us預置數(shù)預置數(shù)AT89S51內(nèi)部設有兩個16位的定時器/計數(shù)器,可用軟件控制。定時器:對機器周期計數(shù), 每過一個機器周期,計數(shù)器內(nèi)容加1 ;計數(shù)器:對外來脈沖進行計數(shù),T0、T1引腳上從高電平到低電平跳變時,計數(shù)器內(nèi)容加1。外來脈沖外來脈沖T0機器周期機器周期片內(nèi)計數(shù)器片內(nèi)計數(shù)器單片機單片機6.1 定時器定時器/計數(shù)器的結(jié)構計數(shù)器的結(jié)構定時器定時器/計數(shù)器結(jié)構如圖計數(shù)器結(jié)構如圖6-1所示,定時器所示,定時器/計數(shù)器計數(shù)器T0由特由特殊

4、功能寄存器殊功能寄存器TH0、TL0構成,定時器構成,定時器/計數(shù)器計數(shù)器T1由特殊由特殊功能寄存器功能寄存器TH1、TL1構成。構成。 圖6-1 AT89S51單片機的定時器/計數(shù)器結(jié)構框圖具有定時器和計數(shù)器2種工作模式,4種工作方式方式0、方式1、方式2和方式3)。屬于增計數(shù)器。TMOD用于選擇定時器/計數(shù)器T0、T1的工作模式和工作方式。TCON用于控制T0、T1的啟動和停止計數(shù),同時包含了T0、T1的狀態(tài)。T0、T1不論是工作在定時器模式還是計數(shù)器模式,都是對脈沖信號進行計數(shù),只是計數(shù)信號的來源不同。計數(shù)器模式是對加在T0P3.4和T1P3.5兩個引腳上的外部脈沖進行計數(shù)見圖6-1)。

5、定時器工作模式是對單片機的時鐘振蕩器信號經(jīng)片內(nèi)12分頻后的內(nèi)部脈沖信號計數(shù)。由于時鐘頻率是定值,所以可根據(jù)計數(shù)值可計算出定時時間。計數(shù)器的起始計數(shù)都是從計數(shù)器初值開始的。單片機復位時計數(shù)器的初值為0,也可用指令給計數(shù)器裝入一個新的初值。AT89S51的定時器/計數(shù)器屬于增1計數(shù)器。二、定時器/計數(shù)器的工作原理 16 16位的定時器位的定時器/ /計數(shù)器實質(zhì)上是一個加計數(shù)器實質(zhì)上是一個加1 1計數(shù)器,計數(shù)器,可實現(xiàn)定時和計數(shù)兩種功能,其功能由軟件控制和可實現(xiàn)定時和計數(shù)兩種功能,其功能由軟件控制和切換。定時器屬硬件定時和計數(shù),是單片機中效率切換。定時器屬硬件定時和計數(shù),是單片機中效率高而且工作靈活

6、的部件。高而且工作靈活的部件。 在定時器在定時器/ /計數(shù)器開始工作之前,計數(shù)器開始工作之前,CPUCPU必須將一必須將一些命令些命令( (稱為控制字稱為控制字) )寫入定時器寫入定時器/ /計數(shù)器。將控制計數(shù)器。將控制字寫入定時器字寫入定時器/ /計數(shù)器的過程叫定時器計數(shù)器的過程叫定時器/ /計數(shù)器的初計數(shù)器的初始化。始化。 在初始化程序中,要將工作方式控制字寫入定在初始化程序中,要將工作方式控制字寫入定時器方式寄存器時器方式寄存器(TMOD)(TMOD),工作狀態(tài)控制字,工作狀態(tài)控制字( (或相關或相關位位) )寫入定時器控制寄存器寫入定時器控制寄存器(TCON)(TCON),賦定時,賦定

7、時/ /計數(shù)初計數(shù)初值給值給TH0(TH1)TH0(TH1)和和TL0(TL1)TL0(TL1)。 1、定時器、定時器/計數(shù)器的定時功能計數(shù)器的定時功能: 計數(shù)器的加計數(shù)器的加1信號由振蕩器的信號由振蕩器的12分頻信號分頻信號產(chǎn)生,即每過一個機器周期,計數(shù)器加產(chǎn)生,即每過一個機器周期,計數(shù)器加1,直至計滿溢出。直至計滿溢出。 定時器的定時時間與系統(tǒng)的時鐘頻率有關。定時器的定時時間與系統(tǒng)的時鐘頻率有關。因一個機器周期等于因一個機器周期等于12個時鐘周期,所以個時鐘周期,所以計數(shù)頻率應為系統(tǒng)時鐘頻率的十二分之一。計數(shù)頻率應為系統(tǒng)時鐘頻率的十二分之一。如果晶振頻率為如果晶振頻率為12MHz,則機器周

8、期為,則機器周期為1s。通過改變定時器的定時初值,并適當。通過改變定時器的定時初值,并適當選擇定時器的長度選擇定時器的長度(8位、位、13位或位或16位位),可,可以調(diào)整定時時間。以調(diào)整定時時間。 2、定時器、定時器/計數(shù)器的計數(shù)功能計數(shù)器的計數(shù)功能: 通過外部計數(shù)輸入引腳通過外部計數(shù)輸入引腳T0(P3.4)和和T1(P3.5)對外部信號計數(shù),外部脈沖的下降沿將觸對外部信號計數(shù),外部脈沖的下降沿將觸發(fā)計數(shù)。計數(shù)器在每個機器周期的發(fā)計數(shù)。計數(shù)器在每個機器周期的S5P2期期間采樣引腳輸入電平,若一個機器周期間采樣引腳輸入電平,若一個機器周期S5P2期間采樣值為期間采樣值為1,下一個機器周期,下一個

9、機器周期S5P2期間采樣值為期間采樣值為0,則計數(shù)器加,則計數(shù)器加1,再下一個,再下一個機器周期機器周期S3P1期間,新的計數(shù)值裝入計數(shù)期間,新的計數(shù)值裝入計數(shù)器。器。 因檢測一個由因檢測一個由1 1至至0 0的跳變需要兩個機器周期,的跳變需要兩個機器周期,故外部信號的最高計數(shù)頻率為時鐘頻率的二十四分故外部信號的最高計數(shù)頻率為時鐘頻率的二十四分之一。如果晶振頻率為之一。如果晶振頻率為12MHz12MHz,則最高計數(shù)頻率為,則最高計數(shù)頻率為0.5MHz0.5MHz。雖然對外部輸入信號的占空比無特殊要求,。雖然對外部輸入信號的占空比無特殊要求,但為了確保給定電平在變化前至少被采樣一次,外但為了確保

10、給定電平在變化前至少被采樣一次,外部計數(shù)脈沖的高電平與低電平保持時間均需在一個部計數(shù)脈沖的高電平與低電平保持時間均需在一個機器周期以上。機器周期以上。 如圖如圖6-10所示,圖中所示,圖中Tcy為機為機器周期。器周期。 各位的功能說明:各位的功能說明:TF1TCON.7, 8FH位)位)-T1溢出標志位。溢出標志位。TF0TCON.5, 8DH位)位)-T0溢出標志位。溢出標志位。TR1TCON.6, 8EH位)位)-T1運行控制位。運行控制位。 0:關閉:關閉T1;1:啟動:啟動T1運行。運行。TR0TCON.4, 8CH位)位)-T0運行控制位。運行控制位。 0:關閉:關閉T0;1:啟動:

11、啟動T0運行。運行。1.1.定時器控制寄存器定時器控制寄存器 定時器控制寄存器定時器控制寄存器TCONTCON的作用是控制定時器的啟動與停止,的作用是控制定時器的啟動與停止,并保存并保存T0T0、T1T1的溢出和中斷標志。的溢出和中斷標志。TCONTCON的格式的格式: : 可按位尋址可按位尋址6.1.1 6.1.1 工作方式寄存器和控制寄存器工作方式寄存器和控制寄存器 AT89S51單片機的定時器為可編程定時器,在定時器工作之單片機的定時器為可編程定時器,在定時器工作之前必須先進行初始化,即將控制命令寫入定時器控制寄存器。前必須先進行初始化,即將控制命令寫入定時器控制寄存器。 定時器方式寄存

12、器定時器方式寄存器TMOD的作用是設置的作用是設置T0、T1的工作方式的工作方式。 TMOD的格式:的格式:2.2.定時器工作方式寄存器定時器工作方式寄存器TMODTMOD各位的功能說明:各位的功能說明:(1) GATE(1) GATE:門控位。:門控位。 GATE=0 GATE=0:軟件啟動定時器,即用指令使:軟件啟動定時器,即用指令使TCONTCON中的中的TR1(TR0) TR1(TR0) 置置1 1即可啟動定時器即可啟動定時器1(1(定時器定時器0)0)。 GATE=1 GATE=1:軟件和硬件共同啟動定時器,即用指令使:軟件和硬件共同啟動定時器,即用指令使TCONTCON中的中的TR

13、1(TR0)TR1(TR0)置置1 1時,只有外部中斷時,只有外部中斷INT0(INT1)INT0(INT1)引腳輸入高電平時才引腳輸入高電平時才能啟動定時器能啟動定時器1(1(定時器定時器0)0)。(2)C/T(2)C/T:功能選擇位。:功能選擇位。 C/T=0 C/T=0時,以定時器方式工作。時,以定時器方式工作。 C/T=1 C/T=1時,以計數(shù)器方式工作。時,以計數(shù)器方式工作。M1 M0工作方式工作方式功能描述功能描述0 0方式方式013位計數(shù)器位計數(shù)器0 1方式方式116位計數(shù)器位計數(shù)器1 0方式方式2自動重裝初值自動重裝初值8位計數(shù)器位計數(shù)器1 1方式方式3定時器定時器0:分為兩個

14、獨立的:分為兩個獨立的8位計數(shù)器位計數(shù)器定時器定時器1:無中斷的計數(shù)器:無中斷的計數(shù)器定時器工作方式選擇位定義定時器工作方式選擇位定義(3) M1、M0:方式選擇位。定時:方式選擇位。定時/計數(shù)器有四計數(shù)器有四種工作方式,由種工作方式,由M1M0進行設置。進行設置。二、二、 定時器工作方式:定時器工作方式:由方式選擇位由方式選擇位M1M1、M0M0設定。設定。計數(shù)外部脈沖個數(shù):計數(shù)外部脈沖個數(shù):1 18192(213)8192(213)定時時間定時時間( (若若T=1T=1s)s):1 1s s8.19ms8.19msfoscfoscT=12/foscT=12/fosc1616位定時位定時/

15、/計數(shù)器。計數(shù)器。 THx8THx8位和位和TLx8TLx8位組成位組成1616位加位加1 1計數(shù)器。計數(shù)器。計數(shù)外部脈沖個數(shù):計數(shù)外部脈沖個數(shù):1 165536(216)65536(216)定時時間定時時間( (若若T=1T=1s)s):1 1s s(65536(65536T=65.54ms)T=65.54ms)T=12/foscT=12/fosc 自動恢復初值自動恢復初值8 8位定時位定時/ /計數(shù)器。計數(shù)器。TLxTLx為為8 8位加位加1 1計數(shù)器,計數(shù)器, THx THx為為8 8位初值暫存器。位初值暫存器。用于需要重復定時和計數(shù)的場合。用于需要重復定時和計數(shù)的場合。最大計數(shù)值:最大

16、計數(shù)值:256 (28)256 (28)最大定時時間最大定時時間( (若若T=1T=1s)s): 256256s sT=12/foscT=12/fosc計數(shù)滿后自動裝入計數(shù)初值。計數(shù)滿后自動裝入計數(shù)初值。省去用戶軟件中重裝初值的程序,精確的定時。省去用戶軟件中重裝初值的程序,精確的定時。 T0T0分成分成2 2個個8 8位定時器:位定時器:TL0TL0定時定時/ /計數(shù)器和計數(shù)器和TH0TH0定時器;定時器; TL0TL0占用占用T0T0控制位:控制位:C/TC/T,TR0TR0,GATEGATE; TH0TH0占用占用T1T1控制位:控制位:TR1TR1、TF1TF1; T1T1不能使用方式

17、不能使用方式3 3工作,常作串口的波特率發(fā)生器使用。工作,常作串口的波特率發(fā)生器使用。foscfosc振蕩器振蕩器T1工作在方式工作在方式1T1工作在方式工作在方式2T1工作在方式工作在方式0T0處于方式處于方式3時,時, T1可定為方式可定為方式0、方式、方式1和方式和方式2,用來作,用來作為串行口的波特率發(fā)生器,或不需要中斷的場合。為串行口的波特率發(fā)生器,或不需要中斷的場合。 4 4種工作方式中,方式種工作方式中,方式0 0與方式與方式1 1基本相同,由于基本相同,由于方式方式0 0是為兼容是為兼容MCS-48MCS-48而設,初值計算復雜,在實際而設,初值計算復雜,在實際應用中,一般不用

18、方式應用中,一般不用方式0 0,而采用方式,而采用方式1 1。 方式方式2 2省去程序中重裝初值的指令,并可產(chǎn)生相當省去程序中重裝初值的指令,并可產(chǎn)生相當精確的定時時間。精確的定時時間。 當當T1T1作串行口波特率發(fā)生器時,作串行口波特率發(fā)生器時,T0T0才設置為方式才設置為方式3 3。 6.4 6.4 定時器定時器/ /計數(shù)器的編程和應用計數(shù)器的編程和應用 AT89S51 AT89S51的定時計數(shù)器是可編程的,因而,在進的定時計數(shù)器是可編程的,因而,在進行定時或計數(shù)之前也要用對其進行初始化。初始化一行定時或計數(shù)之前也要用對其進行初始化。初始化一般應包括以下幾個步驟:般應包括以下幾個步驟:1

19、1、對、對TMODTMOD寄存器賦值,以確定定時器的工作方式。寄存器賦值,以確定定時器的工作方式。2 2置定時計數(shù)器初值,直接將初值寫入寄存器的置定時計數(shù)器初值,直接將初值寫入寄存器的TH0TH0,TL0TL0或或TH1TH1,TL1TL1。3 3根據(jù)需要,對寄存器根據(jù)需要,對寄存器IEIE置初值,開放定時器中斷。置初值,開放定時器中斷。4 4對對TCONTCON寄存器中的寄存器中的TR1TR1或或TR0TR0置位,啟動定時計數(shù)置位,啟動定時計數(shù)器。啟動以后,計數(shù)器即按規(guī)定的工作方式和初值進器。啟動以后,計數(shù)器即按規(guī)定的工作方式和初值進行計數(shù)或開始定時。行計數(shù)或開始定時。定時定時/ /計數(shù)器初

20、值的計算計數(shù)器初值的計算 2計數(shù)器初值的計算 在計數(shù)器模式下,此時計數(shù)器就計數(shù)引腳上到來的脈沖個數(shù),每檢測到一個脈沖下降沿,就加1一次。其計數(shù)脈沖個數(shù)S為:S=M-X 式中,M為計數(shù)器模值,該值和計數(shù)器工作方式有關,在方式0時M為213;在方式1時M為216;在方式2和方式3時M為28。 X是計數(shù)器的計數(shù)初值。 1 1定時器初值的計算定時器初值的計算 在定時器模式下,計數(shù)器由在定時器模式下,計數(shù)器由單片機主脈沖經(jīng)單片機主脈沖經(jīng)1212分頻后計數(shù),分頻后計數(shù),即就是對機器周期進行計數(shù)。即就是對機器周期進行計數(shù)。則定時器定時時間則定時器定時時間t t的公式:的公式: t= t=(M-XM-X) T

21、 T定時初值:定時初值:X=M-t/ TX=M-t/ T式中,式中,M M為模值,和定時器的工為模值,和定時器的工作方式有關作方式有關, ,在方式在方式0 0時時M M為為213213;在方式在方式1 1時時M M為為216216;在方式;在方式2 2和和方式方式3 3時時M M為為28 28 。 T T是機器周期;是機器周期;X X是定時器的定時初值。是定時器的定時初值。 例例2:例:例:T0T0運行于定時器狀態(tài),時鐘振蕩周期為運行于定時器狀態(tài),時鐘振蕩周期為12MHZ12MHZ,要求定時,要求定時100100s s。求不同工作方式時的定時初值。求不同工作方式時的定時初值X X并計算在不同工

22、并計算在不同工 作方式下最大的定時時間作方式下最大的定時時間tmaxtmax。解:解:fosc=12MHz T=1fosc=12MHz T=1s s 由公式由公式 X=M-t/T X=M-t/T 得得 : 方式方式0(130(13位方式位方式) ): X=213-100 X=213-100s/1s/1s=1F9Cs=1F9C當當T0T0的初值的初值=0=0時為最大定時時間時為最大定時時間: tmax=( 213 -0: tmax=( 213 -0)* *1 1 s=8.192mss=8.192ms方式方式1(161(16位方式位方式) ): X=216-100 X=216-100s/1s/1s

23、=FF9CH s=FF9CH tmax=( 216 -0 tmax=( 216 -0)* *1 1 s=65.536ms s=65.536ms 方式方式2 2、3(83(8位方式位方式) ):X=28-100X=28-100s/1s/1s=9CHs=9CH tmax=( 213 -0 tmax=( 213 -0)* *1 1 s=256 s=256 s s 注意:工作方式注意:工作方式0 0的初值裝入方法:的初值裝入方法:1F9CH=0001 1111 1001 1100 B1F9CH=0001 1111 1001 1100 B 可見,可見,TH0=FCHTH0=FCH,TL0=1CHTL0=

24、1CHTL0TL0的低的低5 5位位TH0TH0的的8 8位位MOVMOVTH0TH0,#0FCH#0FCHMOVMOVTL0TL0,#1CH#1CHT=12/foscT=12/fosc定時器初始化編程:定時器初始化編程: 使用定時器工作之前,先寫入控制寄存器,確定使用定時器工作之前,先寫入控制寄存器,確定好定時器工作方式。好定時器工作方式。 初始化編程格式:初始化編程格式:MOV TMOD,# 方式字方式字 ;選擇方式;選擇方式MOV THx,#XH ;裝入;裝入Tx時間常數(shù)時間常數(shù)MOV TLx,#XL(SETB EA) ;開;開Tx中斷中斷(SETB ETx ) SETB TRx ;啟動

25、;啟動Tx定時器定時器需考慮:需考慮:1. 按實際需要選擇定時按實際需要選擇定時/計數(shù)功能;計數(shù)功能; 2. 按時間或計數(shù)長度選擇工作方式;按時間或計數(shù)長度選擇工作方式; 3. 計算時間常數(shù):計算時間常數(shù):計算時間常數(shù)計算時間常數(shù)X(X(計算初值計算初值) ):計數(shù)功能:計數(shù)功能:X= 2n -X= 2n -計數(shù)值計數(shù)值 (n n:8/13/168/13/16) 定時功能:定時功能:X= 2n - t/TX= 2n - t/T (t t:定時時間;:定時時間; T T:機器周期):機器周期)方法方法1:用延時程序?qū)崿F(xiàn):用延時程序?qū)崿F(xiàn)1mS的延時。的延時。 UP:SETB P1.0 LCALL

26、D2MS CLR P1.0 LCALL D2MS SJMP UP方法方法2:用:用T0定時定時1mS,查詢,查詢TF0 確定工作方式確定工作方式 方式方式0 計算初值計算初值 E018H 編程編程 MOV TMOD,#00H SETB TR0LOOP: MOV TH0,#0E0H MOV TL0,#18H JNB TF0,$ CPL P1.0 CLR TF0 SJMP LOOP方法方法3:用:用T0定時定時1mS,中斷。,中斷。 ORG 0000H LJMP MAIN ORG 000BH LJMP AT0 MAIN: MOV TMOD,#00H MOV TH0,#0E0H MOV TL0,#1

27、8H SETB EA SETB ET0 SETB TR0 SJMP $ AT0: MOV TMOD,#00H MOV TH0,#0E0H CPL P1.0 RETIfosc=12MHzfosc=12MHz(1 1T0T0工作方式的確定工作方式的確定 定時時間較長,采用哪一種工作方式?定時時間較長,采用哪一種工作方式? 由各種工作方式的特性,可計算出:由各種工作方式的特性,可計算出: 方式方式0 0最長可定時最長可定時16.384ms;16.384ms;方式方式1 1最長可定時最長可定時131.072ms;131.072ms; 方式方式2 2最長可定時最長可定時512512s s。 欲定時欲定時

28、1 1秒,這個值已經(jīng)超過了定時器的最大定時時間。為此,我們只有秒,這個值已經(jīng)超過了定時器的最大定時時間。為此,我們只有采用定時器定時和軟件計數(shù)相結(jié)合的方法才能解決問題。采用定時器定時和軟件計數(shù)相結(jié)合的方法才能解決問題。 選方式選方式1 1,每隔,每隔100ms100ms中斷一次,中斷中斷一次,中斷1010次為次為1s1s。 (2 2計算計數(shù)初值計算計數(shù)初值 因為:因為:(216-X)(216-X)2 210-6 = 10-1 10-6 = 10-1 所以:所以:X=15536=3CB0HX=15536=3CB0H 因而:因而:TH0=3CHTH0=3CH,TL0=B0H TL0=B0H (3

29、31010次計數(shù)的實現(xiàn)次計數(shù)的實現(xiàn) 采用循環(huán)程序法。采用循環(huán)程序法。(4 4程序設計程序設計 參考程序參考程序 : : ORG 0000H ORG 0000HRESETRESET:LJMP MAIN LJMP MAIN ;上電,轉(zhuǎn)主程序入口;上電,轉(zhuǎn)主程序入口MAINMAIN ORG 000BH ORG 000BH ;T0T0的中斷入口的中斷入口 LJMP IT0P LJMP IT0P ;轉(zhuǎn);轉(zhuǎn)T0T0中斷處理程序中斷處理程序IT0PIT0P ORG 1000H ORG 1000H MAIN MAIN:MOV SP,#60HMOV SP,#60H ;設堆棧指針;設堆棧指針 MOV B,#0AH

30、 MOV B,#0AH ;設循環(huán)次數(shù);設循環(huán)次數(shù)1010次次 MOV TMOD,#01H MOV TMOD,#01H ;設;設T0T0工作在方式工作在方式1 1 MOV TL0,#0B0H MOV TL0,#0B0H ;給;給T0T0設初值設初值 MOV TH0,#3CH MOV TH0,#3CH SETB TR0 SETB TR0 ;啟動;啟動T0T0 SETB ET0 SETB ET0 ;允許;允許T0T0中斷中斷 SETB EA SETB EA ;CPUCPU開放中斷開放中斷 HERE HERE:SJMP HERE SJMP HERE ;等待中斷;等待中斷 ITOP ITOP:MOV T

31、L0,#0B0H MOV TL0,#0B0H ;T0T0中斷子程序,重裝初值中斷子程序,重裝初值 MOV TH0,#3CH MOV TH0,#3CH ; DJNZ B DJNZ B,LOOPLOOP CLR TR0 CLR TR0 ;1s1s定時時間到,停止定時時間到,停止T0T0工作工作 LOOP LOOP:RETI RETI 6.4.4 6.4.4 門控制位門控制位GATEGATE的應用的應用測量脈沖寬度測量脈沖寬度GATE1GATE1可使定時器可使定時器/ /計數(shù)器計數(shù)器T1T1的啟動計數(shù)受的啟動計數(shù)受INT1INT1* *的控的控制,可測量引腳制,可測量引腳INT1INT1* *(P3

32、.3P3.3上正脈沖的寬度上正脈沖的寬度機器周期數(shù))。機器周期數(shù))。參考程序:參考程序: ORG 0000H ORG 0000HRESET: AJMP MAIN RESET: AJMP MAIN ;復位入口轉(zhuǎn)主程序;復位入口轉(zhuǎn)主程序 ORG 0100H ORG 0100H MAIN: MOV SP,#60H MAIN: MOV SP,#60H MOV TMOD,#90H MOV TMOD,#90H ;T1T1為方式為方式1 1定時控制字定時控制字 MOV TL1,#00H MOV TL1,#00H MOV TH1,#00H MOV TH1,#00HLOOP0: JB P3.3,LOOP0 LO

33、OP0: JB P3.3,LOOP0 ;INT1INT1* *高高, ,則循環(huán)則循環(huán) SETB TR1 SETB TR1 ;如;如INT1INT1* *為低,啟動為低,啟動T1T1LOOP1: JNB P3.3,LOOP1 LOOP1: JNB P3.3,LOOP1 ;INT1INT1* *低,則循環(huán)低,則循環(huán)LOOP2: JB P3.3,LOOP2 LOOP2: JB P3.3,LOOP2 ;INT1INT1* *高高, ,則循環(huán)則循環(huán) CLR TR1 CLR TR1 ;停止;停止T1T1計數(shù)計數(shù) MOV A,TL1 MOV A,TL1 ;T1T1計數(shù)值送計數(shù)值送A A 將將A A中的中的T1T1計數(shù)值計數(shù)值 送顯示緩沖區(qū)送顯示緩沖區(qū) 轉(zhuǎn)換成顯示的代碼轉(zhuǎn)換成顯示的代碼 LOOP3: LCALL DIR LOOP3: LCALL DIR ;調(diào)用顯示子程序;調(diào)用顯示子程序DIR,DIR,顯示顯示T1T1計數(shù)值計數(shù)值 AJMP LOOP3 AJMP LOOP3 ; 執(zhí)行程序,使執(zhí)行程序,使INT1INT1

溫馨提示

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

評論

0/150

提交評論