定時計數(shù)器與串行通訊口_第1頁
定時計數(shù)器與串行通訊口_第2頁
定時計數(shù)器與串行通訊口_第3頁
定時計數(shù)器與串行通訊口_第4頁
定時計數(shù)器與串行通訊口_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、定時計數(shù)器與串行通訊口第1頁,共18頁,2022年,5月20日,0點48分,星期三1 定時/計數(shù)器電路K1K2可預(yù)置初值計數(shù)器中斷請求功能選擇啟動控制內(nèi)部時鐘脈沖(定時)外部輸入脈沖(計數(shù))溢出信號計數(shù)脈沖計數(shù)初值1.1定時/計數(shù)器的工作原理 定時/計數(shù)器中的核心部件為可預(yù)置初值計數(shù)器。預(yù)置初值后開始計數(shù),直至計數(shù)值歸0或產(chǎn)生溢出,可申請中斷。 計數(shù)器有加 1 計數(shù)或減1計數(shù)兩種形式。MCS51單片機(jī)的計數(shù)器采用加1計數(shù)。要注意定時器的容量即位數(shù)第2頁,共18頁,2022年,5月20日,0點48分,星期三例:設(shè)TIMER為8位加1計數(shù)器。按要求選擇功能和初值。1. 要求檢測到100個脈沖,發(fā)中

2、斷請求,通知CPU。 選計數(shù)功能,計數(shù)初值為156 。2. 要求定時每隔100s時間,發(fā)一次中斷請求。設(shè)內(nèi)部時鐘周期1s 選定時功能,計數(shù)初值為156 。1.2 定時/計數(shù)器的應(yīng)用1計數(shù)功能: 生產(chǎn)線上產(chǎn)品計數(shù)。每個產(chǎn)品通過得到一個脈沖信號,計數(shù)器記錄脈沖個數(shù),當(dāng)計數(shù)值與設(shè)定值相等,啟動包裝機(jī)器。 檢測轉(zhuǎn)速。電機(jī)轉(zhuǎn)動一圈發(fā)出一個脈沖,計數(shù)器記錄一秒時間內(nèi)脈沖個數(shù),顯示轉(zhuǎn)速。2定時功能: 用于實時控制,定時采樣、定時啟動、計算兩事件的間隔時間等。第3頁,共18頁,2022年,5月20日,0點48分,星期三1.3 8051定時計數(shù)器8051有2個可獨立控制的16位定時器計數(shù)器:T0、T1。分別由8

3、位寄存器TH0、TL0 和 TH1、TL1組成。8051定時計數(shù)器為加1計數(shù)器,加到溢出時變?yōu)?,同時觸發(fā)中斷。定時計數(shù)器有4種工作方式,編程選擇一種。定時計數(shù)器驅(qū)動時鐘有兩種來源:外部時鐘和晶振的12分頻。特殊功能寄存器TCON,TMOD用于控制定時計數(shù)器。頻率不能高于晶振頻率的1/24,且高低電平的寬度必須大于一個機(jī)器周期第4頁,共18頁,2022年,5月20日,0點48分,星期三1.4 8051定時計數(shù)器編程 功能選擇(定時/計數(shù)) 工作方式的選擇即計數(shù)位數(shù)的選擇(8/13/16位) 啟動方式選擇(內(nèi)部軟件啟動/外部硬件啟動) 啟動控制(啟動/停止) 設(shè)置計數(shù)初值(自動重裝/軟件重裝)

4、根據(jù)需要給中斷允許寄存器IE送中斷控制字,以開放或禁止相應(yīng)的中斷,并設(shè)定中斷優(yōu)先級第5頁,共18頁,2022年,5月20日,0點48分,星期三1.5 MCS-51定時計數(shù)器控制寄存器定時器模式寄存器1.TMOD定時器方式寄存器(89H)1)功能選擇位 C/T:=0,定時功能,計數(shù)內(nèi)部機(jī)器周期脈沖;=1,計數(shù)功能,計數(shù)引腳T0(T1)輸入的負(fù)脈沖。2)方式選擇位M1、M0:4種工作方式:13/16/8位3)門控方式選擇位 GATE : =0,非門控方式(內(nèi)部啟動):TRx=1,啟動定時器工作;TRx=0,停止定時器工作。=1,門控方式(外部啟動):TRx=1且引腳INTx=1才啟動。T1T0第6

