單片機(jī)晶振問題及解決方法小結(jié)
1、單片機(jī)晶振不起振原因分析
遇到單片機(jī)晶振不起振是常見現(xiàn)象,那么引起晶振不起振的原因有哪些呢?
(1) PCB板布線錯(cuò)誤;
(2) 單片機(jī)質(zhì)量有問題;
(3) 晶振質(zhì)量有問題;
(4) 負(fù)載電容或匹配電容與晶振不匹配或者電容質(zhì)量有問題;
(5) PCB板受潮,導(dǎo)致阻抗失配而不能起振;
(6) 晶振電路的走線過長;
(7) 晶振兩腳之間有走線;
(8) 外圍電路的影響。
解決方案,建議按如下方法逐個(gè)排除故障:
(1) 排除電路錯(cuò)誤的可能性,因此你可以用相應(yīng)型號單片機(jī)的推薦電路進(jìn)行比較。
(2) 排除外圍元件不良的可能性,因?yàn)橥鈬慵䶮o非為電阻,電容,你很容易鑒別是否為良品。
(3) 排除晶振為停振品的可能性,因?yàn)槟悴粫?huì)只試了一二個(gè)晶振。
(4) 試著改換晶體兩端的電容,也許晶振就能起振了,電容的大小請參考晶振的使用說明。
(5) 在PCB布線時(shí)晶振電路的走線應(yīng)盡量短且盡可能靠近IC,杜絕在晶振兩腳間走線。
2、單片機(jī)晶振電路中兩個(gè)微調(diào)電容不對稱會(huì)怎樣?相差多少會(huì)使頻率怎樣變化?我在檢測無線鼠標(biāo)的接受模塊時(shí),發(fā)現(xiàn)其頻率總是慢慢變化(就是一直不松探頭的手,發(fā)現(xiàn)頻率慢慢變小)晶振是新的!
答:電容不對稱也不會(huì)引起頻率的漂移,你說的頻率漂移可能是因?yàn)榫д竦碾娙莸娜萘亢懿环(wěn)定引起的,你可以換了試,換兩電容不難,要不就是你的晶振的穩(wěn)定性太差了,或者你測量的方法有問題.
3、51單片機(jī)時(shí)鐘電路用12MHZ的晶振時(shí)那電容的值是怎樣得出來的?拿內(nèi)部時(shí)鐘電路來說明吧!
答:其實(shí)這兩個(gè)電容沒人能夠解釋清楚到底怎么選值,因?yàn)?2pF實(shí)在是太小了。
這個(gè)要說只能說和內(nèi)部的振蕩電路自身特性有關(guān)系,搭配使用,用來校正波形,沒有人去深究它到底為什么就是這么大的值。
4、晶振為何被要求緊挨著IC,單片機(jī)晶振不起振?
答:原因如下:
晶振是通過電激勵(lì)來產(chǎn)生固定頻率的機(jī)械振動(dòng),而振動(dòng)又會(huì)產(chǎn)生電流反饋給電路,電路接到反饋 后進(jìn)行信號放大,再次用放大的電信號來激勵(lì)晶振機(jī)械振動(dòng),晶振再將振動(dòng)產(chǎn)生的電流反饋給電路,如此這般。當(dāng)電路中的激勵(lì)電信號和晶振的標(biāo)稱頻率相同時(shí),電 路就能輸出信號強(qiáng)大,頻率穩(wěn)定的正弦波。整形電路再將正弦波變成方波送到數(shù)字電路中供其使用。
問題在于晶振的輸出能力有限,它僅僅輸出以毫瓦為單位的電能量。在 IC(集成電路) 內(nèi)部,通過放大器將這個(gè)信號放大幾百倍甚至上千倍才能正常使用。
晶振和 IC 間一般是通過銅走線相連的,這根走線可以看成一段導(dǎo)線或數(shù)段導(dǎo)線,導(dǎo)線在切割磁力線的時(shí)候會(huì)產(chǎn)生電流,導(dǎo)線越長,產(chǎn)生的電流越強(qiáng)。
現(xiàn)實(shí)中,磁力線不常見,電磁波卻到處都是,例如:無線廣播發(fā)射、電視塔發(fā)射、手機(jī)通訊等等。晶振和IC之間的連線就變成了接收天線,它越長,接收的信號就 越強(qiáng),產(chǎn)生的電能量就越強(qiáng),直到接收到的電信號強(qiáng)度超過或接近晶振產(chǎn)生的信號強(qiáng)度時(shí),IC內(nèi)的放大電路輸出的將不再是固定頻率的方波了,而是亂七八糟的信 號,導(dǎo)致數(shù)字電路無法同步工作而出錯(cuò)。
所以,畫PCB(電路板)的時(shí)候,晶振離它的放大電路(IC管腳)越近越好。
5、單片機(jī)晶振與速度的疑問,執(zhí)行一條指令的周期不是由晶振決定的嗎。那么比如51單片機(jī)和MSP430,給51接高速晶振,430接低速的,是不是51跑的要快?是不是速度單片機(jī)速度僅僅與晶振有關(guān),關(guān)鍵是單片機(jī)能不能支持那么大的晶振?我的理解對嗎?
答:每個(gè)單片機(jī)的速度是受到內(nèi)部邏輯門電平跳變速度的**的。
你說的沒錯(cuò),對于一個(gè)51,給他用更高的晶振,速度會(huì)快些。
但是對于高級的單片機(jī)就不一樣了。高級單片機(jī)內(nèi)部,一般都是有頻率控制寄存器的,所以,簡單的增加晶振,可能達(dá)到單片機(jī)的極限,導(dǎo)致跑飛。
6、單片機(jī)的運(yùn)行速度和晶振大小的關(guān)系,若單片機(jī)的最高工作頻率是40M,晶振是否可以選擇24M或更高,但不超過40M,這樣單片機(jī)的運(yùn)行速度是否大增?長期在此工作頻率下對單片機(jī)是否有不良影響?單片機(jī)對晶振的選擇的原則是怎樣的?謝謝!
答:當(dāng)然是有影響的,單片機(jī)的工作速度越快,功耗也越大,受干擾也會(huì)越厲害,總之最高能跑40M的,跑不超過40M的是沒有問題的,只是對相關(guān)的技術(shù)(如PCB的設(shè)計(jì)元件的選取等)會(huì)高去很多.
7、請問:有什么方法可以確定某一款單片機(jī)在某一大小的晶振下是否能正常工作?
答:晶振好比單片機(jī)的心臟
晶振選擇太高不太合適,具體晶振上限是多少,恐怕測不出來,只能按照人家單片機(jī)的要求,一般STC系列單片機(jī)上限是35M或40M,stc單憑上寫的有,如STC11F16XE 35I-LQFP44G其中35I就是晶振最高35M的工業(yè)級芯片。
超過上限會(huì)出現(xiàn)什么樣的問題,沒有測試過,一般晶振選擇12M的比較多,如果選擇STC 1T指令的,就相當(dāng)于12*12=144M的晶振。如果用于串口通信,建議選用11.0592M的或22.184M,選擇晶振最主要還是參照人家的說明書。
8、4個(gè)AT89C51單片機(jī)能否用一個(gè)12M的晶振使其都正常工作?一個(gè)采用內(nèi)部時(shí)鐘方式,其余三個(gè)用外部方式...那我四個(gè)都用內(nèi)部方式可以不(將4個(gè)單片機(jī)都并聯(lián)在一個(gè)晶振上)?
答:可以,其中一個(gè)正常接晶振,他的XTAL2輸出接到另外三個(gè)的XTAL1輸入上。
9、AT89C51單片機(jī)4兆的晶振能不能啟動(dòng)?
答:當(dāng)然可以,看看datasheet吧,我估計(jì)1M的都可以
還有的單片機(jī)如2051可能還可以低
臺系日系有的可以到32.768kHz
10、89c51單片機(jī)的復(fù)位電路中常采用12MHZ的晶振,實(shí)際上市場上稍小于12MHZ,為什么呢?急求
答:需要串口通訊時(shí)一般是用11.0582MHZ的,這樣波特率才好算。
用12MHZ的工作周期就容易計(jì)算。
21、單片機(jī)晶振上電不起振,但是手碰一下晶振就起振了,為什么?
答 :看看晶振配的電容焊了沒有,值有沒有錯(cuò)誤?
22、怎么判斷單片機(jī)晶振是否起振呀?急急!!
答:最簡單是用示波器,另外你可以看一下電源是否正常
23、怎樣判斷單片機(jī)外部晶振有沒有起振?我的STC89C52單片機(jī)本來是好好的后來不行了,我換了個(gè)晶振就好了。但是過了幾個(gè)小時(shí)后又不行了,是怎么回事。還有就是怎樣判斷晶振是否起振?
答: 第一點(diǎn):先換一塊單片機(jī)試試,問題還在則排除單片機(jī);
第二點(diǎn):可能是虛焊造成的,這點(diǎn)要注意;
第三點(diǎn):我用STC89C52也碰到過類似的問題,換了塊晶振就OK了,好像STC起振不橡AT89S52那么順。
其實(shí)對于STC89C52可以直接看30腳(ALE),接個(gè)燈,起振一下子就能看出來了。24、我用msp430的單片機(jī),可是外部的兩個(gè)晶振總是無法起振,沒用。請問是什么原因?線路連接是對的,32768HZ沒有接外接電容。8M的晶振接56PF的電容。
答:32.768K的晶振接兩個(gè)30P的電容試試,還有8M的晶振的電容也換成30P的。
25、MSP430單片機(jī)8MHz的晶振,計(jì)數(shù)器TAR增加一次 需要多少時(shí)間?
答:MSP430單片機(jī)的晶振頻率可以自己設(shè)置的,是使用外部晶振還是內(nèi)部振蕩器做始終源,還有MCLK,SMCLK,ACLK的選擇,分不分頻等都有影響 我現(xiàn)在有點(diǎn)忘了,不過你可以看看文檔,計(jì)數(shù)器是使用mclk,smclk,ACLK的哪一個(gè),在判斷是否分頻設(shè)置,一般在1Mhz TAR加一次是1us,那么8M是1/8us自己算吧。
26、如果MSP430單片機(jī)不初始化晶振,那么單片機(jī)用什么作為時(shí)鐘?DCO的頻率大概是多少呢?
答:內(nèi)部DCO,不同系列的DCO默認(rèn)頻率不同,要參看手冊。4系列的好像是1M。
27、沒有程序的空白單片機(jī),外部晶振能起振么?
答:沒有內(nèi)部晶振的單片機(jī),外部晶振可以起振,如傳統(tǒng)類MS51系列單片機(jī)有內(nèi)部晶振的單片機(jī),外部晶振不會(huì)起振,需要對外部晶振進(jìn)行配置后才會(huì)起振,如果不對外部晶振進(jìn)行配置仍使用內(nèi)部晶振,如silicon lab系列c8051f**單片機(jī)
28、dspic30f6014單片機(jī)能夠燒寫程序,卻不能運(yùn)行。晶振沒有起振(換過了也沒用),復(fù)位電壓測量為5v,電源正常,(是成熟產(chǎn)品,只是偶爾會(huì)出現(xiàn)這種情況)
答:01、重新檢討振蕩電路所用零件(晶振與電容)及晶振附近的pcb布局
02、檢查配置位是否正確
03、還可找 FAE 諮詢
29、為什么at89c52 P1.0輸出2.5v電壓,單片機(jī)好像未工作,晶振波形是不規(guī)則的正弦波可不可以?線路板沒有達(dá)到預(yù)想效果,發(fā)光二極管一直亮,感覺還是單片機(jī)的問題,P1.0輸出2.5v電壓,看門狗用的X5045,不知何原因找了好幾天了。
答:將看門狗拿掉,暫時(shí)做成最小系統(tǒng),既只有電源、8952、晶振和兩只30P左右的電容。
1. 將P1.0口置1,測試該口的電壓是否在2.5V以上;
2. 將P1.0口置0,測試改口電壓是否約為0V。
是的話就是OK的,否則就要看看電源電壓、晶振、8952了。電源電壓是5+、-0.25V,且紋波一定要小
30、單片機(jī)測試晶振電壓時(shí)會(huì)對工作狀態(tài)有影響嗎?
我的51單片機(jī)從P2口連了兩個(gè)發(fā)光二極管,正常時(shí)是只有一個(gè)亮。我插上電源后,結(jié)果兩個(gè)都亮了。于是我就測量晶振電壓,但是我黑表筆接地,紅表筆一碰晶振引腳時(shí),兩個(gè)發(fā)光二極管中,就有一個(gè)會(huì)熄滅,一放開就兩個(gè)都亮。
每次剛插電源的時(shí)候,兩個(gè)晶振引腳分別時(shí)1.9V,1.5v,但是稍微過了一會(huì)兒,兩個(gè)引腳就分別成了5.4V和0.02V了。
答:會(huì)有一點(diǎn)影響,對頻率會(huì)有影響,嚴(yán)重的會(huì)導(dǎo)致晶振停振。因?yàn)槟闳f用表一加上去相當(dāng)于在振蕩電路上又并上或串上了分部電容電阻電感等,就影響到了原來電路的狀態(tài)。
31、制作max232下載單片機(jī),工作電壓都正常,要外加晶振嘛?c
答:當(dāng)然要加,如果沒有外加晶振,那么單片機(jī)的時(shí)鐘電路就沒有了,導(dǎo)致單片機(jī)串口就不能進(jìn)行數(shù)據(jù)傳輸了,最終你這個(gè)下載器具就不能下載程序了。
32、靜態(tài)工作點(diǎn)對晶振振蕩有什么影響?
答: 具有高Q值的晶振對放大器的選擇并不敏感,但在過驅(qū)動(dòng)時(shí)很容易產(chǎn)生頻率漂移(甚至可能損壞)。影響振蕩器工作的環(huán)境因素有:電磁干擾(EMI)、機(jī)械震動(dòng)與沖擊
33、我用的是外置4M晶振加兩個(gè)30pf瓷片電容,用示波器測頻率正常,但峰峰值有的板子是6V左右,有的是3V左右,板子功能正常但我怕電壓低的不穩(wěn)定,不知道 晶振測試有沒有依據(jù)可查或相關(guān)資料,多謝大家啦!!!
答: 沒關(guān)系的.峰峰值不同是電容和晶振的參數(shù)離散導(dǎo)致的.只要正常工作,就可以.單片機(jī)里面都有放大處理的,它們都是放大展成方波來使用的.峰峰值多高都沒用.
你那電壓高的倒應(yīng)該看看,pic一般工作電壓是5V,怎么振蕩器會(huì)進(jìn)來這么高電壓? 我一般都是在CPU晶振輸入端串聯(lián)一個(gè)電阻使用的.
34、我用的是外置4M晶振加兩個(gè)30pf瓷片電容,用示波器測頻率正常,但峰峰值有的板子是6V左右,有的是3V左右,板子功能正常但我怕電壓低的不穩(wěn)定,不知道 晶振測試有沒有依據(jù)可查或相關(guān)資料,多謝大家啦!!!
答: 沒關(guān)系的.峰峰值不同是電容和晶振的參數(shù)離散導(dǎo)致的.只要正常工作,就可以.單片機(jī)里面都有放大處理的,它們都是放大展成方波來使用的.峰峰值多高都沒用.
你那電壓高的倒應(yīng)該看看,pic一般工作電壓是5V,怎么振蕩器會(huì)進(jìn)來這么高電壓?
我一般都是在CPU晶振輸入端串聯(lián)一個(gè)電阻使用的.
35、pic單片機(jī) AD采樣程序 有源晶振應(yīng)該如何選擇?
如果使用片內(nèi)振蕩器,是不是必須要外接諧振器?
我如果外接有源晶振,選用那種頻率較好?我聽說4MHz的并不理想。外接20MHz的可以嗎?這個(gè)是怎樣選擇的啊。
答:用片內(nèi)振蕩器不需要外接諧振器。
如果你的單片機(jī)只做AD采集轉(zhuǎn)換,那就不需要太高的頻率,內(nèi)部4Mhz振蕩器即可。
但如果還要做其他對時(shí)序要求較嚴(yán)的工作比如說總線通信,那就要考慮使用外部振蕩器,因?yàn)閮?nèi)部振蕩器的誤差太大(即使校準(zhǔn)了還有1%的誤差) ,而用多大的晶振要看工作要求,頻率越高單片機(jī)功耗越大。但只做AD的話,4M夠了。
36、大家好。我想問個(gè)pic單片機(jī)的問題:晶振頻率不一樣。編譯器自己帶的庫延時(shí)函數(shù)延時(shí)一樣嗎?比如晶振20MHZ delayus(1)和5MHZ delayus(1)是同是1us嗎?
答: 應(yīng)該一樣.
因?yàn)轭l率不一樣,編譯時(shí)候你的設(shè)置不一樣,編譯時(shí)候自然計(jì)算需要的倍數(shù),參數(shù)就不一樣了.
但可能因?yàn)轭l率除不盡的緣故,有一點(diǎn)點(diǎn)差異
37、單片機(jī)外接24M的晶振,1ms的基準(zhǔn)延時(shí)函數(shù)用C語言怎么寫?
答:定時(shí)器T0 工作方式1 晶振頻率24MHz
定時(shí)器最大定時(shí)時(shí)間(us):32768
定時(shí)器最小定時(shí)時(shí)間(us):0.5
【1ms精確定時(shí)C51代碼】
void T0_init(void) //定時(shí)器初始化
{
TMOD |= 0x01;
TH0 = 0xf8; //設(shè)置定時(shí)器計(jì)數(shù)初值,定時(shí)1000us
TL0 = 0x33;
IE |= 0x82; //打開總中斷
TR0 = 1; //啟動(dòng)定時(shí)器
}
void T0_intservice(void) interrupt 1 //定時(shí)器中斷服務(wù)
{
TH0 = 0xf8; //重裝載定時(shí)器計(jì)數(shù)初值
TL0 = 0x33;
//這里可以插入其他處理程序,不會(huì)影響定時(shí)器工作
}
38、單片機(jī)24M晶振可以測量20MHZ的信號嗎
答 :要看用什么單片機(jī)了。有些單片機(jī)執(zhí)行一條指令需要兩個(gè)機(jī)器周期以上的。那肯定測量不到20MHZ的信號。
39、用單片機(jī)的晶振電路產(chǎn)生信號和555計(jì)時(shí)器產(chǎn)生信號哪個(gè)更好?
答:一般來說,晶振的穩(wěn)定性好于RC震蕩器。
40、用什么電路能讓32768的晶振產(chǎn)生32768的方波信號?
答 :用或非門,也可以完成 振蕩和方波整形 的任務(wù)。電路如插圖所示。
圖中的晶振,原為38000Hz,如改為32768Hz,也完全正?梢怨ぷ鳌
41、晶振的原理,如何產(chǎn)生正弦信號的,詳細(xì)一點(diǎn),從電路方面分析?
答:晶體可以等效為一個(gè)電感,與里面的電容形成振蕩回路,能量從電感慢慢到電容,再從電容慢慢到電感,周而復(fù)始形成振蕩。正半周是電容的充放電過程,負(fù)半周是電感的充放電過程。
42、11.0952的晶振和單片機(jī)哪些引腳連接能起作用?電源和18B20應(yīng)該和單片機(jī)的哪些引腳相連呢?RT,要把單片機(jī)從實(shí)驗(yàn)板上引出來,應(yīng)該怎么連接?1602LCD的液晶該怎么和單片機(jī)相連呢?每次從仿真上連出來都是只有背光和黑點(diǎn),但是不顯示已經(jīng)燒錄的程序。
答:晶振接單片機(jī)x1(或者叫XTAL1)和x2(或者叫XTAL2)引腳。
電源接單片機(jī)的VCC和GND。
18b20電源腳接電源上,中間的數(shù)據(jù)線可以單片機(jī)的任意io口。具體控制是靠程序完成的。
1602的數(shù)據(jù)線接單片機(jī)io(比如51單片機(jī)的P1口),其它的控制線rw,reset,cs等可以接單片機(jī)的任意io口。
燒錄了程序不能運(yùn)行,而程序是正確的話,你得看程序怎么定義這些引腳,根據(jù)程序定義連接單片機(jī)的位置。
43、我現(xiàn)在要用52單片機(jī)做一個(gè)交通燈電路。要求是紅燈,綠燈30s,黃燈3s。循環(huán)變化。那么外界晶振怎樣選擇?單指令周期多少比較合適?圖中外接的兩個(gè)電容的作用是什么?大小多少合適?
答: 如果選擇晶振的話,那兩個(gè)電容值可以選擇:30加減10PF左右的(頻率在0~33MHZ之間);
如果選擇陶瓷晶振的話,電容值可以選擇:40加減10PF左右的(頻率在1.2~12MHZ)振蕩器應(yīng)盡量靠近電容。指令周期是可以算的,這個(gè)是有公式的!
44、89c52單片機(jī)如果不接晶振會(huì)有什么后果?
答:單片機(jī)不工作了 程序無法燒入。。。。等等
45、若89c52單片機(jī)使用外接晶振,應(yīng)如何設(shè)置?
答:晶振的兩個(gè)管腳各接一個(gè)20~30pf的電容后分別接入單片機(jī)的XTAL1和XTAL2,兩個(gè)電容的另一端并接后接地即可,不再需要任何設(shè)置
46、89c52單片機(jī) 晶振頻率才12兆,太小了,怎樣能改大晶振頻率?
答:外接18.432或者24MHz的晶振啊;蛘邠Q4T的W77E58單片機(jī),這樣相當(dāng)于把工作頻率提高3倍。或者換1T的DS89C4XX單片機(jī),這相當(dāng)于把工作頻率提高8倍!足夠了吧?用1T的STC12C5A**單片機(jī)也有這樣的效果。
47、單片機(jī)工作頻率的問題,晶振到底怎么選擇?
答:
1、最基本的單片機(jī),其機(jī)器工作頻率為:晶振頻率÷12
2、有的單片機(jī)(高級一些的)機(jī)器工作頻率為:晶振頻率÷2(或者6等等)
3、以匯編語言為例,單片機(jī)執(zhí)行一條指令需要的時(shí)間為1~2個(gè)機(jī)器周期(機(jī)器周期 = 1÷機(jī)器工作頻率)
4、舉例:
一普通單片機(jī)晶振12MHz,其機(jī)器工作頻率為 12MHz÷12 = 1MHz
其機(jī)器周期 = 1÷1MHz = 0.000001秒(也就是10的負(fù)6次方)
“MOV”指令需要一個(gè)機(jī)器周期來完成,也就是說執(zhí)行這條指令需要耗費(fèi)10的負(fù)6次方秒,這么長的時(shí)間。
48、51單片機(jī)晶振上接的電容大小該如何選擇?是晶振越大,電容值也要大一些嗎,一般常用多大的。有人說常用的從15-33pf,具體如何選擇效果最好?比如我分別用一個(gè)6M和12M的晶振,用多大電容更合適?
答:15-33pf都可以 我們一般用的是15P和30P 晶振大小影響不大 我們常用的4M 和12M 以及11.0592M和20M 24M 我們都用的 30P 單片機(jī)內(nèi)部有相應(yīng)的整形電路 我們不比擔(dān)心
49、我給51單片機(jī)12M晶振接2200pF電容會(huì)怎么樣?電路圖里貌似是22pF的,但是我沒有22pF的...接2200pF會(huì)不會(huì)不正常工作?
答:不可以,晶體會(huì)不工作的。15-33p是合理范圍。你可以試試看,對單片機(jī)不會(huì)有損壞。
50、單片機(jī)不能正常工作,晶振問題?如何去檢查晶振正常還是不正常?另外我看到說晶振跟兩個(gè)小電容要離得很近,我?guī)缀醵紱]剪引腳(就是買回來多長就多長)就插上去了,這個(gè)也有關(guān)系嗎?
答: 用萬用表測量單片機(jī)連接晶振的兩個(gè)引腳 正常起振的狀態(tài)下電壓大概比供電電壓的1/2略低一些 如果其中一個(gè)或全部引腳為電源電壓或零就表明沒起振。那個(gè)引腳長些一般不會(huì)有什么影響 相比之下接地更關(guān)鍵些 兩個(gè)諧振電容接地端到單片機(jī)的電源地要盡量近些。
當(dāng)然晶振的問題遠(yuǎn)不止這些,希望大家也來分享自己的晶振問題和解決方法,互相學(xué)習(xí),交流!!
擴(kuò)展閱讀:單片機(jī)選型注意事項(xiàng)
編輯:admin 最后修改時(shí)間:2018-05-19