首先解釋一下單片機(jī)為什么需要晶振。
晶振是什么?全稱是石英晶體振蕩器,是一種高精度和高穩(wěn)定度的振蕩器。通過一定的外接電路來,可以生成頻率和峰值穩(wěn)定的正弦波。而單片機(jī)在運(yùn)行的時(shí)候,需要一個脈沖信號,做為自己執(zhí)行指令的觸發(fā)信號,可以簡單的想象為:單片機(jī)收到一個脈沖,就執(zhí)行一次或多次指令。
第二個問題,是不是外接晶體的值可以隨意選擇呢?
當(dāng)然不是,這就像不同的發(fā)動機(jī)有不同的最大功率一樣,每種型號的的單片機(jī)都有最大能接受的晶體頻率。先說51,它能夠外接的最大晶體是24M,AVR單片機(jī)能夠外接的最大晶振是16M。更高級的可編程芯片,例如FPGA,ARM,可以達(dá)到幾百M(fèi),不過暫時(shí)不在我們的考慮范圍之內(nèi)。
第三個問題,為什么51最大可外接24M(不同廠家的值略有不同),而AVR等高級單片機(jī)只有16M?這設(shè)計(jì)到單片機(jī)的指令結(jié)構(gòu)。
51單片機(jī)用的是復(fù)雜指令集,最直接的體現(xiàn)就是,它需要12個時(shí)鐘周期來運(yùn)行一條指令,當(dāng)它外接12M晶體時(shí),時(shí)鐘周期為1/12M秒,運(yùn)行一條簡單的指令需要1/1M秒;而430和AVR單片機(jī)使用的是精簡指令集,只需要一個時(shí)鐘周期就能運(yùn)行一條指令。這樣看來,51最快的指令執(zhí)行速度也就是2M每秒,而430或者AVR單片機(jī)的指令執(zhí)行速度是16M每秒。
第四個問題,是不是所有的單片機(jī)都需要晶體?這就要回到我們最初的目的,我們給單片機(jī)接上晶體的目的是什么?
獲取穩(wěn)定的脈沖!那只要有合適的方法生成穩(wěn)定的脈沖,那就可以去掉外接的晶體。舉例,AVR單片機(jī),它在單片機(jī)內(nèi)部集成了一個RC振蕩電路,通過對熔絲位進(jìn)行編程,可以內(nèi)部生產(chǎn)1M,2M,4M,8M的震蕩頻率,進(jìn)而替代相應(yīng)的晶體。
缺點(diǎn)是振蕩電路在環(huán)境比較惡劣的情況下,不是很穩(wěn)定,對一些計(jì)時(shí)要求比較嚴(yán)格的儀器和設(shè)備,不建議使用。如果對時(shí)間要求不高,多一個毫秒少一個毫秒無所謂的話,那就可以放心用了。
第五個問題,12M晶體和11.0592M晶體有什么區(qū)別?
呵呵,其實(shí)單從指令的執(zhí)行速度來看,區(qū)別不大。采用11.0592M的唯一目的是為了獲得精準(zhǔn)的串口通信頻率,簡稱就是波特率,它能夠精準(zhǔn)的生成9600的波特率,在串口通信中較常用。
-
單片機(jī)
+關(guān)注
關(guān)注
6055文章
44788瀏覽量
643382 -
晶振
+關(guān)注
關(guān)注
34文章
3098瀏覽量
69110
原文標(biāo)題:單片機(jī)為什么要晶振?
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
單片機(jī)內(nèi)部的振蕩器和外接晶振的關(guān)系
單片機(jī)為什么要晶振_51單片機(jī)晶振頻率
單片機(jī)怎么選擇晶振頻率
單片機(jī)與晶振到底有何關(guān)系?
怎樣去選擇晶振旁外接電容呢
單片機(jī)的晶振問題詳解
圖文解說,帶你搞懂單片機(jī)晶振電路
不用外接電容復(fù)位和外接晶振的單片機(jī)和外接復(fù)位和晶振的單片機(jī)使用的編程語言一樣嗎?
晶振對于單片機(jī)的影響分析
單片機(jī)為什么需要晶振?晶振在單片機(jī)中有什么樣的作用
晶振旁外接電容的選擇

評論