專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)為什么要晶振_51單片機(jī)晶振頻率

作者:mcuqihang   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年05月04日   【字體:

首先解釋一下單片機(jī)為什么需要晶振。

 

 

晶振是什么?全稱是石英晶體振蕩器,是一種高精度和高穩(wěn)定度的振蕩器。通過一定的外接電路來,可以生成頻率和峰值穩(wěn)定的正弦波。而單片機(jī)在運(yùn)行的時(shí)候,需要一個(gè)脈沖信號(hào),做為自己執(zhí)行指令的觸發(fā)信號(hào),可以簡單的想象為:單片機(jī)收到一個(gè)脈沖,就執(zhí)行一次或多次指令。

第二個(gè)問題,是不是外接晶體的值可以隨意選擇呢?

當(dāng)然不是,這就像不同的發(fā)動(dòng)機(jī)有不同的最大功率一樣,每種型號(hào)的的單片機(jī)都有最大能接受的晶體頻率。先說51,它能夠外接的最大晶體是24M,AVR單片機(jī)能夠外接的最大晶振是16M。更高級(jí)的可編程芯片,例如FPGA,ARM,可以達(dá)到幾百M,不過暫時(shí)不在我們的考慮范圍之內(nèi)。

 

第三個(gè)問題,為什么51最大可外接24M(不同廠家的值略有不同),而AVR等高級(jí)單片機(jī)只有16M?這設(shè)計(jì)到單片機(jī)的指令結(jié)構(gòu)。

51單片機(jī)用的是復(fù)雜指令集,最直接的體現(xiàn)就是,它需要12個(gè)時(shí)鐘周期來運(yùn)行一條指令,當(dāng)它外接12M晶體時(shí),時(shí)鐘周期為1/12M秒,運(yùn)行一條簡單的指令需要1/1M秒;而430AVR單片機(jī)使用的是精簡指令集,只需要一個(gè)時(shí)鐘周期就能運(yùn)行一條指令。這樣看來,51最快的指令執(zhí)行速度也就是2M每秒,而430或者AVR單片機(jī)的指令執(zhí)行速度是16M每秒。

 

第四個(gè)問題,是不是所有的單片機(jī)都需要晶體?這就要回到我們最初的目的,我們給單片機(jī)接上晶體的目的是什么?

 

獲取穩(wěn)定的脈沖!那只要有合適的方法生成穩(wěn)定的脈沖,那就可以去掉外接的晶體。舉例,AVR單片機(jī),它在單片機(jī)內(nèi)部集成了一個(gè)RC振蕩電路,通過對(duì)熔絲位進(jìn)行編程,可以內(nèi)部生產(chǎn)1M,2M,4M,8M的震蕩頻率,進(jìn)而替代相應(yīng)的晶體。

缺點(diǎn)是振蕩電路在環(huán)境比較惡劣的情況下,不是很穩(wěn)定,對(duì)一些計(jì)時(shí)要求比較嚴(yán)格的儀器和設(shè)備,不建議使用。如果對(duì)時(shí)間要求不高,多一個(gè)毫秒少一個(gè)毫秒無所謂的話,那就可以放心用了。

第五個(gè)問題,12M晶體和11.0592M晶體有什么區(qū)別?

呵呵,其實(shí)單從指令的執(zhí)行速度來看,區(qū)別不大。采用11.0592M的唯一目的是為了獲得精準(zhǔn)的串口通信頻率,簡稱就是波特率,它能夠精準(zhǔn)的生成9600的波特率,在串口通信中較常用。

先寫到這,如果還有疑問可加扣扣2246080671,我看到后會(huì)回復(fù)。

關(guān)閉窗口

相關(guān)文章