首頁 / 電子技術在哪些領域方麵用 / 51單片機定時器計數器工作方式有幾種,有什麼區別-(51單片機計數器和定時器的區別)

    51單片機定時器計數器工作方式有幾種,有什麼區別-(51單片機計數器和定時器的區別)

    Time:2024-01-31 15:54:26 Read:406 作者:CEO

    在51單片機的學習過程中,我們經常發現中斷、計數器/定時器、串口是學習單片機的難點。對於初學者來說,這部分內容比較難理解。但我個人覺得這部分內容才是單片機學習的重點。如果你在一個學期的課堂學習或者自學中都沒有理解這部分內容,說明你還沒有掌握51單片機,更談不上單片機的開發。我們都知道,許多已完成的微控製器項目都是基於這些部件的。萬年曆基於定時器,鬧鍾基於中斷,在線通信基於串口。

    其中計數器/定時器對於初學者來說很容易混淆。下麵我結合自己的學習經曆談談這方麵的一些看法。

    51單片機定時器計數器工作方式有幾種,有什麼區別-(51單片機計數器和定時器的區別)

    計數器和定時器的本質是一樣的。它們都對微控製器中生成的脈衝進行計數。但計數器是單片機外部觸發的脈衝,定時器是單片機內部由晶振觸發產生的脈衝。當脈衝間隔相同時,計數器和定時器是同一個概念。

    定時器和計數器中有一個溢出的概念,那麼什麼是溢出呢?哈哈,我們可以從一些生活常識中得到答案。當一個碗放在水龍頭下接水時,不一會兒,碗裏就裝滿了水,溢出來了。同理,如果水龍頭裏的水一滴一滴地滴進碗裏,那麼總會有一滴水導致碗裏的水溢出。碗裏溢出的水被浪費了,但是單片機的定時計數器溢出會引起中斷。至於什麼是中斷,我們下次再講。這裏隻是一個初步的概念。中斷可以中斷係統的正常運行。至於中斷服務程序運行的過程,當服務程序運行完畢後,會自動返回到中斷的地方繼續運行。

    在定時器計數器中,我們有一個概念叫容量,即最大計數次數。模式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。 方法一:計數初始值=65536(2 的16 次方)- 100=65436。 模式0:計數初始值=256(2 的8 次方)- 100=156。

    根據得到的初始值,轉換為十六進製或二進製,然後可以進行計數或計時。當然,為了程序能夠完整運行,需要設置相應的寄存器。這些可以在各種微控製器教程中找到。

    Copyright © 2002-2024 應用電子技術網 版權所有 
    備案號:

    免責聲明: 1、本站部分內容係互聯網收集或編輯轉載,並不代表本網讚同其觀點和對其真實性負責。 2、本頁麵內容裏麵包含的圖片、視頻、音頻等文件均為外部引用,本站一律不提供存儲。 3、如涉及作品內容、版權和其它問題,請在30日內與本網聯係,我們將在第一時間刪除或斷開鏈接! 4、本站如遇以版權惡意詐騙,我們必奉陪到底,抵製惡意行為。 ※ 有關作品版權事宜請聯係客服郵箱:478923*qq.com(*換成@)