版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章MCS-51單片機的定時/計數(shù)器
6.1定時/計數(shù)器的結構和工作原理6.2定時/計數(shù)器的控制寄存器6.3定時/計數(shù)器的方式6.4定時/計數(shù)器的應用6.1定時/計數(shù)器的結構和工作原理
圖6-1單片機的定時/計數(shù)器結構框圖
MCS-51單片機的兩個定時/計數(shù)器都屬于增1計數(shù)器,具有定時和計數(shù)功能。1.計數(shù)功能。定時/計數(shù)器的計數(shù)是指對外部事件計數(shù)。外部事件以脈沖信號的形式來表示,計數(shù)的實質是對脈沖信號進行計數(shù)。外部事件脈沖信號通過引腳T0(P3.4)或T1(P3.5)輸入給單片機內部的定時/計數(shù)器,負跳變有效。在收到有效的負跳變信號后,定時/計數(shù)器在初值基礎上進行加1操作。單片機復位后計數(shù)器的初值為0,可通過指令給計數(shù)器裝入一個新的初值。2.定時功能。定時/計數(shù)器的定時功能也是通過計數(shù)來實現(xiàn)的。當定時/計數(shù)器工作在定時方式下時,將對單片機內部的時鐘振蕩器信號經片內12分頻后的內部脈沖信號計數(shù)。由于一個機器周期等于12個振蕩周期,因此,在定時方式下,定時/計數(shù)器對內部機機器周期脈沖計數(shù),由于時鐘頻率是定值,,所以可根據計數(shù)值計算出定時時間。6.2定時/計數(shù)器的控制寄存器
1.方式控制寄存器TMODTMOD是一個8位的特殊功能寄存器,字節(jié)地址為89H,不可位尋址,其低4位用于定時/計數(shù)器0,高4位用于定時/計數(shù)器1,其格式如圖6-2所示,各位定義如下:D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT02.定時/計數(shù)器控制寄存器TCONTCON也是一個8位的特殊功能寄存器,字節(jié)地址為88H,可位尋址,其格式如圖6-3所示。在第5章中介紹了與外部中斷有關的低4位,在此只介紹與定時/計數(shù)器有關的高4位。6.3定時/計數(shù)器的方式6.3.1方式0
當M1M0為00時,定時器計數(shù)器被設置為方式0,是一個13位的計數(shù)器,16位的寄存器(TH0、TL0、TH1、TL1)只用了TH0(TH1)8位和TL0(TL1)的低5位,TL0(TL1)的高3位不用。當TL0(TL1)計數(shù)溢出時則向TH0(TH1)溢出,TH0(TH1)計數(shù)溢出則把TCON中的溢出標志位TF0(TF1)置1。在方式0下,定時/計數(shù)器0和定時器/計數(shù)器T1的邏輯結構和操作是完全相同的,下面以定時/計數(shù)器1為例說明其操作方法,其邏輯結構如圖6-4所示。圖6-4定時/計數(shù)器方式0邏輯結構圖對一次溢出而言,其定時時間為:(213-定時/計數(shù)器初值)×機器周期或(213-定時/計數(shù)器初值)×12/fosc最小定時時間為:[213-(213-1)]×12/fosc最長定時時間為:(213-0)×12/fosc當=1時,多路開關打在下面,連接T1引腳,此時,定時/計數(shù)器1工作在計數(shù)模數(shù),對外部輸入脈動沖計數(shù)。對一次溢出而言,其計數(shù)值范圍為:1~213(8192)。6.3.2方式1
當M1M0為01時,定時/計數(shù)器被設置為方式1。在方式1下,定時/計數(shù)器0和定時/計數(shù)器1的邏輯結構和操作是完全相同。兩個定時/計數(shù)器都是16位計數(shù)器,由TH0(TH1)8位和TL0(TL1)8位構成,工作原理和工作過程與方式0時完全相同,在此不再贅述。
對一次溢出而言,其定時時間為:
(216-定時/計數(shù)器初值)×機器周期或(216-定時/計數(shù)器初值)×12/fosc則最小定時時間為:[216-(216-1)]×12/fosc最長定時時間為:(216-0)×12/fosc計數(shù)值范圍為:1~216(65536)6.3.3方式2
當M1M0為10時,定時/計數(shù)器被設置為方式2。在方式2下,定時/計數(shù)器1和定時/計數(shù)器0的邏輯結構和操作完全相同,均為可重置初值的8位計數(shù)器,以定時/計數(shù)器1為例,其邏輯結構如圖6—5所示。圖6-5定時/計數(shù)器方式0邏輯結構圖
在方式2下,以TL1(TL0)作為8位計數(shù)器,以TH1(TH0)作為預置寄存器,用來保存初值。當TL1(TL0)計數(shù)滿溢出時,硬件在將溢出標志位TF1置1的同時,還自動將TH1(TH0)保存的初值送入TL1(TL0)中,使定時/計數(shù)器又開始新一輪的計數(shù)。
對一次溢出而言,其定時時間為:(28-定時/計數(shù)器初值)×機器周期或(28-定時/計數(shù)器初值)×12/fosc則最小定時時間為:[28-(28-1)]×12/fosc最長定時時間為:(28-0)×12/fosc計數(shù)值范圍為:1~28(256)6.3.4方式3
在方式3下,定時/計數(shù)器1和定時/計數(shù)器0的設置和使用是不同的。方式3只適用于定時/計數(shù)器0,定時/計數(shù)器1不能工作在方式3下。當將定時/計數(shù)器1設置為方式3時相當于使TR1=0,它將停止工作。1.方式3下的定時/計數(shù)器0圖6-6定時/計數(shù)器0方式3邏輯結構圖2.方式3下的定時/計數(shù)器1
當將定時/計數(shù)器1設為方式3時,它將停止工作。在定時/計數(shù)器0工作在方式3時,定時/計數(shù)器1仍可工作在方式0~2,但是由于`TR1、TF1均由定時/計數(shù)器0使用,定時/計數(shù)器`1一般作為串行口的波特率發(fā)生器使用。在實際使用中,常把定時/計數(shù)器1設置為方式2作為串行口的波特率發(fā)生器來用。邏輯結構如圖6-7所示。
圖6-7定時/計數(shù)器0方式3時定時/計數(shù)器1的工作邏輯結構圖。
圖6-7定時/計數(shù)器0方式3時定時/計數(shù)器1的工作邏輯結構圖6.4定時/計數(shù)器的應用6.4.1方式0的應用
例6.1選用定時/計數(shù)器1方式0產生500μs定時,在P1.1引腳上輸出周期為1ms的方波,設晶振頻率fosc=6MHz。(1)計算定時/計數(shù)器的初值
機器周期=2μs
設需要裝入T1的初值為X,則有(213-X)×2=500,可得X=7942D=1000000000010B,低五位送入TL1的低五位,高八位送入TH1,即(TL1)=00110B=06H,(TH1)=11111000B=F8H(2)初始化程序設計
根據題意,對TMOD進行始化。GATE=0,用TR1控制定時器的啟動和停止,=0,設為定時工作模式,M1M0=00,設為方式0,定時/計數(shù)器0不用,TMOD低四位置零即可,則(TMOD)=00H(3)程序設計程序的實現(xiàn)可以查用查詢方式或中斷方式。采用查詢方式,參考程序如下:ORG0000H
LJMPMAIN
ORG0300HMAIN:MOVTMOD,#00H;對TMOD初始化
MOVTH1,#0F8H;設置計數(shù)初值MOVTL1,#06HMOVIE,#00H;禁止中斷SETBTR1;啟動T1LOOP:JBCTF1,ZCZ;查詢計數(shù)是否溢出
AJMPLOOPZCZ:CLRTR1;停止T1MOVTL1,#06H;重置計數(shù)初值MOVTH1,#0F8HCLPP1.1;輸出取反SETBTR1;啟動T1AJMPLOOP;重復循環(huán)若采用中斷方式,參考程序如下:ORG0000H
LJMPMAINORG001BH;定時/計數(shù)器1的中斷服務程序入地址
AJMPZCZ
ORG0300HMAIN:MOVTMOD,#00H;對TMOD初始化
MOVTH1,#0F8H;設置計數(shù)初值MOVTL1,#06HSETBET1;允許T1中斷SETBEA;總中斷允許SETBTR1;啟動T1$:SJMP$;等待中斷ZCZ:CLRTR1;T1中斷服務子程序,停止T1MOVTL1,#06H;重置計數(shù)初值MOVTH1,#0F8HCLPP1.1;輸出取反SETBTR1;啟動T1RETI;中斷返回6.4.2方式1的應用
方式1是16位的定時/計數(shù)器,初值的計算較方式0簡單,應用較廣。
例6-2假設系統(tǒng)時鐘頻率為12MHz,使用定時/計數(shù)器0工作在方式1,在P1.0端輸出周期為20ms的方波。(1)計算定時/計數(shù)器的初值
要輸出周期20ms的方波,只需在P1.0引腳每隔10ms交替輸出高、低電平即可,因此定時時間為10ms。機器周期=1μs。設計數(shù)初值為X,則有
(216-X)×1=10000,X=55536D=0D8F0H。
低8位送TL0,高八位送TH0,即(TL0)=0F0H,(TH0)=0D8H。
(2)對TMOD初始化
由題意,GATE=0,=0,M1M0=01,定時/計數(shù)器1不用,TMOD高4位置0,則(TMOD)=01H。(3)程序設計采用中斷方式實現(xiàn),參考程序如下:ORG0000H
LJMPMAINORG000BH;定時/計數(shù)器0的中斷服務程序入地址
LJMPZCZ
ORG0300HMAIN:MOVTMOD,#01H;對TMOD初始化
MOVTH0,#0D8H;設置計數(shù)初值MOVTL0,#0F0HSETBET0;允許T0中斷SETBEA;總中斷允許SETBTR0;啟動T0HERE:AJMPHERE;等待中斷ZCZ:CLRTR0;T0中斷服務子程序,停止T0MOVTL0,#0D8H;重置計數(shù)初值MOVTH0,#0F0HCLPP1.0;輸出取反SETBTR0;啟動T0RETI;中斷返回6.4.3方式2的應用
方式2是可重裝初值的8位定時/計數(shù)器,這種方式可以免去用戶在計數(shù)溢出后用指令重裝初值的麻煩。
例6-3使用定時/計數(shù)器1工作在方式2下,對外部信號計數(shù),要求每計滿100個數(shù),進行累加器加1操作。(1)計算定時/計數(shù)器的初值
設計數(shù)初值為X,則(28-X)=100,X=156=9CH。所以,(TL1)=9CH,(TH1)=9CH。(2)對TMOD初始化
由題意,外部信號由T1(P3.5)引腳輸入,每發(fā)生一次負跳變計數(shù)器加1,每100個脈沖,T1溢出產生中斷,在中斷服務器程序中進行累加器加1操作。因此,有:GATE=0,由TR1控制定時/計數(shù)器1的運行;=1,工作在計數(shù)模式;M1M0=10,設為方式2;定時/計數(shù)器0不用,低四位任意,但不能使T0工作在方式3,這里低4位全置0,因此(TMOD)=60H。(3)程序設計采用中斷方式實現(xiàn),參考程序如下:ORG0000H
LJMPMAINORG001BH;定時/計數(shù)器1的中斷服務程序入口地址
INCA
RETI
ORG0300HMAIN:MOVTMOD,#60H;對TMOD初始化
MOVTH0,#9CH;設置計數(shù)初值MOVTL0,#9CHSETBET1;允許T1中斷SETBEA;總中斷允許SETBTR1;啟動T1HERE:AJMPHERE;等待中斷END6.4.4方式3的應用
例6-4假設系統(tǒng)晶振頻率為12MHz,定時/計數(shù)器1工作在方式2下,已作為波特率發(fā)生器使用?,F(xiàn)要求利用定時/計數(shù)器0(P3.4)增加一個外部中斷源,并控制從P1.0引腳輸出周期為200μs的方波。
分析:由于定時/計數(shù)器1用作波特率發(fā)生器,因此,T0應工作在方式3。在方式3下,TL0初值設為0FFH,工作于計數(shù)模式,當T0引腳收到負跳變信號時,即產生中斷,TH0控制從P1.0引腳輸出周期200μs方波,即完成100μs定時。
(1)計數(shù)初值(TL0)=0FFH,機器周期=1μs,設TH0的初值為X,則(28-X)×1=100,X=156D=9CH,(TH0)=9CH。(2)TMOD初始化
定時/計數(shù)器1設為方式2,定時/計數(shù)器0設為方式3,TL0工作于計數(shù)模式,則(TMOD)=00100111B=27H(3)程序設計采用中斷方式實現(xiàn),參考程序如下:ORG0000HLJMPMAINORG000BH;TL0的中斷服務程序入口地址LJMPTL0INTORG001BH;TH0的中斷服務程序入口地址LJMPTH0INT
ORG0300HMAIN:MOVTMOD,#27H;對TMOD初始化
MOVTH0,#9CH;設置初值MOVTL0,#0FFHSETBET0;允許TL0中斷SETBET1;允許TH0中斷SETBEA;總中斷允許SETBTR0;啟動TL0HERE:AJMPHERE;等待中斷TH0INT:MOVTL0,#0FFH;重置TH0初值SETBTR1;啟動TH0RETI;中斷返回TH0INT:MOVTH0,#9CH;重置TH0初值CLPP1.0;輸出取反RETI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024網絡安全防護與監(jiān)測服務合同
- 2024離婚雙方的特殊財產(如古董、藝術品)分配合同
- 2025年度住宅小區(qū)蟲鼠害預防與治理專項服務合同模板4篇
- 2025年度安全生產應急預案編制合同規(guī)范3篇
- 2025年度新能源汽車銷售代理及售后服務合同3篇
- 2025年度智慧停車系統(tǒng)車位租賃管理合同樣本4篇
- 2025年度出租車公司車輛更新改造升級合同3篇
- 2025年度現(xiàn)代農業(yè)示范區(qū)場地平整與灌溉系統(tǒng)建設合同3篇
- 2025年度特色菜肴研發(fā)及廚師團隊聘用協(xié)議4篇
- 2025年度數(shù)據中心專用電纜供應與安裝服務合同范本4篇
- 雞鴨屠宰生產企業(yè)安全風險分級管控資料
- 高中物理必修一第六節(jié)共點力的平衡條件及其應用課件
- 2020版曼昆版宏觀經濟學(第十版)課件第3章
- 醫(yī)院感染管理組織架構圖
- 《工程招投標與合同管理》題庫試題及答案 共5套試卷
- 離子色譜法分析氯化物原始記錄 (1)
- 高等數(shù)學說課稿PPT課件(PPT 49頁)
- 造影劑腎病概述和性質
- 單片機交通燈系統(tǒng)設計報告
- 標桿房企人力資源體系研究之龍湖
- 招商部人員績效考核辦法最全方案
評論
0/150
提交評論