1樓:生活如歌
標準的51微控制器晶振是1.2m-12m,一般由於一個機器週期是12個時鐘週期,所以先12m時,一個機器週期是1us,好計算,而且速度相對是最高的(當然現在也有更高頻率的微控制器)。
11.0592m是因為在進行通訊時,12m頻率進行序列通訊不容易實現標準的波特率,比如9600,4800,而11.0592m計算時正好可以得到,因此在有通訊介面的微控制器中,一般選11.
0592m
2樓:匿名使用者
這主要是對脈衝時間有要求的時候就要別的,因為序列口的波特率對每個脈衝時間有嚴格的要求,那個11.0562的經過分頻後剛好和電腦上的波特率可以同步。而平時對時序要求不嚴的就用12m。
因為每條指令完成的時間都是晶振頻率的1/12的整數倍。
3樓:
11.0952mhz的晶振在計算時鐘、串列埠通訊波特率等運算中能夠得到一個整數,計算的結構更加的精確和方便
4樓:帝國科技晶振
單機片晶振更多的知識我知道,你可以進帝國科技裡面有很多詳細的解答
5樓:
一個照顧波特率,一個照顧時間。
為什麼微控制器晶振實際是11.0592mhz,而不是12mhz
6樓:緣來是我
因為11.0592mhz能夠準確地劃分成時脈頻率,與uart(通用非同步接收器/傳送器)量常見的波特率相關。特別是較高的波特率(19600,19200),不管多麼古怪的值,這些晶振都是準確,常被使用的。
用11.0592晶振的原因是51微控制器的定時器導致的,用51微控制器的定時器做波特率發生器時,如果用11.0592mhz的晶振,根據公式算下來需要定時器設定的值都是整數;如果用12mhz晶振,則波特率都是有偏差的。
比如9600,用定時器取0xfd,實際波特率10000,一般波特率偏差在4%左右都是可以的,所以也還能用stc90c516晶振12m波特率9600,倍數時誤差率6.99%,不倍數時誤差率8.51%,資料肯定會出錯。
這也就是串列埠通訊時大家喜歡用11.0592mhz晶振的原因,在波特率倍速時,最高可達到57600,誤差率0.00%。
用12mhz,最高也就4800,而且有0.16%誤差率,但在允許範圍,所以沒多大影響。
7樓:
晶振分好多種,他們在不同的場合有不同的應用,11.0592和12mhz的晶振都是比較常用的,並不是說12mhz晶振實際是11.0592mhz,11.
0952mhz的晶振在計算時鐘、串列埠通訊波特率等運算中能夠得到一個整數,計算的結構更加的精確和方便。
8樓:喬熠暉
也有12mhz,而且你想想算週期還更準確呢,是吧,整整1us。那11.0592呢?
在計算波特率的時候你就會用到,好多的波特率的值和110592是可以約掉的,也就是說傳送接收每一位時間更準確。所以要用11.0592m,等你學到串列埠通訊的時候你就知道了。
而用12m的話會有一定的誤差,而且就像誤差累積一樣。不信你到時候試一試。一句話,就是為了計算波特率方便
9樓:灬隨緣灬
不是不可以是12mhz,選用11.0592mhz,是在某些場合下用刀定時器的時候,可以定時更加精確。
10樓:
選用11.0592mhz,是在某些場合下用刀定時器的時候,可以定時更加精確。
11.0592mhz是二的指數long2 11.0592m正好是個整數。
請教老師,51微控制器在12M晶振,C語言程式設計時,延時函式120次1ms(書本上是這樣的,不懂),是怎樣得來的
c的話其實時間沒有辦法完全定性地計算的 如果非得精確的話只能使用定時器了,或者彙編的也行不過時間要求精度不是很高的話使用下面的 就行了當時使用示波器把時間完全調準的,65536ms範圍內還是比較準的,已經可以滿足通常的要求了 include reg51.h 標頭檔案包含 巨集定義 define ui...
微控制器中斷程式怎麼讀啊,什麼是微控制器的中斷
讀懂中斷服務程式很容易的。首先你要搞懂這是什麼中斷,從中斷服務程式第一行可以看出來。void int time void interrupt 1這是中斷名,可以隨便取 這是中斷號,從0 開始往上排,1表示定時器0中斷。分別是 0 外部中斷0 1 定時器0中斷。2 外部中斷1 3 定時器1 4 串列埠中...
為什麼51微控制器引腳懸空時候電壓是5v,接上外設後卻只有1 6v了呢
微控制器引腳在高電平時輸出的電流是很小的,所以直接連線led的亮度很低,但是微控制器在輸出低電平時可以允許更大的電流的通過,所以你把led反著接,這樣效果就好了。像這樣 來普通的mcs 51微控制器 比如自at89c51 stc89c51rc等等 其p1 p2 p3i o口為弱上拉的i o口,它的拉...