17 定時(shí)器和計(jì)數(shù)器

單片機(jī)STC89C52學(xué)習(xí)——17 定時(shí)器和計(jì)數(shù)器

匯總:00 單片機(jī)STC89C52學(xué)習(xí)
參考教程:普中科技

1 定時(shí)器的原理

1.1 時(shí)序

單片機(jī)工作的基本時(shí)序:
振蕩周期 亦為時(shí)鐘周期,單片機(jī)提供時(shí)鐘脈沖信號的振蕩源的周期更振,該開發(fā)板為12MHz
狀態(tài)周期 1個(gè)狀態(tài)周期 = 1個(gè)時(shí)鐘周期 * 2皆刺,是振蕩源周期經(jīng)過二分頻得到的
機(jī)器周期 1個(gè)機(jī)器周期 = 6個(gè)狀態(tài)周期S1~S6 = 12個(gè)時(shí)鐘周期虫埂。在一個(gè)機(jī)器周期內(nèi),CPU可以完成一個(gè)獨(dú)立操作
指令周期 指CPU完成一條操作所需要的全部時(shí)間,1個(gè)指令周期 = 1個(gè)或幾個(gè)機(jī)器周期

外接晶振為12MHz時(shí)喳资,51單片機(jī)相關(guān)周期的具體值為:

  • 振蕩周期 = 1/12 μs
  • 狀態(tài)周期 = 1/6 μs
  • 機(jī)器周期 = 1μs
  • 指令周期 = 1~4μs

1.2 定時(shí)/計(jì)數(shù)器的基本情況

  1. 51單片機(jī)有兩組定時(shí)器/計(jì)數(shù)器,因?yàn)?strong>既可以定時(shí)又可以計(jì)數(shù)腾供,故稱之為定時(shí)器/計(jì)數(shù)器仆邓,一般直接稱為定時(shí)器
  2. 定時(shí)器/計(jì)數(shù)器與單片機(jī)的CPU相互獨(dú)立伴鳖。定時(shí)器/計(jì)數(shù)器工作的過程是自動完成的节值,不需要CPU的參與
  3. 51單片機(jī)中的定時(shí)器/計(jì)數(shù)器根據(jù)機(jī)器內(nèi)部的時(shí)鐘或者外部的脈沖信號對寄存器中的數(shù)據(jù)加1榜聂。
  4. 作用增加單片機(jī)的效率搞疗,一些簡單的重復(fù)加1的工作可以交給定時(shí)器/計(jì)數(shù)器處理,CPU轉(zhuǎn)而處理一些復(fù)雜的事情须肆;實(shí)現(xiàn)精確定時(shí)

1.3 定時(shí)/計(jì)數(shù)器的工作原理

? ? ? ?定時(shí)/計(jì)數(shù)器實(shí)質(zhì)上是一個(gè)加1計(jì)數(shù)器匿乃。它隨著計(jì)數(shù)器的輸入脈沖進(jìn)行自加1,也就是每來一個(gè)脈沖豌汇,計(jì)數(shù)器就自動加1扳埂,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零瘤礁,且計(jì)數(shù)器的溢出使相應(yīng)的中斷標(biāo)志位置1阳懂,向CPU發(fā)出中斷請求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式柜思,則表示定時(shí)時(shí)間已到岩调;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿赡盘。
? ? ? ?可見号枕,由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值。

1.4 51單片機(jī)定時(shí)器結(jié)構(gòu)

? ? ? ?定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位陨享,2Byte)葱淳,由高8位和低8位兩個(gè)寄存器THx和TLx組成。TMOD是定時(shí)/計(jì)數(shù)器的工作方式寄存器抛姑,確定工作方式和功能赞厕;TCON是控制寄存器,控制T0定硝、T1的啟動和停止及設(shè)置溢出標(biāo)志皿桑。

1.5 定時(shí)器的控制

