日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 單片機(jī)學(xué)習(xí) > 單片機(jī)教程 > 單片機(jī)定時(shí)器的作用及使用方法詳解

單片機(jī)定時(shí)器的作用及使用方法詳解 時(shí)間:2018-07-19      來源:未知

單片機(jī)定時(shí)器的作用及使用方法詳解

單片機(jī)定時(shí)器在單片機(jī)的功能是很重要的,它一般被用作定時(shí)功能,來做定時(shí)檢測、定時(shí)響應(yīng)和定時(shí)控制,并且可以產(chǎn)生毫秒寬的脈沖信號來驅(qū)動步進(jìn)電機(jī)。計(jì)時(shí)和計(jì)數(shù)的最終功能是通過計(jì)數(shù)實(shí)現(xiàn)的。如果計(jì)數(shù)事件源是周期性固定脈沖,則可以實(shí)現(xiàn)定時(shí)功能,否則只能實(shí)現(xiàn)計(jì)數(shù)功能。因此,定時(shí)和計(jì)數(shù)功能可以由單個(gè)組件實(shí)現(xiàn)。計(jì)時(shí)器的結(jié)構(gòu)和工作原理可以通過下面的圖表簡單地分析。

單片機(jī)的作用:

首先要為大家解釋的一個(gè)問題是,單片機(jī)定時(shí)器其實(shí)跟我們平時(shí)常說的計(jì)數(shù)器,是同一個(gè)電子元件,只不過計(jì)數(shù)器記錄的是51單片機(jī)外部情況,所接受的也是外部脈沖,而定時(shí)器則是由單片機(jī)自身提供的一個(gè)非常穩(wěn)定的計(jì)數(shù)器,這個(gè)穩(wěn)定的計(jì)數(shù)器就是單片機(jī)上連接的晶振部件。單片機(jī)的晶振經(jīng)過12分頻之后提供給單片機(jī)的只有1MHZ的穩(wěn)定脈沖,晶振的頻率是非常準(zhǔn)確的,所以單片機(jī)的計(jì)數(shù)脈沖之間的時(shí)間間隔也是非常準(zhǔn)確的,這個(gè)準(zhǔn)確的時(shí)間間隔是1微秒。

下面我們來看一下,一個(gè)單片機(jī)定時(shí)器的簡單結(jié)構(gòu)圖,如下圖所示:

單片機(jī)定時(shí)器的簡單結(jié)構(gòu)圖

而無論是單片機(jī)定時(shí)器,還是計(jì)數(shù)器,他們在單片機(jī)的工作運(yùn)行過程中都有定時(shí)或事件計(jì)數(shù)功能,因此常常會被應(yīng)用于時(shí)間控制、程序延時(shí)、對外部時(shí)間計(jì)數(shù)和檢測等工作范圍內(nèi)。而一旦了解了計(jì)數(shù)器/定時(shí)器的應(yīng)用領(lǐng)域和使用情況,工程師就可以充分利用單片機(jī)定時(shí)器來完成一些對時(shí)間限制要求精準(zhǔn)的程序的設(shè)定,例如信號檢測或電氣自動化設(shè)計(jì),都是比較常用到51單片機(jī)計(jì)數(shù)器進(jìn)行程序設(shè)計(jì)的領(lǐng)域。

單片機(jī)的使用:

單片機(jī)定時(shí)器的使用可以說非常簡單,只要掌握原理,有一點(diǎn)的C語言基礎(chǔ)就行了。要點(diǎn)有以下幾個(gè):

1. 一定要知道英文縮寫的原形,這樣寄存器的名字就不用記了。

理解是最好的記憶方法。好的教材一定會給出所有英文縮寫的原形。

2. 盡量用形像的方法記憶。

比如TCON和TMOD兩個(gè)寄存器各位上的功能,教程一般有個(gè)圖表,你就在學(xué)習(xí)中不斷回憶那個(gè)圖表的形像。

3. TMOD:定時(shí)器/計(jì)數(shù)器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)