5、頁,共18頁,2022年,5月20日,0點48分,星期三2. TCON定時器控制寄存器1)啟動控制位 TR0、TR1=0,停止定時器工作=1,啟動定時器工作例:啟動T0:SETBTR02)溢出中斷標(biāo)志位 TF0、TF1定時器溢出使TFx=1,引起中斷請求,CPU響應(yīng)Tx中斷后,自動清0 TFx。也禁止中斷,用軟件檢測TFx,但必須軟件清0。WAIT:JBC TF0,NEXT;檢測T0是否溢出SJMPWAIT ;未溢出,繼續(xù)檢測NEXT: ;溢出,TF0清0,處理溢出第7頁,共18頁,2022年,5月20日,0點48分,星期三1.6 定時器工作方式方式0(13位計數(shù)方式)13位定時/計數(shù)器。 T

6、Hx 8位和TLx低5位組成13位加1計數(shù)器,計數(shù)值范圍:18192(213)計數(shù)外部脈沖個數(shù):18192(213)定時時間(設(shè)晶振為12MHz):1s 8.19ms當(dāng)為定時工作方式時,定時時間的計算公式:(213計數(shù)初值)晶振周期12(213計數(shù)初值)機(jī)器周期第8頁,共18頁,2022年,5月20日,0點48分,星期三方式1(16位計數(shù)方式)16位定時/計數(shù)器。 THx8位和TLx8位組成16位加1計數(shù)器,計數(shù)值范圍:165536(216)計數(shù)外部脈沖個數(shù):165536(216)定時時間(設(shè)晶振為12MHz):1s 65536T= 65.54ms(8位)D15 D0當(dāng)為定時工作方式時,定時時

7、間的計算公式:(216計數(shù)初值)晶振周期12(216計數(shù)初值)機(jī)器周期第9頁,共18頁,2022年,5月20日,0點48分,星期三方式 2(自動重裝入8位計數(shù)方式)自動恢復(fù)初值8位定時/計數(shù)器。TLx為8位加1計數(shù)器,THx為8位初值暫存器。用于需要重復(fù)定時和計數(shù)的場合。最大計數(shù)值:256 (28)最大定時時間(設(shè)晶振為12MHz): 256s(8位)Timer1的溢出時鐘還可用作串口時鐘定時方式時,定時時間的計算公式:(28計數(shù)初值)晶振周期12第10頁,共18頁,2022年,5月20日,0點48分,星期三方式3(8位計數(shù)器)T0分成2個8位定時器:TL0定時/計數(shù)器和TH0定時器TL0占用

8、T0控制位:C/T,TR0,GATE,TF0;TH0占用T1控制位:TR1,TF1;此時Timer1始終打開,且不能用中斷。T1不能使用方式3工作TH0的時鐘只能來源于晶振的12分頻第11頁,共18頁,2022年,5月20日,0點48分,星期三1.7 MCS-51定時器的應(yīng)用定時器初始化編程:使用定時器工作之前,先編程相應(yīng)的控制寄存器,確定好定時器的工作方式。初始化編程格式:MOV TMOD,# 方式字;選擇方式MOV THx,#XH;裝入Tx時間常數(shù)MOV TLx,#XL(SETB EA) ;開Tx中斷(SETB ETx) SETB TRx ;啟動Tx定時器1. 按實際需要選擇定時/計數(shù)功能

9、2. 按時間或計數(shù)長度選擇方式3. 計算時間常數(shù)第12頁,共18頁,2022年,5月20日,0點48分,星期三定時器的溢出處理編程舉例:1)查詢方式:先查詢定時器溢出標(biāo)志,再進(jìn)行溢出處理。 ;定時器初始化WAIT:JBC TFx,PT ;檢測溢出標(biāo)志SJMP WAITPT:MOVTHx,#XH ;重裝時間常數(shù)MOVTLx,#XL ;溢出處理SJMPWAIT2)中斷方式:初始化后執(zhí)行其他任務(wù),中斷服務(wù)程序處理溢出。ORG0000HLJMPMAINORG000BH(001BH);Tx中斷入口LJMPPTSMAIN:;初始化后執(zhí)行其他程序PTS:;溢出中斷服務(wù)程序MOVTHx,#XH;重裝時間常數(shù)M