? ? ? ?51單片機(jī)定時(shí)/計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。工作方式寄存器TMOD用于設(shè)置其工作方式;控制寄存器TCON用于控制其啟動和中斷申請诲侮。

  1. 工作方式寄存器TMOD
    工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式镀虐,低四位用于T0,高四位用于T1
    工作方式寄存器TMOD
  • GATE:門控位
    用于控制定時(shí)器的啟動是否受外部中斷源信號的影響沟绪。GATE=0時(shí)刮便,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時(shí)/計(jì)數(shù)器工作绽慈;GATE=1時(shí)诺核,要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳INT0/1也為高電平時(shí)久信,才能啟動定時(shí)/計(jì)數(shù)器工作窖杀,即此時(shí)定時(shí)器的啟動條件增加了INT0/1引腳為高電平這一條件。故通常使GATE = 0裙士。
  • C/T:定時(shí)/計(jì)數(shù)模式選擇位
    C/T = 0為定時(shí)模式入客;C/T = 1為計(jì)數(shù)模式
  • M1M0:工作方式設(shè)置位
    定時(shí)/計(jì)數(shù)器有4種工作方式:
    (通常使用方式1;方式2為計(jì)算頻率或串口通信使用腿椎;通常不使用方式0和3)
    定時(shí)/計(jì)數(shù)器的4種工作方式
  1. 控制寄存器TCON
    TCON的高4位用于控制定時(shí)/計(jì)數(shù)器的啟動和中斷申請:
    控制寄存器TCON
  • TF1 (TCON.7) :T1溢出中斷請求標(biāo)志位
    T1計(jì)數(shù)溢出時(shí)由硬件自動置TF1為1桌硫;CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時(shí)啃炸,CPU可隨時(shí)查詢TF1的狀態(tài)铆隘,故TF1可用作查詢測試的標(biāo)志。TF1也可以用軟件置1或清0南用,與硬件置1或清0的效果一樣膀钠。
  • TR1 (TCON.6) :T1運(yùn)行控制位
    TR1置1時(shí),T1開始工作裹虫;TR1置0時(shí)肿嘲,T1停止工作。TR1由軟件置1或清0筑公,故用軟件可控制定時(shí)/計(jì)數(shù)器的啟動與停止雳窟。
  • TF0 (TCON.5) :T0溢出中斷請求標(biāo)志位
    同上
  • TR0 (TCON.4) :T0運(yùn)行控制位
    同上

1.6 定時(shí)器工作方式詳解(T0為例)

計(jì)數(shù)個(gè)數(shù)X與計(jì)數(shù)初值N的關(guān)系:X = 2^位數(shù) - N

  1. 方式0:13位計(jì)數(shù)
    由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時(shí)向TH0進(jìn)位匣屡,TH0溢出時(shí)封救,置位TCON中的TF0標(biāo)志,向CPU發(fā)出中斷請求捣作。
    (門控位GATE具有特殊的作用誉结。當(dāng)GATE=0時(shí),經(jīng)反相后使或門輸出為1虾宇,此時(shí)僅由TR0控制與門的開啟搓彻,與門輸出1時(shí)如绸,控制開關(guān)接通嘱朽,計(jì)數(shù)開始旭贬;當(dāng)GATE=1時(shí),由外中斷引腳信號控制或門的輸出搪泳,此時(shí)控制與門的開啟由外中斷引腳信號和TR0共同控制稀轨,當(dāng)TR0=1時(shí),外中斷引腳信號引腳的高電平啟動計(jì)數(shù)岸军,外中斷引腳信號引腳的低電平停止計(jì)數(shù)奋刽,這種方式常用來測量外中斷引腳上正脈沖的寬度。)
    方式0
  2. 方式1:16位計(jì)數(shù)
    由TL0作為低8位艰赞,TH0作為高8位佣谐,組成了16位加1計(jì)數(shù)器 。
    方式1
  3. 方式2:8位計(jì)數(shù)
    自動重裝初值的8位計(jì)數(shù)方式
    (TL0滿后方妖,不向TH0進(jìn)位狭魂,而是自動裝載初值繼續(xù)累加,特別適合于用作較精確的脈沖信號發(fā)生器)
    方式2
  4. 方式3:獨(dú)立8位計(jì)數(shù)
    只適用于定時(shí)/計(jì)數(shù)器T0党觅,定時(shí)器T1處于方式3時(shí)相當(dāng)于TR1=0雌澄,停止計(jì)數(shù)
    方式3

