51單片機計數器與定時器的區別

2021-01-08 電子產品世界

  在51單片機的學習過程中,我們經常會發現中斷、計數器/定時器、串口是學習單片機的難點,對於初學者來說,這幾部分的內容很難理解。但是我個人覺得這幾部分內容是單片機學習的重點,如果在一個學期的課堂學習或者自學中沒有理解這幾部分內容,那就等於還沒有掌握51單片機,那更談不上單片機的開發了,我們都知道在成品的單片機項目中,有很多是以這幾部分為理論基礎的,萬年曆是以定時器為主的,報警器是以中斷為主的,聯機通訊是以串口為主的。

本文引用地址:http://www.eepw.com.cn/article/201710/366410.htm

  在這幾部分內容中,計數器/定時器對於初學者說很容易搞混淆,下面我將對這方面的內容結合自己的學習經驗談幾點看法。

  計數器和定時器的本質是相同的,他們都是對單片機中產生的脈衝進行計數,只不過計數器是單片機外部觸發的脈衝,定時器是單片機內部在晶振的觸發下產生的脈衝。當他們的脈衝間隔相同的時候,計數器和定時器就是一個概念。

  在定時器和計數器中都有一個溢出的概念,那什麼是溢出了。呵呵,我們可以從一個生活小常識得到答案,當一個碗放在水龍頭下接水的時候,過了一會兒,碗的水滿了,就發生溢出。同樣的道理,假設水龍頭的水是一滴滴的往碗裡滴,那麼總有一滴水是導致碗中的水溢出的。在碗中溢出的水就浪費了,但是在單片機的定時計數器中溢出將導致一次中斷,至於什麼是中斷我們下次再講,這裡只是初步的提下概念,中斷就是能夠打斷系統正常運行,而去運行中斷服務程序的過程,當服務程序運行完以後又自動回到被打斷的地方繼續運行。

  在定時器計數器中,我們有個概念叫容量,就是最大計數量。方式0是2的13次方,方式1是2的13次方,方式2是2的8次方,方式3是2的8次方。把水滴比喻成脈衝,那麼導致碗中水溢出的最後一滴水的就是定時計數器的溢出的最後一個脈衝。

  在各種單片機書本中,在介紹定時計數器時都講到一個計數初值,那什麼是計數初值呢?在這裡我們還是假設水滴碗。假設第一百滴水能夠使碗中的水溢出,我們就知道這個碗的容量是100。問題1,我如何才能使碗接到10滴水就溢出呢?呵呵,我可以想像,如果拿一個空碗去接水,那麼還是得要100滴水才能溢出,但是如果我們拿一個已經裝有水的碗拿去接,那就不用100滴了。到此我們可以算出,要使10滴水讓碗中的水溢出,那麼碗中就先要裝90滴水。

  在定時計數器中,這90滴水就是我們所謂的初始值。問題2,在一個車間我們如何利用單片機對100件產品進行計件,並進行自動包裝呢?

  我們可以利用計數器計數100,在中斷中執行一個自動包裝的動作就可以了。

  在這裡計數初值有3個,假設有方式0:計數初值=8912(2的13次方)—100=8812。方式1:計數初值=65536(2的16次方)—100=65436。方式0:計數初值=256(2的8次方)—100=156。

  根據所得的初始值,再將其轉換為16進位或者2進位,就可以進行計數或者定時了。當然要讓程序完全的運行起來還需要相應的寄存器進行設置。這些可以從各種單片機教程中找到。


