0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

51單片機(jī)定時(shí)器使用時(shí)非常重要的6點(diǎn)經(jīng)驗(yàn)詳細(xì)的總結(jié)

2oON_changxuemc ? 來源:未知 ? 作者:易水寒 ? 2018-07-01 09:17 ? 次閱讀

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

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

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

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來啟動(dòng)定時(shí)器T0、T1。

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

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

GATE=0時(shí),僅由TR0,TR1置位分別啟動(dòng)定時(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 自動(dòng)重裝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 啟動(dòng)定時(shí)器/計(jì)數(shù)器工作

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

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

(3)IT0(IT1)——外中斷請(qǐng)求信號(hào)方式控制位

當(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í),再有硬件自動(dòng)清0。計(jì)數(shù)溢出的標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請(qǐng)求標(biāo)志位來使用;采用查詢方式時(shí),作查詢狀態(tài)位來使用。注意記憶方法,理解單詞原形,就絕對(duì)不會(huì)把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í)鐘源,晶振頻率是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位就會(huì)置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

6.STC89C52RC單片機(jī)定時(shí)器示例代碼:

51單片機(jī)定時(shí)器使用時(shí)非常重要的6點(diǎn)經(jīng)驗(yàn)詳細(xì)的總結(jié)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    272

    文章

    5689

    瀏覽量

    122136
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134011
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3218

    瀏覽量

    113665

原文標(biāo)題:51單片機(jī)定時(shí)器使用經(jīng)驗(yàn)總結(jié)

文章出處:【微信號(hào):changxuemcu,微信公眾號(hào):暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于51單片機(jī)中斷與定時(shí)器的知識(shí)點(diǎn)總結(jié)的太棒了

    關(guān)于51單片機(jī)中斷與定時(shí)器的知識(shí)點(diǎn)總結(jié)的太棒了
    發(fā)表于 10-08 08:52

    基于51單片機(jī)定時(shí)器2的操作與實(shí)現(xiàn)

    基于51單片機(jī)定時(shí)器2的操作與實(shí)現(xiàn),51單片機(jī)定時(shí)器2的使用!
    發(fā)表于 02-22 17:53 ?12次下載

    51單片機(jī)定時(shí)器寄存器設(shè)置及應(yīng)用詳細(xì)

    51單片機(jī)定時(shí)器寄存器設(shè)置及應(yīng)用詳細(xì)。
    發(fā)表于 03-28 16:46 ?7次下載

    51單片機(jī)課件定時(shí)器

    51單片機(jī)課件定時(shí)器。
    發(fā)表于 05-10 11:24 ?3次下載

    52單片機(jī)有幾個(gè)定時(shí)器?52單片機(jī)定時(shí)器1和52單片機(jī)定時(shí)器2程序?qū)Ρ?/a>

    52單片機(jī)有幾個(gè)定時(shí)器?STC89C52RC其實(shí)是有三個(gè)定時(shí)器單片機(jī),STC89C52RC共有3個(gè)定時(shí)器,分別是T0、T1、T2。而
    發(fā)表于 11-10 14:30 ?3.5w次閱讀

    51單片機(jī)定時(shí)器工作原理

    51單片機(jī)定時(shí)器工作原理及用法
    的頭像 發(fā)表于 03-14 13:51 ?9.4w次閱讀

    51單片機(jī)學(xué)習(xí)教程之51單片機(jī)的六點(diǎn)知識(shí)點(diǎn)介紹

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)學(xué)習(xí)教程之51單片機(jī)的六點(diǎn)知識(shí)點(diǎn)介紹包括了:1.51
    發(fā)表于 04-17 17:27 ?3次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>學(xué)習(xí)教程之<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的六<b class='flag-5'>點(diǎn)知識(shí)點(diǎn)</b>介紹

    51單片機(jī)的應(yīng)該如何使用定時(shí)器詳細(xì)資料和實(shí)例說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的應(yīng)該如何使用定時(shí)器詳細(xì)資料和實(shí)例說明。
    發(fā)表于 08-29 17:28 ?0次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的應(yīng)該如何使用<b class='flag-5'>定時(shí)器</b><b class='flag-5'>詳細(xì)</b>資料和實(shí)例說明

    51單片機(jī)定時(shí)器T0的中斷使用法詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時(shí)器T0的中斷使用法詳細(xì)說明程序免費(fèi)下載。
    發(fā)表于 08-22 17:30 ?0次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時(shí)器</b>T0的中斷使用法<b class='flag-5'>詳細(xì)</b>說明

    51單片機(jī)定時(shí)器和計(jì)數(shù)器的原理及應(yīng)用實(shí)例詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時(shí)器和計(jì)數(shù)器的原理及應(yīng)用實(shí)例詳細(xì)資料說明。
    發(fā)表于 08-13 17:32 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時(shí)器</b>和計(jì)數(shù)器的原理及應(yīng)用實(shí)例<b class='flag-5'>詳細(xì)</b>資料說明

    如何同時(shí)使用51單片機(jī)定時(shí)器0和串口使用問題詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何同時(shí)使用51單片機(jī)定時(shí)器0和串口使用問題詳細(xì)說明。
    發(fā)表于 08-13 17:32 ?27次下載
    如何同時(shí)使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時(shí)器</b>0和串口使用問題<b class='flag-5'>詳細(xì)</b>說明

    51單片機(jī)定時(shí)器和計(jì)數(shù)器的使用資料詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時(shí)器和計(jì)數(shù)器的使用資料詳細(xì)說明。
    發(fā)表于 07-09 17:40 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時(shí)器</b>和計(jì)數(shù)器的使用資料<b class='flag-5'>詳細(xì)</b>說明

    基于51單片機(jī)定時(shí)器

    設(shè)計(jì)思路。這樣自己拿到任何型號(hào)的51單片機(jī),只要有原理圖,都可以自主設(shè)計(jì)。博主剛接觸單片機(jī),才疏學(xué)淺,可能會(huì)出現(xiàn)設(shè)計(jì)不足和錯(cuò)誤,歡迎大家評(píng)論區(qū)交流。^ _ ^/**********************************
    發(fā)表于 11-04 21:06 ?35次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時(shí)器</b>

    51單片機(jī)——定時(shí)器

    51單片機(jī)——定時(shí)器為什么使用定時(shí)器?定時(shí)器原理?定時(shí)器設(shè)置中斷配置源代碼為什么使用
    發(fā)表于 11-11 16:36 ?40次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>——<b class='flag-5'>定時(shí)器</b>

    51單片機(jī)定時(shí)器問題總結(jié)

    51單片機(jī)定時(shí)器中斷的理解個(gè)人最近幾天學(xué)習(xí)總結(jié)51單片機(jī)定時(shí)
    發(fā)表于 11-23 16:51 ?2次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時(shí)器</b>問題<b class='flag-5'>總結(jié)</b>