Ⅰ 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/晶振,得到的值就是定時時長。原理相同。
有不懂的地方隨時回復我。
希望我的回答能幫助到你。
Ⅱ 【單片機】單片機的定時時間是怎樣計算
單片機的定時時間的計算公式=計數值(定時值)* 機器周期= 計數值(定時值)* 12 / 晶振頻率。
上面的兩個等號是等價的,因為,單片機的機器周期=12秒/晶振頻率,因此兩個公式通用。
完成一個基本操作所需要的時間稱為機器周期。一般,一個機器周期由 若干個S周期(狀態周期)組成。80C51系列單片機一個機器周期由6個S周期組成。一個S周期(狀態周期),由2個時鍾周期組成。
若干個機器周期,組成了指令周期。根據指令不同,所需的機器周期數也不同。
(2)單片機可以運算多長的公式擴展閱讀
幾種典型指令;
1、單位元組周期指令(比如 INC A)
2、雙位元組單周期指令(比如 ADD A,#data)
3、單位元組雙周期指令 (比如 INC DPTR)
4、單位元組雙周期指令 (比如MOVX A @DPTR)
Ⅲ 單片機指令周期的計算
計算方法:PIC單片機的每四個時鍾周期為一個內部指令周期,例如:8MHz的晶振,則內部指令周期為1/(8/4)= 0.5 uS
實例一:35us, 8MHz的晶振, 8位定時器, 分頻比1/2 , 初值 E4
實例二:156.25us , 32768Hz的晶振, 8位定時器, 分頻比1/32 , 初值 FC
計算方法一: 35 = =(256-初值)*分頻*4/晶振 + 14/分頻 =(256-初值)+14/2
計算方法二:0.015625 =(256-初值)*分頻*4/晶振 = (256-初值)*32*4/32768
特別注意:分頻比1-8 需要加上一個14/分頻
指令周期是指令周期執行某一條指令所消耗的時間,它等於機器周期的整數倍。傳統的80C51單片機的指令周期大多數是單周期指令,也就是指令周期=機器周期,少部分是雙周期指令。
(3)單片機可以運算多長的公式擴展閱讀
在MCS-51系統中,有單周期指令,雙周期指令。四周期指令只有乘,除兩條指令。指令的運算速度和它的機器周期直接相關,機器周期數較小則執行速度快。
在編程時要注意選用具有同樣功能而機器周期數小的指令。每一條指令的執行都可以包括取指和執行兩個階段。在取指階段,CPU從內部或者外部ROM中取出指令操作碼及操作數,然後再執行這條指令。
在8051指令系統中,根據各種操作的繁簡程度,其指令可由單位元組,雙位元組和三位元組組成。從機器執行指令的速度看,單位元組和雙位元組指令都可能是單周期或雙周期,
而三位元組指令都是雙周期,只有乘,除指令佔四個周期,一條指令的位元組數表徵這條指令在存儲器中所佔空間大小,而周期數表徵運行這條指令所花時間長短,即運行速度。
Ⅳ 關於單片機的運算
因為51單片機是8位的,所以只能以最大8位計算,就是說超過了8位(256)會將中間值存到寄存器里,所以你像你這個運算量蠻大的,有些單片機像32位的,就一條乘法指令就完成了,而51需要很多條,而且在執行時間上,51屬於低頻,速度速度有點慢的,因為51的指令執行周期比較慢
Ⅳ 完整可用的51單片機PID運算公式
沒意義。PID是有很強的針對性的,我以前看到的幾個網上的PID程序都還是可以用的。但是需要你自己定的,可不只是PID三個數。采樣周期是多少?PID計算後打算用多少位的數據,都是要自己定的,等等。
而所謂溫度控制的程序,直接套用的(參數不套用,自己調),沒有幾個能好用的,要麼計算量太大,要麼調節不夠好。
還是看看公式自己寫的好。就算我寫了一個在我手上好用的,給你,你那也未必好用,因為還要根據實際去修改一些輸出、輸入量,或加以限制,不同的系統,這些都是不同的。就像是汽車底盤都是4個輪子,你要的是越野車,我給你個轎車的底盤,上面再怎麼改也不好用阿!
Ⅵ 單片機的運算速度怎麼計算
每一條程序都有所需要的機器周期數,在很多單片機書的附錄中都有,你可以根據自己的程序查一下,然後把它們都加起來(注意循環語句)的總機周乘以每個機周的時間(你的是1us),就知道執行所需要的時間了。
Ⅶ 單片機時鍾公式
如果是51單片機
時鍾周期是機器周期的12倍
機器周期是晶體振盪器頻率的倒數
1/6MHz=1/6us
51單片機的時鍾周期為12*(1/6us)=2us.
Ⅷ 單片機中用定時器 和計數器來求頻率 計算公式是怎麼寫的
用定時器來及頻率,你只需將定時器定時為1秒,1秒內的脈沖個數就是頻率了。如果你一定要公式,非常簡單,用計數器計到的脈沖個數除以定時時間就是頻率了。其中定時器每計一次的時間是晶振的十二分之一,例如,12M晶振就是(12*10^6)*(1/12)=1us.
Ⅸ 單片機頻率計算公式
這得看是什麼單片機了:
對於精簡指令集性能的單片機的工作頻率(1/機器周期)=時鍾頻率(1/時鍾周期).
普通的51單片機來說:頻率是1MHZ,時鍾周期是1/12us(1除以12M),機器周期是12倍的時鍾周期--1us.
周期是頻率的倒數 或者頻率是周期的倒數
1秒:相當於頻率是1HZ ,也就是1/1S =1HZ
那麼1/1ms =1/0.001S =1000HZ