A. 51單片機用定時器計時應該如何計算求大神支招
這個其實很簡單的,你只需要知道一個條件即可:晶振頻率。
因為51單片機的機器周期計算公式是12/晶振頻率MHz,若晶振為12MHz,則機器周期就是12/(12×10^6)=1us,也就是說計數器沒1us計數一次。
那麼有了這個條件就好辦多了,一般來說,12MHz晶振下,16位定時器滿計數是65536次,每次1us,最大就能計時65.536ms,則65536減去多少就是定時多少,如(65536-X)/256,就是定時X微秒。
那麼如果晶振不是12MHz,就要把上述的X乘以12/晶振,得到的值就是定時時長。原理相同。
有不懂的地方隨時回復我。
希望我的回答能幫助到你。
B. 51單片機的定時器計時怎樣計算
51但單片機的定時,要先計算,然後根據要求編寫程序,計算會用到公式:t=Tc×(2L-TC)=12/f×(2L-TC) t是定時時間 Tc是機器周期 fs是晶振頻率 L是計數器的長度 對於T0,T1有下面三種方式: 方式0:L=13 方式1:L=16 方式2:L=8 對於T2:L=16 然後剩下的就是按照算出的常數編寫程序了,就靠你自己了。。。。
C. 51單片機定時器定時時間t的影響因素有哪些
單片機的定時器,是對系統時鍾脈沖進行計數的,因此定時器的最小定時時間,即響應時間,受制於系統時鍾頻率。
定時器的響應,大都是通過中斷常式來實現,因此,運行起來就包括進入退出中斷常式的基本耗時,以及用戶的應用耗時,都在現實中影響到定時器的最小時間設定。
看見,影響定時器的根本是系統時鍾頻率,可操作的機會不大,在中斷常式中摳點時間吧,主要還是在用戶應用目的上,因此,代碼效率很重要。
不要什麼都放在中斷常式中運行,可通過設置標記,讓大部分代碼在中斷常式外運行。
D. 51單片機定時器2的最短定時時間怎麼有限制
51單片機定時器,晶振是12MHZ、12分頻,理論上最短定時時間1微秒,
但是,CPU 運行指令 需要時間,只要中斷服務程序 的運行時間 不超過定時器 定時時間,
並且 有些餘量,則就不成問題,如果沒有餘量,則中斷結束 又進入 中斷,
如果 超過定時器 定時時間,則來不及 處理 定時也就不準確了。
用 C 語言編程,有可能 定時時間 過短 會有問題,有不好 計算中斷用去多少時間。
如果用 匯編語言 編程,晶振是12MHZ、12分頻,只是產生一個方波信號,30KHz 頻率沒有問題。
當然你要檢測 准確性 加入計數程序後 會佔用時間,
一般編程時, 在中斷 服務程序中 盡量少佔用時間,能不在中斷服務程序中處理的 事盡量 不在
中斷服務程序中 處理。
E. 51單片機定時寄存器定時也不到一秒鍾,如果想定時1分鍾該如何定時,
51單片機定時工作在方式1,是16位計數方式,如果晶振頻率是12M,機器周期
是1us,那麼最大的定時時間也只有65.536ms,要直接定時1秒是不可能的。但是,可以定時50ms,採用中斷方式,每50ms定時到,要中斷一次的,在中斷程序就對中斷計數,中斷20次的時間就是50msX20=1000ms=1秒。有了1秒計時,那1分鍾就容易了,對1秒再計數啊,60秒就是1分啦。可能你沒有寫過時鍾程序吧,電子鍾程序就是這種方法,再計60分為1小時,24小時為一日,依此,可以計年月日呢。這有什麼難的。關鍵是對中斷計數,就可以解決長時間定時了。
F. 51單片機T0定時器4種方式的定時時長分別是多少
模式0:8192
模式1:65536
模式2:256(自動重裝載模式,波特率發生器必須是這個模式)
模式3:256(該模式用處不大,將定時器分成兩個8位定時器)
G. 51單片機長定時怎麼做
當晶振頻率為12MHZ時,51單片機定時器一次最長定時時間是65.536ms,要想實現長定時,可以多次定時累加,例如,要讓實現10S定時,可以讓定時器定時50ms,並聲明一個變數,專門累計中斷次數,定時器每中斷一次,該變數加1,當變數值為200時,總定時時間就是10S。
H. 51單片機如何計算定時時間
如果只是計算定時而無需理論根據,可下載一個MCUtool.exe小工具,可很方便地得出。此工具還有其它 如延時時間計算,波特率計算,漢字編碼查詢等諸多功能 。
I. 51單片機的定時器的時間怎麼算
51單片機1個機器周期=12個時鍾周期,頻率為12MHZ,則一個機器周期為1US,具體到定時器程序就是,假如你想定1MS,那麼單片機每次加一個一,就要過1US,那麼1MS就要加1000次,所以用65535-1000=64535;再把64535換成16進制為FC17,把FC付給TH0,17給TLO,即可定時1MS,因為65535他就溢出進入中斷。