定時(shí)器/計(jì)數(shù)器模式控制寄存器TMOD是一個(gè)逐位定義的8位寄存器,但只能使用字節(jié)尋址,其字節(jié)地址為89H。其格式為:其中低四位定義定時(shí)器/計(jì)數(shù)器C/T0,高四位定義定時(shí)器/計(jì)數(shù)器C/T1,各位的說明:

(1)GATE——門控制。

GATE=1時(shí),由外部中斷引腳INT0、INT1來啟動定時(shí)器T0、T1。

當(dāng)INT0引腳為高電平時(shí)TR0置位,啟動定時(shí)器T0;

當(dāng)INT1引腳為高電平時(shí)TR1置位,啟動定時(shí)器T1。

GATE=0時(shí),僅由TR0,TR1置位分別啟動定時(shí)器T0、T1。

(2)C/T——功能選擇位

C/T=0時(shí)為定時(shí)功能,C/T=1時(shí)為計(jì)數(shù)功能。

置位時(shí)選擇計(jì)數(shù)功能,清零時(shí)選擇定時(shí)功能。

(3)M0、M1——方式選擇功能

由于有2位,因此有4種工作方式:

M1M0 工作方式 計(jì)數(shù)器模式 TMOD(設(shè)置定時(shí)器模式)

0 0 方式0 13位計(jì)數(shù)器 TMOD=0x00

0 1 方式1 16位計(jì)數(shù)器 TMOD=0x01

1 0 方式2 自動重裝8位計(jì)數(shù)器 TMOD=0x02

1 1 方式3 T0分為2個(gè)8位獨(dú)立計(jì)數(shù)器,T1為無中斷重裝8位計(jì)數(shù)器 TMOD=0x03

單片機(jī)定時(shí)器0設(shè)置為工作方式1為TMOD=0x01

這里我們一定要知道,TMOD的T是TIMER/COUNTER的意思,MOD是MODE的意思。至于每位上的功能,你只要記住圖表,并知道每個(gè)英文縮寫的原型就可以了。

在程序中用到TMOD時(shí),先立即回憶圖表,并根據(jù)縮寫的單詞原形理出每位的意義,如果意義不是很清楚,就查下手冊,幾次下來,TMOD的圖表就已經(jīng)在腦子里了。

8位 GATE位,本身是門的意思。

7位 C/T Counter/Timer

6位 M1 Mode 1

5位 M0 Mode 0

4. TCON: 定時(shí)器/計(jì)數(shù)器控制寄存器(TIMER/COUNTER CONTROL REGISTER)

TMOD分成2段,TCON控制更加精細(xì),分成四段,在本文中只要用到高四段。

TF0(TF1)——計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出時(shí),該位置1。

(1)TR0(TR1)——定時(shí)器運(yùn)行控制位

當(dāng)TR0(TR1)=0 停止定時(shí)器/計(jì)數(shù)器工作

當(dāng)TR0(TR1)=1 啟動定時(shí)器/計(jì)數(shù)器工作

(2)IE0(IE1)——外中斷請求標(biāo)志位

當(dāng)CPU采樣到P3.2(P3.3)出現(xiàn)有效中斷請求時(shí),此位由硬件置1。在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動清0。

(3)IT0(IT1)——外中斷請求信號方式控制位

當(dāng)IT0(IT1)=1 脈沖方式(后沿負(fù)跳有效)

當(dāng)IT0(IT1)=0 電平方式(低電平有效)此位由軟件置1或清0。

(4)TF0(TF1)——計(jì)數(shù)溢出標(biāo)志位

當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),此位由硬件置1。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再有硬件自動清0。計(jì)數(shù)溢出的標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請求標(biāo)志位來使用;采用查詢方式時(shí),作查詢狀態(tài)位來使用。注意記憶方法,理解單詞原形,就絕對不會把TF和TR搞混。TF的F也就是溢出Over Flow的F。TR的R就是運(yùn)行Run。默認(rèn)是0不運(yùn)行,當(dāng)然要置1才運(yùn)行。

