單片機定時器/計數器基本原理

2021-01-09 電子發燒友
打開APP
單片機定時器/計數器基本原理

發表於 2019-06-17 09:19:32

單片機定時器/計數器基本原理

目前常用的單片機中往往都配備了定時器/計數器。在AT89S52晶片內包含有三個16位的定時器/計數器:T0、T1和T2,其核心是加1計數器。我們主要要求掌握T0和T1的結構和功能。學習中要注意從電路結構上來理解功能的實現。定時器/計數器方式寄存器TMOD和定時器/計數器控制寄存器TCON是用以設定定時器/計數器的工作方式、定時或計數功能,控制啟動或停止以及產生溢出中斷的重要模塊,應該對這兩個寄存器中的逐位的定義和功能進行學習和掌握。

一、定時器/計數器的功能

AT89S52單片機定時器/計數器的基本部件是兩個8位的計數器(T1計數器分為高8位TH1和低8位TL1,T0計數器的高8位是TH0,低8位是TL0)。如圖1所示。

圖1 T0和T1的基本構成

定時器/計數器的核心是一個加1計數器,在作定時器使用時,它對機器周期進行計數,每過一個機器周期計數器加1,直到計數器計滿溢出。

當它用作對外部事件計數時,計數器接相應的外部輸入引腳T0(P3.4)或T1(P3.5)並在每個機器周期的S5P2時採樣,當採樣到1—0的負跳變時,計數器加1。

二、定時器/計數器的結構

AT89S52單片機內部的定時/計數器的結構如圖2所示。定時器T0由特殊功能寄存器TL0(低8位)和TH0(高8位)構成,定時器T1由特殊功能寄存器TL1(低8位)和TH1(高8位)構成。每個寄存器均可單獨訪問。

圖2 定時器/計數器的內部結構

一、定時/計數的基本概念

定時和計數是日常生活和生產中最常見和最普遍的問題。

定時器和計數器功能基本上都是使用相同的邏輯實現的,而且這兩個功能都包含輸入的計數信號,本質上都是對脈衝計數。計數器用來計數並指示在任意間隔內輸入信號(事件)的個數,而定時器則對規定間隔內輸入的信號個數進行計數,用來指示經歷的時間。

在單片機中,定時/計數器作定時功能用時,對機器周期計數(由單片機的晶體振蕩器經過12分頻後得到),因每次計數的周期是固定的,所以根據它計數的多少就可以很方便的計算出它計數的時間。如圖1所示。

圖1 計數與定時

二、溢出的基本概念

從一個生活中的例程看起:一個水盆在水龍頭下,水龍頭沒關緊,水一滴滴地滴入盆中。盆的容量是有限的,水滴持續落下,盆中的水持續變滿,最終有一滴水使得盆中的水滿了,這就是「溢出」。

如果一個空的盆要1萬滴水滴進去才會滿,開始滴水之前可以先放入一部分水,叫做計數初值。如果現在要計數9000,那麼可以先放入1000滴水,也就是計數初值為1000,再計數9000就可以溢出產生中斷。

單片機中通常採用計數初值的辦法,如果每個脈衝是1微秒,則計滿256個脈衝需時256微秒,如果現在要定時100微妙,只要在計數器裡面先放進156,然後計數100就可以就可以溢出產生中斷了。如圖2所示。

圖2 定時器/計數器的溢出

三、定時/計數的主要方法

實現定時或計數,主要有三種方法。

(1)軟體延時

軟體延時利用微處理器執行一個延時程序段實現。因為微處理器執行每條指令都需要一定時間,通過指令的循環實現軟體延時。軟體定時具有不使用硬體的特點,但卻佔用了大量CPU時間。另外,軟體定時精度不高,在不同系統時鐘頻率下,執行一條指令的時間不同,同一個軟體延時程序的定時時間也會不同。

(2)硬體定時

硬體定時採用數字電路中的分頻器將系統時鐘進行適當分頻產生需要的定時信號,也可以採用單穩電路或簡易定時電路(如常用的555定時器)由外接RC(電阻、電容)電路控制定時時間。這樣的定時電路較簡單,利用不同分頻倍數或改變電阻阻值、電容容值使定時時間在一定範圍內改變。

(3)可編程的硬體定時

