① 51單片機工作在定時計算器方式3時,最大計算值是多少
工作方式3:8位定時器/計數器工作模式,最多可計數2的8次方次,即:256次,計數值0~255;
② 單片機如何計算初值
一般最直接的想法就是,指定一個計時值x,然後從0開始累加計數,計數到x表示時間到,可以處理事務了。這種處理方法,需要一個數值比較器,每計一次數,就比較一下。這對單片機或者說硬體電路來講,一個8位計數器就需要包含一個8位數值比較器,實在不夠簡便。
第二種想法,是指定一個計時值x,然後進行減計數,減計數到0表示時間到。這也要一個比較器,只不過是個0值比較器,硬體電路上比上一種要簡單一些,但減計數器還是不常用。我們知道累加器才是最簡便的硬體電路之一。
上面兩種方法,都是軟體實現的定時器的合理想法。那麼硬體電路實現定時最簡便的方法是什麼呢?
那就是用累加器來實現。比如一個8位的累加器,可以從0累加計數,計數到256時溢出,產生溢出信號,就可以觸發事務處理了。
要是我們只需要計數10次就夠了,則可以將計數初值定義為246。那樣,計數10次後就可以達到256,產生溢出信號了。
所以就有了(2^n-x)。n是計數器的位數;2^n就是最大計數值;x是計數初值。整個這段,表示我們需要的計時次數。
計數器每次計數的時間間隔是t,及計數周期。那麼總的計時時長m=計數周期×計數次數=t×(2^n-x),也就是m=(2^n-x)×t。
計數位數n由選用的單片機確定,通常等於8,12,16或32等等,即8位、12位等計數器。計數周期t由定時器基礎時鍾確定,可通過設置定時器時鍾源和選擇時鍾分頻數確定。這兩項靈活性不大,一般在程序初始化時就應設定。
初值x可以在應用時,根據定時需求進行修改確定。
協調好n,t和x三者的設定,就可以完美實現定時功能了。
③ 在單片機里1到65535的數值定義
在單片機里1到65535的數值定義單片機一般為8位,就是1個位元組,一個位元組最大為十進制的255,十六進制的FF;那麼16位的單片機就是2個位元組長度,255*255=65535,這就是16位單片機鍾雙位元組寄存器的長度。
=65.535ms,計數器初值設置50ms,65536-50000=15536=3CB0H,,使用一個計數器計數20(10個=500ms取反,常用1s閃爍使用)個50ms=1s。
主要寄存器:
(1)累加器A累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用於保存一個操作數;運算後,用於保存所得的和、差或邏輯運算結果。
(2)數據寄存器DR數據寄存器通過數據匯流排向存儲器和輸入/輸出設備送(寫)或取(讀)數據的暫存單元。它可以保存一條正在解碼的指令,也可以保存正在送往存儲器中存儲的一個數據位元組等等。
④ 單片機定時器/計數器四種工作方式區別
方式0:13位定時計數方式,最大計數值為2^13=8192,定時8192個機器周期。此方式已經不再用了,是為了和以前的單片機兼容,學初者不用掌握。
方式1:16位定時計數方式,最大計數值為2^16=65536,定時65536個機器周期。此方式可實現最大的定時時間和最大計數次數。是最常用方式之一。
方式2:8位自動重裝計數方式,最大計數值為2^8=256,定時256個機器周期。此方式工作時定時或計數到了不用重裝初值,精度較高。另外在串口通訊時常用此方式。是最常用方式之一。
方式3:特殊工作方式。將定時器0分成兩個8位功能不全的定時計數器,要佔用T1部分功能。也不常用。
⑤ 51單片機的方式0下,最大計數值為多少個機器周期方式1呢
晶振頻率為6MHZ,則振盪周期Tosc=1/6 uS。
工作方式0:此時為13位定時/計數器,則最大計數值為2的13次方(即8192)
工作方式1:為16位定時/計數器,則最大計數值為2的16次方(即65536)
工作方式2:為自動重裝初值的8位定時器/計數器,則最大計數值為2的8次方(即256)
由於定時器/計數器每加1佔用的時間為1個機器周期
因此各自最大定時時間如下:
工作方式0:最大定時時間 TM = 8192*MC
工作方式1:最大定時時間 TM = 65536*MC
工作方式2:最大定時時間 TM = 256*MC
其中MC為內部機器脈沖周期(即機器周期)
晶振為6MHz,如果按常規標準的12分頻的51系列單片機算的話(MC = 12*Tosc = 2微秒)。
則各自最大定時時間如下:
工作方式0:最大定時時間 TM = 8192*MC =16384 uS
工作方式1:最大定時時間 TM = 65536*MC =131072 uS
工作方式2:最大定時時間 TM = 256*MC = 512 uS
其中MC為內部機器脈沖周期(即機器周期)。