5. STC單片機(jī)STC89C52RC定時(shí)器延時(shí)時(shí)間的計(jì)算

延時(shí)時(shí)間要根據(jù)晶振頻率計(jì)算,不同板子可能有所不同。

時(shí)鐘周期:

1/時(shí)鐘源,在我現(xiàn)在這塊板子上,晶振頻率是11.0592M,也就是時(shí)鐘周期是 1/11059200秒

機(jī)器周期:

一般51單片機(jī)是12個(gè)時(shí)鐘周期,我的板子也就是 12/11059200秒

單次定時(shí)最長時(shí)間:

如果是16位的計(jì)數(shù)器,16位最大值是65535,共可計(jì)數(shù)65536次。基本的常數(shù)一定要記住,還要記住8位最大值是255,共可計(jì)數(shù)256次,還要記住8位上每位代表的數(shù)值。

12 * 65536/11059200 = 0.0711 s,也就是,71 ms內(nèi)的定時(shí)可以單次定時(shí)就完成。如果定時(shí)時(shí)間超過71 ms,就要循環(huán)了。

一次定時(shí)需要幾次機(jī)器周期:

計(jì)算公式:定時(shí)秒數(shù)/機(jī)器周期

比如我要定時(shí)1秒, 1/(12/11059200)= 921600次,16位計(jì)數(shù)器最大可計(jì)數(shù)65536次,921600次早就益出了。我們可以每次定時(shí)10 ms,循環(huán)100次就可以定時(shí)1秒了,1 s縮小100百倍就是10 ms, 也就是每次需要計(jì)數(shù)9216次。

確實(shí)計(jì)數(shù)器初始值:

定時(shí)10 ms時(shí),如果計(jì)數(shù)器從0開始計(jì)數(shù),我們就不知道什么時(shí)候到了9216次。所以應(yīng)該計(jì)數(shù)了9216次,16位計(jì)數(shù)器最多計(jì)數(shù)95536次,然后就溢出,一溢出TCON的TF位就會置1,我們只要經(jīng)常檢測TF位就可以知道什么時(shí)候完成10ms的定時(shí)了。

計(jì)算公式:計(jì)數(shù)器初始值=最大計(jì)數(shù)次數(shù) - 需要計(jì)數(shù)次數(shù)

如果定時(shí)10 ms,計(jì)數(shù)器的初始值就是 65536 - 9216

計(jì)算計(jì)數(shù)器的高位和低位:

16位的計(jì)數(shù)器,也就是兩個(gè)8位組成,8位的最大計(jì)數(shù)次數(shù)是256。所以:

計(jì)數(shù)器高位 = 初始值/256

計(jì)數(shù)器低位 = 初始值%6

上一篇:一文了解單片機(jī)開發(fā)項(xiàng)目是怎樣的流程

下一篇:什么是單片機(jī)仿真軟件 單片機(jī)仿真軟件使用方法

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 美女mm| 教师政治学习笔记| 富二代| 工程制图答案| 3片| 伊人1314| 少妇av网站| 天元突破| 黑衣人| 好看的港剧| 春闺梦里人电影在线观看| cctv6电影节目表| 萱草花合唱谱二声部| 广场舞《酒醉的蝴蝶》32步| 演觉法师| 尹雪喜演的电影| 变形金刚6免费完整版在线观看| 新老澳门资料| 电影《exotica》完整版观看| 女孩们在线观看完整电影| 职业探索怎么写| 男女打扑克视频网站| 城市风云儿| 许华升公个人资料身高多少| 保坂尚辉| ghost rider| 爱自由| 伦理<禁忌1| 黄视频免费看网站| 漂亮主妇 电视剧| 让子弹飞高清完整版免费观看| 风平浪静电影| 大学生搜| 西藏卫视| 上锁的房间演员表| 薛晨| 少年包青天4第四部| 免费观看美女| k总直播间| 女同视频在线| 四大名捕 电影|