1.7 使用定時(shí)器時(shí)需要做的工作

  1. 初始化
  • TMOD)確定T0 / T1的工作方式,并對TMOD賦值
  • 賦初值)計(jì)算初值杯瞻,并將其寫入TH0镐牺、TL0 / TH1、TL1
  • IE)使用中斷方式時(shí)魁莉,開放總中斷允許睬涧,開放定時(shí)器中斷允許
  • TCON)置位TR0 / TR1以啟動
  1. 計(jì)數(shù)器初值的計(jì)算
  • 機(jī)器周期也就是CPU完成一個(gè)基本操作所需要的時(shí)間。
  • 機(jī)器周期 = 1/單片機(jī)的時(shí)鐘頻率旗唁。
  • 51單片機(jī)內(nèi)部時(shí)鐘頻率是外部時(shí)鐘的12分頻宙地。也就是說當(dāng)外部晶振的頻率輸入到單片機(jī)里面的時(shí)候要進(jìn)行12分頻。比如用12MHZ的晶振逆皮,那么單片機(jī)內(nèi)部的時(shí)鐘頻率就是12/12MHZ宅粥,當(dāng)使用12MHZ的外部晶振時(shí),機(jī)器周期 = 1/1M=1us电谣。
  • 定時(shí)1ms秽梅,因1ms/1us=1000,即計(jì)數(shù)1000個(gè)剿牺,初值 = 65535-1000+1(因?yàn)閷?shí)際上計(jì)數(shù)器計(jì)數(shù)到66636才溢出)= 64536 = FC18H

接下篇:18 定時(shí)器中斷

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末企垦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子晒来,更是在濱河造成了極大的恐慌钞诡,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異荧降,居然都是意外死亡接箫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門朵诫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辛友,“玉大人,你說我怎么就攤上這事剪返》侠郏” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵脱盲,是天一觀的道長邑滨。 經(jīng)常有香客問我,道長钱反,這世上最難降的妖魔是什么掖看? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮诈铛,結(jié)果婚禮上乙各,老公的妹妹穿的比我還像新娘。我一直安慰自己幢竹,他們只是感情好耳峦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焕毫,像睡著了一般蹲坷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邑飒,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天循签,我揣著相機(jī)與錄音,去河邊找鬼疙咸。 笑死县匠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的撒轮。 我是一名探鬼主播乞旦,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼题山!你這毒婦竟也來了兰粉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤顶瞳,失蹤者是張志新(化名)和其女友劉穎玖姑,沒想到半個(gè)月后愕秫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡焰络,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年戴甩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舔琅。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡等恐,死狀恐怖洲劣,靈堂內(nèi)的尸體忽然破棺而出备蚓,到底是詐尸還是另有隱情,我是刑警寧澤囱稽,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布郊尝,位于F島的核電站,受9級特大地震影響战惊,放射性物質(zhì)發(fā)生泄漏流昏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一吞获、第九天 我趴在偏房一處隱蔽的房頂上張望况凉。 院中可真熱鬧,春花似錦各拷、人聲如沸刁绒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽知市。三九已至,卻和暖如春速蕊,著一層夾襖步出監(jiān)牢的瞬間嫂丙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工规哲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跟啤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓唉锌,卻偏偏與公主長得像隅肥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子糊秆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一武福、MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器概念 單片機(jī)中的定時(shí)器和計(jì)數(shù)器其實(shí)是同一個(gè)物理的電子元件,只不過計(jì)數(shù)器記錄的...
    Dorajimmy閱讀 1,348評論 0 1
  • TIMx簡介 可編程預(yù)分頻驅(qū)動 16位 自動裝載計(jì)數(shù)器 用于輸入:測試脈沖寬度輸出:產(chǎn)生輸出波形(輸出比較和PWM...
    吳松乾閱讀 1,468評論 0 2
  • 本文集下的內(nèi)容主要介紹stc89c51系列單片的基礎(chǔ)知識(初學(xué)者看會感到乏味,建議培養(yǎng)興趣愛好之后再來看) 本文主...
    keep1234quiet閱讀 3,298評論 8 6
  • 寄存器IE(8位):對單片機(jī)系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏蔽的控制 EX0(IE.0)痘番,外部中斷0允許位捉片; ...
    又是那一片天閱讀 1,355評論 0 1
  • 交通燈控制設(shè)計(jì) 一平痰、選題背景 每個(gè)城市的交通就猶如人體的血管,人類生命的持續(xù)需要心臟為血液提供動力伍纫,依靠血液來在人...
    Rik_personal閱讀 1,647評論 0 0