10、OVTLx,#XLRETI第13頁,共18頁,2022年,5月20日,0點48分,星期三例:由P1.0輸出方波信號,周期為2ms,設(shè)fosc=12MHz。2ms解:每隔1ms改變一次P1.0的輸出狀態(tài)。用T0非門控方式1定時。計算時間常數(shù):X = 216 - t/T = 216 -1000/1 = FC18H(1)查詢方式: START:MOVTMOD,# 01HMOVTL0,# 18HMOVTH0,# 0FCHSETBTR0 LOOP:JBCTF0,PTF0SJMPLOOP PTF0: CPLP1.0MOVTL0,# 18HMOVTH0,# 0FCHSJMPLOOP第14頁,共18頁,202

11、2年,5月20日,0點48分,星期三(2)中斷方式程序 ORG0000HAJMPMAINORG000BHAJMPPT0INTORG0100HMAIN:MOVSP,#60HMOVTMOD,# 01HMOVTL0,# 18HMOVTH0,# 0FCHSETBEASETBET0SETBTR0HERE:SJMPHEREPT0INT:CPLP1.0 MOVTL0,# 18HMOVTH0,# 0FCHRETI第15頁,共18頁,2022年,5月20日,0點48分,星期三例:P1.7驅(qū)動LED亮1秒滅1秒地閃爍,設(shè)時鐘頻率為6MHz。思 路:長定時方法:增加一個軟件計數(shù)器或一個硬件計數(shù)器。若采用硬件方式,可

12、用T0定時每隔200mS溢出,再用T1計數(shù)T0的定時跳變信號P1.0的負(fù)跳變次數(shù),計滿5個跳變?yōu)?秒。 START:MOV TMOD,# 61H MOV TL1,# 0FBH MOV TH1,# 0FBH CLR P1.0 SETB TR1RELOAD:MOV TL0,#0B0H MOV TH0,#3CH SETBTR0 WAIT:JBCTF0,TOVSJMPWAIT TOV:CPLP1.0JNBTF1,RELOADCLR TF1CPL P1.7SJMP RELOAD第16頁,共18頁,2022年,5月20日,0點48分,星期三例:利用GATE門控方式測量正脈沖寬度。解:從INT1(P3.3)

13、引腳輸入被檢測信號,記錄正脈沖的時間包含的機(jī)器脈沖個數(shù)。1)設(shè)晶振12MHz,正脈寬小于65.5ms等待查詢INT1,正脈沖過后,讀出TH1TL1。START:MOV TMOD,#90H MOV TL1,# 0H MOV TH1,# 0HWAIT1:JBP3.3,WAIT1 SETB TR1WAIT2 :JNBP3.3,WAIT2NOP WAIT3 : JBP3.3,WAIT3CLRTR1MOVR0,TL1MOVR1,TH1TR1=1 T1啟動 TR1=0 T1停止INT1正脈沖寬度(R1 28R0)12TOSC第17頁,共18頁,2022年,5月20日,0點48分,星期三2)設(shè)晶振12MHz,正脈沖寬度大于65.5ms,可用中斷記錄TH1、TL1溢出中斷次數(shù)。主程序:START: MOV TMOD, # 90H;初始化AGAIN: MOV TL1 ,# 0H MOV TH1,# 0H MOV R2, # 0 ;R2清零WAIT1: JB P3.3,WAIT1 ;等待上一正脈沖結(jié)束 SETB TR1 ;開定時器1 SETB ET1 ;開T1中斷 SETB EA ;開總中斷WAIT2: JNB P3.3,WAIT2 ;等待正脈沖到來

溫馨提示

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

最新文檔

評論

0/150

提交評論