【絕對幹貨】完曝51單片機晶振疑難雜症
發布時間:2014-10-20 責任編輯:sherryyu
【導讀】回首當年,在初學51單片機的時候,總是伴隨很多有關與晶振的問題,今天大俠把自己當年學習51單片機有關晶振的問題一並總結出來,希望對初學51的童鞋來說能有幫助。
回首當年,在初學51單片機的時候,總是伴隨很多有關與晶振的問題,其實晶振就是如同人的心髒,是血液的是脈搏,把單片機的晶振問題搞明白了,51單片機的其他問題迎刃而解……
今天大俠把自己當年學習51單片機有關晶振的問題一並總結出來,希望對初學51的童鞋來說能有幫助。
一,為什麼51單片機愛用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%誤差率,但在允許範圍,所以沒多大影響。
二,在設計51單片機係統PCB時,晶振為何被要求緊挨著單片機?
原因如下:晶振是通過電激勵來產生固定頻率的機械振動,而振動又會產生電流反饋給電路,電路接到反饋 後(hou)進(jin)行(xing)信(xin)號(hao)放(fang)大(da),再(zai)次(ci)用(yong)放(fang)大(da)的(de)電(dian)信(xin)號(hao)來(lai)激(ji)勵(li)晶(jing)振(zhen)機(ji)械(xie)振(zhen)動(dong),晶(jing)振(zhen)再(zai)將(jiang)振(zhen)動(dong)產(chan)生(sheng)的(de)電(dian)流(liu)反(fan)饋(kui)給(gei)電(dian)路(lu),如(ru)此(ci)這(zhe)般(ban)。當(dang)電(dian)路(lu)中(zhong)的(de)激(ji)勵(li)電(dian)信(xin)號(hao)和(he)晶(jing)振(zhen)的(de)標(biao)稱(cheng)頻(pin)率(lv)相(xiang)同(tong)時(shi),電(dian) 路就能輸出信號強大,頻率穩定的正弦波。整形電路再將正弦波變成方波送到數字電路中供其使用。
問題在於晶振的輸出能力有限,它僅僅輸出以毫瓦為單位的電能量。在 IC(集成電路) 內部,通過放大器將這個信號放大幾百倍甚至上千倍才能正常使用。
晶振和 IC 間(jian)一(yi)般(ban)是(shi)通(tong)過(guo)銅(tong)走(zou)線(xian)相(xiang)連(lian)的(de),這(zhe)根(gen)走(zou)線(xian)可(ke)以(yi)看(kan)成(cheng)一(yi)段(duan)導(dao)線(xian)或(huo)數(shu)段(duan)導(dao)線(xian),導(dao)線(xian)在(zai)切(qie)割(ge)磁(ci)力(li)線(xian)的(de)時(shi)候(hou)會(hui)產(chan)生(sheng)電(dian)流(liu),導(dao)線(xian)越(yue)長(chang),產(chan)生(sheng)的(de)電(dian)流(liu)越(yue)強(qiang)。現(xian)實(shi)中(zhong),磁(ci)力(li)線(xian)不(bu)常(chang)見(jian),電(dian)磁(ci)波(bo)卻(que)到(dao)處(chu)都(dou)是(shi),例(li)如(ru):無線廣播發射、電視塔發射、手機通訊等等。晶振和IC之間的連線就變成了接收天線,它越長,接收的信號就 越強,產生的電能量就越強,直到接收到的電信號強度超過或接近晶振產生的信號強度時,IC內的放大電路輸出的將不再是固定頻率的方波了,而是亂七八糟的信 號,導致數字電路無法同步工作而出錯。
所以,畫PCB(電路板)的時候,晶振離它的放大電路(IC管腳)越近越好。
三,單片機電路晶振不起振原因分析
遇到單片機晶振不起振是常見現象,那麼引起晶振不起振的原因有哪些呢?
① PCB板布線錯誤;②單片機質量有問題;③ 晶振質量有問題;
④負載電容或匹配電容與晶振不匹配或者電容質量有問題;⑤PCB板受潮,導致阻抗失配而不能起振;⑥ 晶振電路的走線過長;
⑦晶振兩腳之間有走線;⑧外圍電路的影響。
解決方案,建議按如下方法逐個排除故障:
① 排除電路錯誤的可能性,因此可以用相應型號單片機的推薦電路進行比較。② 排除外圍元件不良的可能性,因為外圍零件無非為電阻,電容,很容易鑒別是否為良品。③ 排除晶振為停振品的可能性,因為不會隻試了一二個晶振。④試著改換晶體兩端的電容,也許晶振就能起振了,電容的大小請參考晶振的使用說明。
⑤在PCB布線時晶振電路的走線應盡量短且盡可能靠近IC,杜絕在晶振兩腳間走線。
四,51單片機時鍾電路用12MHZ的晶振時那電容的值是怎樣得出來的?拿內部時鍾電路來說明吧!
其實這兩個電容沒人能夠解釋清楚到底怎麼選值,因為22pF實shi在zai是shi太tai小xiao了le。這zhe個ge要yao說shuo隻zhi能neng說shuo和he內nei部bu的de振zhen蕩dang電dian路lu自zi身shen特te性xing有you關guan係xi,搭da配pei使shi用yong,用yong來lai校xiao正zheng波bo形xing,沒mei有you人ren去qu深shen究jiu它ta到dao底di為wei什shen麼me就jiu是shi這zhe麼me大da的de值zhi。
19.89c52單片機如果不接晶振會有什麼後果?
單片機不工作了 程序無法燒入……等等
五,單片機晶振電路中兩個微調電容不對稱會怎樣?相差多少會使頻率怎樣變化?在檢測無線鼠標的接受模塊時,發現其頻率總是慢慢變化(就是一直不鬆探頭的手,發現頻率慢慢變小)晶振是新的!
電容不對稱也不會引起頻率的漂移,說的頻率漂移可能是因為晶振的電容的容量很不穩定引起的,可以換了試,換兩電容不難,要不就是的晶振的穩定性太差了,或者測量的方法有問題.
六,單片機晶振與速度的疑問,執行一條指令的周期不是由晶振決定的嗎。那麼比如51單片機和MSP430,給51接高速晶振,430接低速的,是不是51跑的要快?是不是速度單片機速度僅僅與晶振有關,關鍵是單片機能不能支持那麼大的晶振?
每個單片機的速度是受到內部邏輯門電平跳變速度限製的。兩個芯片同時使用同樣的晶振,比如12M的。因為AVR是RISC指令集,它在同樣外部晶振頻率下,比51要快。
比如,51最快能接40M,AVR是16M的晶振。
STC89C52大都用12MHz晶振,但由於其12個時鍾周期才是一個機器周期,相當於其主頻隻有1MHz。
MSP430采用RISC精簡指令集, 430單片機若采用內部DCO震蕩可達21MHz主頻。單個時鍾周期就可以執行一條指令,相同晶振,速度較51快12倍。
對於一個51,geitayonggenggaodejingzhen,suduhuikuaixie。danshiduiyugaojidedanpianjijiubuyiyangle。gaojidanpianjineibu,yibandoushiyoupinlvkongzhijicunqide,suoyi,jiandandezengjiajingzhen,kenengdadaodanpianjidejixian,daozhipaofei。
七,請問:有什麼方法可以確定某一款單片機在某一大小的晶振下是否能正常工作?
晶振選擇太高不太合適,具體晶振上限是多少,恐怕測不出來,隻能按照人家單片機的要求,一般STC係列單片機上限是35M或40M,stc單憑上寫的有,如STC11F16XE 35I-LQFP44G其中35I就是晶振最高35M的工業級芯片。
超過上限會出現什麼樣的問題,沒有測試過,一般晶振選擇12M的比較多,如果選擇STC 1T指令的,就相當於12*12=144M的晶振。如果用於串口通信,建議選用11.0592M的或22.184M,選擇晶振最主要還是參照人家的說明書。
[page]
八,4個AT89C51單片機能否用一個12M的晶振使其都正常工作?一個采用內部時鍾方式,其餘三個用外部方式...那四個都用內部方式可以不(將4個單片機都並聯在一個晶振上)?
可以,其中一個正常接晶振,他的XTAL2輸出接到另外三個的XTAL1輸入上。
九,單片機的運行速度和晶振大小的關係,若單片機的最高工作頻率是40M,晶振是否可以選擇24M或更高,但不超過40M,這樣單片機的運行速度是否大增?長期在此工作頻率下對單片機是否有不良影響?單片機對晶振的選擇的原則是怎樣的?
當然是有影響的,單片機的工作速度越快,功耗也越大,受幹擾也會越厲害,總之最高能跑40M的,跑不超過40M的是沒有問題的,隻是對相關的技術(如PCB的設計元件的選取等)會高去很多.
十,89c51單片機的複位電路中常采用12MHZ的晶振,實際上市場上稍小於12MHZ,為什麼呢?
答:需要串口通訊時一般是用11.0582MHZ的,這樣波特率才好算。
用12MHZ的工作周期就容易計算。
十一,單片機晶振上電不起振,但是手碰一下晶振就起振了,為什麼?怎麼判斷單片機晶振是否起振呀?
看看晶振配的電容焊了沒有,值有沒有錯誤?
最簡單是用示波器,另外可以看一下電源是否正常。
十二,怎樣判斷單片機外部晶振有沒有起振?的STC89C52單片機本來是好好的後來不行了,換了個晶振就好了。但是過了幾個小時後又不行了,是怎麼回事。還有就是怎樣判斷晶振是否起振?
①先換一塊單片機試試,問題還在則排除單片機;②可能是虛焊造成的,這點要注意;③用STC89C52也碰到過類似的問題,換了塊晶振就OK了,好像STC起振不橡AT89S52那麼順。其實對於STC89C52可以直接看30腳(ALE),接個燈,起振一下子就能看出來了。
十三,51單片機晶振上接的電容大小該如何選擇?是晶振越大,電容值也要大一些嗎,一般常用多大的。有人說常用的從15-33pf,具體如何選擇效果最好?比如分別用一個6M和12M的晶振,用多大電容更合適?
15-33pf都可以 們一般用的是15P和30P 晶振大小影響不大 們常用的4M 和12M 以及11.0592M和20M 24M 們都用的 30P 單片機內部有相應的整形電路 們不比擔心
23.給51單片機12M晶振接2200pF電容會怎麼樣?電路圖裏貌似是22pF的,但是沒有22pF的...接2200pF會不會不正常工作?
不可以,晶體會不工作的。15-33p是合理範圍。可以試試看,對單片機不會有損壞。
十四,沒有程序的空白單片機,外部晶振能起振麼?
沒有內部晶振的單片機,外部晶振可以起振,如傳統類MS51xiliedanpianjiyouneibujingzhendedanpianji,waibujingzhenbuhuiqizhen,xuyaoduiwaibujingzhenjinxingpeizhihoucaihuiqizhen,ruguobuduiwaibujingzhenjinxingpeizhirengshiyongneibujingzhen,rusilicon lab係列C8051F020單片機
[page]
十五,為什麼at89c52 P1.0輸出2.5v電壓,單片機好像未工作,晶振波形是不規則的正弦波可不可以?線路板沒有達到預想效果,發光二極管一直亮,感覺還是單片機的問題,P1.0輸出2.5v電壓,看門狗用的X5045。怎麼回事?
將看門狗拿掉,暫時做成最小係統,既隻有電源、8952、晶振和兩隻30P左右的電容。
①將P1.0口置1,測試該口的電壓是否在2.5V以上;
②將P1.0口置0,測試改口電壓是否約為0V。
是的話就是OK的,否則就要看看電源電壓、晶振、8952了。電源電壓是5+、-0.25V,且紋波一定要小。
十六,製作max232下載單片機,工作電壓都正常,要外加晶振嘛?
當(dang)然(ran)要(yao)加(jia),如(ru)果(guo)沒(mei)有(you)外(wai)加(jia)晶(jing)振(zhen),那(na)麼(me)單(dan)片(pian)機(ji)的(de)時(shi)鍾(zhong)電(dian)路(lu)就(jiu)沒(mei)有(you)了(le),導(dao)致(zhi)單(dan)片(pian)機(ji)串(chuan)口(kou)就(jiu)不(bu)能(neng)進(jin)行(xing)數(shu)據(ju)傳(chuan)輸(shu)了(le),最(zui)終(zhong)這(zhe)個(ge)下(xia)載(zai)器(qi)具(ju)就(jiu)不(bu)能(neng)下(xia)載(zai)程(cheng)序(xu)了(le)。
十七,若89c52單片機使用外接晶振,應如何設置?
晶振的兩個管腳各接一個20~30pf的電容後分別接入單片機的XTAL1和XTAL2,兩個電容的另一端並接後接地即可,不再需要任何設置
十八,晶振的原理,如何產生正弦信號的,詳細一點,從電路方麵分析?
晶jing體ti可ke以yi等deng效xiao為wei一yi個ge電dian感gan,與yu裏li麵mian的de電dian容rong形xing成cheng振zhen蕩dang回hui路lu,能neng量liang從cong電dian感gan慢man慢man到dao電dian容rong,再zai從cong電dian容rong慢man慢man到dao電dian感gan,周zhou而er複fu始shi形xing成cheng振zhen蕩dang。正zheng半ban周zhou是shi電dian容rong的de充chong放fang電dian過guo程cheng,負fu半ban周zhou是shi電dian感gan的de充chong放fang電dian過guo程cheng。
十九,現在要用52單片機做一個交通燈電路。要求是紅燈,綠燈30s,黃燈3s。循環變化。那麼外界晶振怎樣選擇?單指令周期多少比較合適?圖中外接的兩個電容的作用是什麼?大小多少合適?
如果選擇晶振的話,那兩個電容值可以選擇:30加減10PF左右的(頻率在0~33MHZ之間);
如果選擇陶瓷晶振的話,電容值可以選擇:40加減10PF左右的(頻率在1.2~12MHZ)振蕩器應盡量靠近電容。指令周期是可以算的,這個是有公式的!
二十,89c52單片機 晶振頻率才12兆,太小了,怎樣能改大晶振頻率?
外接18.432或者24MHz的晶振。或者換4T的W77E58單片機,這樣相當於把工作頻率提高3倍。或者換1T的DS89C4XX單片機,這相當於把工作頻率提高8倍!用1T的STC12C5A60S2單片機也有這樣的效果。
二十一,單片機不能正常工作,晶振問題?如何去檢查晶振正常還是不正常?另外看到說晶振跟兩個小電容要離得很近,幾乎都沒剪引腳(就是買回來多長就多長)就插上去了,這個也有關係嗎?
用萬用表測量單片機連接晶振的兩個引腳,正常起振的狀態下電壓大概比供電電壓的1/2略lve低di一yi些xie,如ru果guo其qi中zhong一yi個ge或huo全quan部bu引yin腳jiao為wei電dian源yuan電dian壓ya或huo零ling就jiu表biao明ming沒mei起qi振zhen。那na個ge引yin腳jiao長chang些xie一yi般ban不bu會hui有you什shen麼me影ying響xiang,相xiang比bi之zhi下xia接jie地di更geng關guan鍵jian些xie,兩liang個ge諧xie振zhen電dian容rong接jie地di端duan到dao單dan片pian機ji的de電dian源yuan地di要yao盡jin量liang近jin些xie。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
SATA連接器
SD連接器
SII
SIM卡連接器
SMT設備
SMU
SOC
SPANSION
SRAM
SSD
ST
ST-ERICSSON
Sunlord
SynQor
s端子線
Taiyo Yuden
TDK-EPC
TD-SCDMA功放
TD-SCDMA基帶
TE
Tektronix
Thunderbolt
TI
TOREX
TTI
TVS
UPS電源
USB3.0
USB 3.0主控芯片
USB傳輸速度



