找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5883|回復: 0
收起左側

單片機的定時器/計數器工作原理(1)

[復制鏈接]
ID:929577 發(fā)表于 2021-6-3 11:20 | 顯示全部樓層 |閱讀模式
本帖最后由 zhangli0126 于 2021-6-3 14:33 編輯

MCS-51系列單片機有兩個定時器/計數器: T0和T1,可以用來對外部信號計數或者對外部設備進行定時控制。通常計數功能由外部中斷引腳輸入信號而發(fā)生計數,定時功能是由內部寄存器發(fā)生的工作事件。
基礎知識:
1.計數:對某一事件的統(tǒng)計,以1為單位進行累加。
2.計數器的容量:計數器的計數是有容量的限制,T0和T1都是由2個8位寄存器組成(TH0和TL0)。MCS-51單片機有四種工作模式,不同的工作模式,計數的容量不同:模式0——13位;模式1——16位;模式2——8位;模式3——8位。當計數器計數溢出時,則會發(fā)出請求CPU,CPU中斷處理。
3.定時:定時器/計數器處于定時模式時,需要與外部斷開連接,即由內部時鐘產生計時信號。每個脈沖產生多長時間的定時時間,與單片機本身的震蕩頻率相關。比如振蕩器產生12MHZ的時鐘脈沖信號,經過12分頻后產生1MHz的脈沖信號,得到每個脈沖信號定時時間是1微秒。定時器工作在模式0時,可以定時65536微秒。
定時器/計數器的結構及工作原理
1.定時器/計數器的結構
T0由TH0和TL0組成;T1由TH1和TL1組成。二者均為16位計數器,以1為單位累加。
除此之外還有TCON以及TMO寄存器,分別控制定時器/計數器的啟動、停止和工作方式。
定時器/計數器通過內部總線將控制信號發(fā)送給CPU。
2.定時器/計數器的工作原理
計數模式:與外部引腳INT0或者INT1連接,當引腳的信號由1跳變到0時,計數器加1,直至溢出。
定時模式:晶振產生的信號經過12分頻后,作為定時器的定時脈沖信號,直至溢出。
定時器/計數器的控制
定時器/計數器只有在TMOD和TCON設置好的前提下,才能快樂的定時或者計數。
定時器/計數器的方式控制寄存器(TMOD):主要功能控制T0和T1的工作方式。對于工作方式的控制:控制M1、M0進行組合的四種工作方式;C/T:控制定時器/計數器的工作模式在定時還是計數。定時器/計數器控制寄存器(TCON):接收各種中斷源送來的請求信號,同時對定時器/計數器進行啟動和停止控制。
TR0和TR1時啟動相應的定時器;TF0和TF1是溢出標志。

定時器/計數器的工作方式:
1.工作方式0(M1M0=00)
以定時器/計數器T1為例。由TL1的低5位+TH1的高8位組成,當7溢出時,TCON寄存器的TF1=1,表示溢出。
如何啟動定時器模式?TMOD的C/T=0
如何啟動計數器模式?TMOD的C/T=1,當外部中斷引腳(INT0、INT1)發(fā)生負跳變時,計數器加1.
如何啟動定時器或者計數器?GATE=0,只需要啟動TR0或者TR1即可;若是GATE=1,需要INT0或者INT1為高電平(高電平無效)+TR0=1或者TR1=1才可以啟動。
2.工作方式1(M1M0=01)
16位定時器/計數器,計數溢出時,TF0=1或者TF1=1.工作原理與啟動方式與工作方式0相同。
3.工作方式2(M1M0=10)
8位定時器/計數器,解決了重新裝在初值的問題。以定時器0為例,TL0與TH0均為8位寄存器,計數開始時,TL0進行計數,當計數溢出時(最大值256),TCON的標志位TF0=1,同時將TH0保存的數值傳遞給TL0.
1.png
1.jpg
1.jpg

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表