可編程定時器/計數器最大特點是可以通過軟體編程來實現定時時間的改變,通過中斷或查詢方法來完成定時功能或計數功能。這種電路不僅定時值和定時範圍可用程序改變,而且具有多種工作方式,可以輸出多種控制信號,具備較強的功能。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 51單片機定時器/計數器的結構和原理
    定時器/計數器簡稱定時器,其作用主要包括產生各種時標間隔、記錄外部事件的數量等,是微機中最常用、最基本的部件之一。803l單片機有2個16位的定時器/計數器:定時器0(T0)和定時器1(T1)。
  • 單片機定時器計數器初值的計算
    1.計數器初值的計算把計數器計滿為零所需要的計數值設定為C,計數初值設定為TC,由此可得到公式:TC=M-C式中,M為計數器模值,該值和計數器工作方式有關。
  • 51單片機---定時器 計數器
    8051系列單片機有兩個定時器:T0和T1,分別稱為定時器和定時器T1,這兩個定時器都是16位的定時器/計數器;8052系列單片機增加了第三個定時器/計數器T2;它們都有定時或事件計數功能,常用於時間控制、延時、對外部時間計數和檢測等場合
  • 單片機原理|定時器/計數器的工作原理及應用作業
    A、8192B、65536C、256D、 10000我的答案:C 得分: 2.3分 118051單片機內有()個16位的定時/計數器,每個定時/計數器都有()種工作方式
  • 51單片機計數器與定時器的區別
    在51單片機的學習過程中,我們經常會發現中斷、計數器/定時器、串口是學習單片機的難點,對於初學者來說,這幾部分的內容很難理解。
  • 單片機中各種周期的關係與定時器原理
    是計算機中最基本的、最小的時間單位。  在8051單片機中把一個時鐘周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示)。  機器周期:  在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。
  • 通過51單片機定時器/計數器實現精確延時
    MCS-51單片機內部共有兩個16位可編程定時器,計數器,即TO、Tl。既有定時功能,又有計數的功能。每個定時器都是由兩個8位的特殊功能寄存器THi和TLi組成(i=0、1)。TMOD是TO和Tl的工作方式控制寄存器,TCON是TO和Tl的運行狀態控制寄存器。
  • 51單片機定時器初值的計算
    本文引用地址:http://www.eepw.com.cn/article/201611/318666.htm時鐘周期時鐘周期也稱為振蕩周期,定義為時鐘脈衝的倒數(可以這樣來理解,時鐘周期就是單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 us),是計算機中最基本的、最小的時間單位。在一個時鐘周期內,CPU僅完成一個最基本的動作。
  • 一個定時器生成多路PWM波形的原理和方法
    > 推薦閱讀 STM32F10x 學習筆記之基本定時器 大容量的STM32F101xx、STM32F103xx系列和互聯型產品中包含了兩個基本定時器,TIM6和TIM7。
  • 單片機定時器周期計算公式
    打開APP 單片機定時器周期計算公式 發表於 2018-01-22 15:59:10 定時器是單片機的重要功能模塊之一,在檢測、控制領域有廣泛應用。
  • 6位LED顯示單片機控制電子鐘/計數器
    我們能提供的完整的彙編語言源程序清單及電路原理設計圖有助於學習者進行分析和進行實驗驗證產品1:6位LED顯示單片機控制電子鐘/計數器成品板成品每套84元本文引用地址:http://www.eepw.com.cn/article/201611/317464
  • 51單片機測變周期脈衝信號的簡便方法
    對連續變周期的脈衝信號周期的測量則相對困難些,許多測量人員都首先對這類信號進行二分頻後一路反相,然後用兩個定時/計數器分別測出兩路脈衝信號的正脈衝寬度得到周期,這種方法硬體開銷較大,軟體設計也較複雜。本文將介紹了一種用MCS-51單片機內部一個定時/計數器直接測量連續變周期脈衝信號周期的實用方法。
  • 定時器
    定時器是一項偉大的發明,它可以對相當多需要精準時間控制的工作變得簡單了許多。現在我們已經將定時器用在了軍事方面,製成了定時炸彈,定時雷管。       定時器主要分為五種類型:    1.接通延時類定時器:這類定時器主要運用在PLC中;是最常見最基本的定時器,我們稱為SD型定時器。
  • 利用單片機PWM信號進行舵機控制[圖]
    脈衝計數可以利用51單片機的內部計數器來實現,但是從軟體系統的穩定性和程序結構的合理性看,宜使用外部的計數器,還可以提高CPU的工作效率。實驗後從精度上考慮,對於FUTABA系列的接收機,當採用1MHz的外部晶振時,其控制電壓幅值的變化為0.6mV,而且不會出現誤差積累,可以滿足控制舵機的要求。
  • STM32f103 定時器之編碼器接口模式
    其實原理一樣,將旋轉編碼器的「CLK(A)」、「DT(B)」腳接入到TIMx的通道,將對應通道引腳配置為編碼器接口模式,使能計數,然後STM32的值就會在硬體上按照上述規對計數器的值進行加減。// 該編碼器模塊已經做了外部上拉處理,配製成浮空輸入即可GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(Enc_GPIO_PORT, GPIO_InitStructure);配置定時器基本單元
  • 一種基於MSP430單片機的交流頻率檢測系統
    系統的硬體部分主要由MSP430單片機以及整流橋、光電耦合器、三級管等器件構成;而軟體部分主要是基於MSP430單片機的C語言程序,包括系統的初始化、定時器的設置等。該系統的實驗結果和電路仿真吻合較好,具有一定的應用價值。
  • 如何採用STM32中的控制定時器Tim1實現計數器功能
    STM32中的高級控制定時器(Tim1)是由一個16位的自動裝載計數器組成,它由一個可編程預分頻器驅動。 用途在於:測量輸入信號的脈衝寬度(輸入捕獲),或者產生輸出波形(輸出比較,PWM,嵌入死區時間的互補PWM等)。 使用定時器預分頻器和RCC時鐘控制預分頻器,可以實現脈衝寬度和波形周期從幾個微秒到幾個毫秒的調節。
  • 用PIC單片機實現高解析度頻率計的一種方法
    1 引言  隨著電子技術的迅速發展,以單片機為控制核心的控制器件,已經全面滲透到測試儀器和計量檢定的各個方面。同時,頻率計作為一種常用工具,在工程技術和無線電測量、計量等領域的應用十分廣泛。本文介紹了一種以PIC16F87X系列單片機為控制器的高解析度頻率計的實現方法。  該方法設計的頻率計主要用來測量脈衝頻率。它採用LCD圖形液晶顯示,清晰度高,可視範圍廣,可外接晶體頻率源,具有測量速度快、解析度高的優點。
  • 用SST單片機的PCA功能產生PWM脈衝
    一、程序說明:SST單片機帶有5路PCA模塊,PCA功能比普通的單片機相比提供更強的計時性,同時更少CPU的幹預,用它可以減少軟體的開銷和改進精度。
  • 基於STM32定時器的紅外遙控數據接收設計原理
    打開APP 基於STM32定時器的紅外遙控數據接收設計原理 工程師3 發表於 2018-04-30 17:52:00 一、原理 1、紅外發射協議 紅外發射協議已經在之前的文章中寫過,在此就不贅述。