相關焦點

  • 51單片機---定時器 計數器
    8051系列單片機有兩個定時器:T0和T1,分別稱為定時器和定時器T1,這兩個定時器都是16位的定時器/計數器;8052系列單片機增加了第三個定時器/計數器T2;它們都有定時或事件計數功能,常用於時間控制、延時、對外部時間計數和檢測等場合
  • 51單片機定時器/計數器的結構和原理
    定時器/計數器簡稱定時器,其作用主要包括產生各種時標間隔、記錄外部事件的數量等,是微機中最常用、最基本的部件之一。803l單片機有2個16位的定時器/計數器:定時器0(T0)和定時器1(T1)。
  • 通過51單片機定時器/計數器實現精確延時
    MCS-51單片機內部共有兩個16位可編程定時器,計數器,即TO、Tl。既有定時功能,又有計數的功能。每個定時器都是由兩個8位的特殊功能寄存器THi和TLi組成(i=0、1)。TMOD是TO和Tl的工作方式控制寄存器,TCON是TO和Tl的運行狀態控制寄存器。
  • 單片機定時器計數器初值的計算
    1.計數器初值的計算把計數器計滿為零所需要的計數值設定為C,計數初值設定為TC,由此可得到公式:TC=M-C式中,M為計數器模值,該值和計數器工作方式有關。
  • 單片機定時器/計數器基本原理
    打開APP 單片機定時器/計數器基本原理 發表於 2019-06-17 09:19:32 單片機定時器/計數器基本原理
  • 單片機原理|定時器/計數器的工作原理及應用作業
    單片機的定時器T0用作計數方式時是( )。單片機的定時器T0用作定時方式時是 ( )。A、 外部中斷0B、 外部中斷1C、 定時器0中斷D、 定時器1中斷我的答案:A 得分: 2.3分 28MCS-51單片機定時器溢出標誌是( )。
  • 單片機中各種周期的關係與定時器原理
    在標準的51單片機中,一般情況下,一個機器周期等於12個時鐘周期,也就是機器周期=12*時鐘周期,(上面講到的原因)如果是12MHZ,那麼機器周期=1微秒。單片機工作時,是一條一條地從RoM中取指令,然後一步一步地執行。單片機訪問一次存儲器的時間,稱之為一個機器周期,這是一個時間基準。
  • 51單片機定時器初值的計算
    我們學習的8051單片機的時鐘範圍是1.2MHz-12MHz。 在8051單片機中把一個時鐘周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示)。機器周期在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。
  • 51單片機測變周期脈衝信號的簡便方法
    對等周期的脈衝信號的測量比較容易,只需測量任一脈衝寬度或周期就可以了,近年來已有許多MCS-51用戶利用測量脈衝信號的基本參數而開發新產品,如山東大學的「ZBCY—I型智能標槍速度測試儀」就是利用測量一個脈衝寬度來獲得標槍在某一飛行距離內的平均速度。
  • 單片機定時器周期計算公式
    打開APP 單片機定時器周期計算公式 發表於 2018-01-22 15:59:10 定時器是單片機的重要功能模塊之一,在檢測、控制領域有廣泛應用。
  • 6位LED顯示單片機控制電子鐘/計數器
    我們能提供的完整的彙編語言源程序清單及電路原理設計圖有助於學習者進行分析和進行實驗驗證產品1:6位LED顯示單片機控制電子鐘/計數器成品板成品每套84元本文引用地址:http://www.eepw.com.cn/article/201611/317464
  • 利用單片機PWM信號進行舵機控制[圖]
    脈衝計數可以利用51單片機的內部計數器來實現,但是從軟體系統的穩定性和程序結構的合理性看,宜使用外部的計數器,還可以提高CPU的工作效率。實驗後從精度上考慮,對於FUTABA系列的接收機,當採用1MHz的外部晶振時,其控制電壓幅值的變化為0.6mV,而且不會出現誤差積累,可以滿足控制舵機的要求。
  • 定時器
    定時器是一項偉大的發明,它可以對相當多需要精準時間控制的工作變得簡單了許多。現在我們已經將定時器用在了軍事方面,製成了定時炸彈,定時雷管。       定時器主要分為五種類型:    1.接通延時類定時器:這類定時器主要運用在PLC中;是最常見最基本的定時器,我們稱為SD型定時器。
  • 通過51單片機來控制直流電機
    );----------------------------------------------;名稱:51單片機來控制直流電機 ;主頻 6M晶震 51系列單片機;編譯環境:keil c51編譯通過;www.51hei.com單片機教程網原創,可以任意修改和作為學習測試用途;備註 :程序的關鍵部分是 T1定時中段程序裡面
  • 如何利用MCS-51單片機對周期波頻率進行測量
    本文介紹了用目前應用比較廣泛的MCS-51系列單片機對周期波頻率進行測量,並通過LED以數字形式直觀地示出頻率,實現測量的智能化,省去間接對頻率計算的麻煩與錯誤。文章對其測量原理,設計和實現作了說明,介紹了主要程序,並進行了誤差分析。 目前單片機廣泛應用到國民經濟建設和日常生活的許多領域,成為測控技術現代化不可缺少的重要工具。
  • 一個定時器生成多路PWM波形的原理和方法
    圖 1在微處理器,如單片機中,實現一個定時器生成多路PWM的方法如下。這兩個定時器功能非常簡單,基本上和SysTick 定時器相當。但是我在使用的時候確是費了一番周折才調試通過,所以還是應該將這兩個定時器的使用方法好好的寫一寫。基本定時器TIM6和TIM7各包含一個16位自動裝載計數器,由各自的可編程預分頻器驅動。簡單的說兩個定時器是從0計數到N(由自動裝載計數器來確定N的具體值),然後復位回0 重新計數。
  • STC12系列單片機PCA模塊應用
    STC12C5系列單片機屬於增強性單片機,有多強呢?帶有SPI接口,PCA模塊,定時器輸出,16K+的片上ROM,越來越妖孽了!前面見識了定時器輸出功能,現在來領教一下STC12C5A60S單片機的PCA捕捉比較模塊,後面有心情再看看SPI模塊。
  • 關於51單片機定時/計數器初值的計算
    2 個獨立的 8 位計數器,所以 TH0 、 TL0 的 M 均為 256 。    因為 MCS-51 的兩個定時器均為加 1 計數器,當初到最大值( 00H 或 0000H )時產生溢出,將 TF 位置 1 ,可發出溢出中斷,因此計數器初值 X 的計算式為: X=M- 計數值式中的 M 由操作模式確定,不同的操作模式計數器的長不相同,故M值也不相同。而式中的計數值與定時器的工作方式有關。
  • 51單片機軟體產生PWM驅動直流電機,頻率佔空比可調
    做了一個實例,以前都是用AVR直接硬體生成PWM,方便快捷,幾條語句的問題,驅動能力還強,從來沒仔細想過如何用51單片機軟體方法做一個,現在非要用51單片機做,那就直接開始製作,首先硬體焊接,軟體編程,只說程序部分
  • 淺談avr和arm的區別
    早期單片機主要由於工藝及設計水平不高、功耗高和抗幹擾性能差等原因,所以採取穩單片機妥方案:即採用較高的分頻係數對時鐘分頻,使得指令周期長,執行速度慢。以後的 CMOS單片機雖然採用提高時鐘頻率和縮小分頻係數等措施,但這種狀態並未被徹底改觀(51以及51兼容)。此間雖有某些精簡指令集單片機(RISC)問世,但依然沿襲對時鐘分頻的作法。