㈠ 單片機頻率計算公式
這得看是什麼單片機了:
對於精簡指令集性能的單片機的工作頻率(1/機器周期)=時鍾頻率(1/時鍾周期).
普通的51單片機來說:頻率是1MHZ,時鍾周期是1/12us(1除以12M),機器周期是12倍的時鍾周期--1us.
周期是頻率的倒數 或者頻率是周期的倒數
1秒:相當於頻率是1HZ ,也就是1/1S =1HZ
那麼1/1ms =1/0.001S =1000HZ
㈡ 怎麼用51單片機來產生固定的頻率
1、首先,你要算,38KHZ的頻率對應的周期就是1/38000秒,也就是26.32us(微秒),估算為26微秒;
2、現在,你的外部晶振是11.0592,那麼12分頻後的機器周期大約是1.0812us。也就是說需要大概24個機器周期來形成一個26微秒;
3、要產生如此精確的時間量,非定時器莫屬。那麼可以想像,只要根據定時器來定時,每12個機器周期後對輸出信號進行一次翻轉,那麼形成的信號就是一個占空比為50%的周期為24個機器周期即26us的信號了,此信號就是想要的38KHZ頻率的信號;
4、那麼把定時器設置在模式0、1就都是可以的,因為只需要讓它從初值(max-12)計數到最大值max就可以了,設定定時器的中斷,在每次中斷函數中,對輸出信號取反。
5、運行,一切OK!
㈢ at89c52單片機的時鍾頻率是多少
時鍾頻率和晶振的頻率相同。
單片機datasheet寫的0-24MHz。
如果模擬選12MHz,這是理想狀態時鍾。一個機器周期等於12個時鍾周期,就是1uS。但是實際應用中選擇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%誤差率,但在允許范圍,所以沒多大影響。
另外不建議使用內部時鍾,單片機內部時鍾都是有誤差的。
㈣ 單片機AT98S52和AT98C52的區別
AT98C52最高晶振頻慧物率24MHz
AT98S52最高晶振頻率33MHz
S比歷畢C多了128位元組的RAM
S比C多了在線ISP編程
S比C多了一個數據DPTR
S比C多了一個肢碧芹看門狗計時器
S比C多了掉電模式下能從中斷恢復