硬體小百科 微控制器定時器 計數器的方式控制字

2021-09-23 20:23:18 字數 1453 閱讀 6133

與定時/計數有關兩個特殊功能暫存器

在微控制器中有兩個特殊功能暫存器與定時/計數有關,這就是tmod和tcon。

順便說一下,tmod和tcon是名稱,我們在寫程式時就能直接用這個名稱來指定它們,當然也能直接用它們的位址89h和88h來指定它們(其實用名稱也就是直接用位址,彙編軟體幫你翻譯一下而已)。

從圖1中我們能看出,tmod被分成兩部份,每部份4位。分別用於控制t1和t0,至於這裡面是什麼意思,我們下面介紹。

從圖2中我們能看出,tcon也被分成兩部份,高4位用於定時/計數器,低4位則用於中斷(我們暫不管)。而tf1(0)我們上節課已提到了,當計數溢位後tf1(0)就由0變為1。原來tf1(0)在這兒!那麼tr0、tr1又是什麼呢?看上節課的圖。

計數脈衝要進入計數器還真不不難,有層層關要通過,最起碼,就是tr0(1)要為1,開關才能合上,脈衝才能過來。因此,tr0(1)稱之為執行控制位,可用指令setb來置位以啟動計數器/定時器執行,用指令clr來關閉定時/計數器的工作,一切盡在自已的掌握中。

《微控制器定時器/計數器結構》

定時/計數器的四種工作方式

工作方式0

當tmod中的m1,m2設定成0,0時,定時器/計數器就工作在方式0,工作方式0是一種13位定時器/計數器方式。

工作方式1

工作方式1為16位定時器/計數其結構和操作與工作方式0基本相同,唯一的區別是工作方式1的計數器由tl0的8位和th0的8位共同組成16位的計數器,其定時時間為:

t=(216-t0初值)×時鐘週期×12

工作方式2

方式2為8位自動裝入時間常數方式,方式0和方式1若用於迴圈重複定時/計數時(如產生連續脈衝訊號),每次計數滿後溢位時,暫存器tl0和th0全部為0,所以第二次計數還得重新裝入時間初值。這樣不僅麻煩而且影響精度。方式2避免了上述缺陷它的定時時間為:

t=(28-t0初值)×時鐘週期×12

工作方式3

方式3:特殊工作方式只適用於t0,除了是用8位暫存器tl0外,其功能和操作與方式0和方式1完全相同,但是,另乙個計數器th0只可以工作在內部定時器模式下。工作方式3為t0增加了乙個8位的定時器。

定時器/計數器的定時/計數範圍

工作方式0:13位定時/計數方式,因此,最多能計到2的13次方,也就是8192次。

工作方式1:16位定時/計數方式,因此,最多能計到2的16次方,也就是65536次。

工作方式2和工作方式3,都是8位的定時/計數方式,因此,最多能計到2的8次方,也說是256次。

預置值計算:用最大計數量減去需要的計數次數即可。

以上是計數,明白了這個道理,定時也是一樣。

關於雲創硬見

雲創硬見是國內最具特色的電子工程師社群,融合了行業資訊、社群互動、培訓學習、活動交流、設計與製造分包等服務,以開放式硬體創新技術交流和培訓服務為核心,連線了超過30萬工程師和產業鏈上下游企業,聚焦電子行業的科技創新,聚合最值得關注的產業鏈資源, 致力於為百萬工程師和創新創業型企業打造一站式公共設計與製造服務平台。

微控制器 定時器 計數器

一 簡述 mcs 51系列微控制器內部有兩個16位定時器 計數器,即定時器t0和定時器t1。它們都具有定時和計數功能,可用於定時或延時控制,對外部事件進行檢測 計數等。定時器 計數器是乙個加 1 計數器,來一脈衝即做加1計數,直至暫存器各位全為1,再來一脈衝,計數器回0且使tf0 定時器t0 tf1...

微控制器的定時器與計數器

從乙個生活中的例程看起 乙個水盆在水龍頭下,水龍沒關緊,水一滴滴地滴入盆中。水滴持續落下,盆的容量是有限的,過一段時間之後,水就會逐漸變滿。那麼微控制器中的計數器有多大的容量呢?8031微控制器中有兩個計數器,分別稱之為t0和t1,這兩個計數器分別是由兩個8位的ram單元組成的,即每個計數器都是16...

搞懂51微控制器定時器 計數器

搞懂51定時器 計數器 步驟 1 第1步 先設定好定時器的時鐘源 如果需要的話 2 第2步 初始化時鐘相關暫存器 3 第3步 設定定時時間 計數個數 4 第4步 設定中斷處理程式 5 第5步 開啟定時器 5 執行時 定時器計數到後產生中斷,然後執行中斷isr 中斷服務處理,interrupt ser...