學習單片(pian)機設(she)計(ji)必要的21個難題
時(shi)間:2018-07-17 來源:未知
單片(pian)機設計軟(ruan)件(jian)對(dui)于(yu)新人而言,常遇(yu)到(dao)各(ge)式各(ge)樣(yang)(yang)的(de)(de)問題,遇(yu)到(dao)這樣(yang)(yang)的(de)(de)問題我們首(shou)先要淡定(ding)。我們首(shou)先要理清思路(lu),一個個問題去排除。最重找(zhao)到(dao)問題的(de)(de)所在。匯集一下(xia)近年來網(wang)絡(luo)上最熱門的(de)(de)單片(pian)機設計軟(ruan)件(jian)遇(yu)到(dao)的(de)(de)問題,基本上也就這么(me)些(xie)。看看你遇(yu)到(dao)的(de)(de)問題這里有木有?
一、單片機(ji)不能正常工作,晶(jing)振問題?如何去檢(jian)查晶(jing)振正常還是(shi)不正常?另外(wai)看到說(shuo)晶(jing)振跟(gen)兩個小電容要離得(de)很近,幾乎都沒剪引腳(就(jiu)(jiu)(jiu)是(shi)買回來多長(chang)就(jiu)(jiu)(jiu)多長(chang))就(jiu)(jiu)(jiu)插上去了(le),這個也有關系嗎?
用萬用表(biao)測量單(dan)片機連接(jie)晶振的兩個(ge)(ge)引(yin)腳(jiao),正常(chang)起振的狀(zhuang)態下(xia)電(dian)壓大(da)概比供(gong)電(dian)電(dian)壓的1/2略低一(yi)些(xie)(xie),如果其中一(yi)個(ge)(ge)或全部引(yin)腳(jiao)為電(dian)源電(dian)壓或零就表(biao)明沒起振。那(nei)個(ge)(ge)引(yin)腳(jiao)長些(xie)(xie)一(yi)般不會有(you)什么影響(xiang),相(xiang)比之下(xia)接(jie)地(di)更關鍵(jian)些(xie)(xie),兩個(ge)(ge)諧(xie)振電(dian)容接(jie)地(di)端到單(dan)片機的電(dian)源地(di)要盡(jin)量近些(xie)(xie)。
二、在設計51單片機(ji)系統PCB時,晶振(zhen)為何被要求緊挨著單片機(ji)?
原因(yin)如下(xia):晶振(zhen)(zhen)是通過電(dian)激(ji)勵來產(chan)生(sheng)固定頻(pin)率的機械(xie)振(zhen)(zhen)動,而振(zhen)(zhen)動又(you)會產(chan)生(sheng)電(dian)流反(fan)(fan)饋(kui)給(gei)電(dian)路(lu)(lu)(lu),電(dian)路(lu)(lu)(lu)接(jie)到反(fan)(fan)饋(kui) 后進行信號(hao)放大,再(zai)(zai)次用(yong)放大的電(dian)信號(hao)來激(ji)勵晶振(zhen)(zhen)機械(xie)振(zhen)(zhen)動,晶振(zhen)(zhen)再(zai)(zai)將振(zhen)(zhen)動產(chan)生(sheng)的電(dian)流反(fan)(fan)饋(kui)給(gei)電(dian)路(lu)(lu)(lu),如此這般。當電(dian)路(lu)(lu)(lu)中的激(ji)勵電(dian)信號(hao)和晶振(zhen)(zhen)的標稱頻(pin)率相同(tong)時,電(dian) 路(lu)(lu)(lu)就能輸出信號(hao)強(qiang)大,頻(pin)率穩定的正弦(xian)波。整形電(dian)路(lu)(lu)(lu)再(zai)(zai)將正弦(xian)波變成方波送到數(shu)字電(dian)路(lu)(lu)(lu)中供其使用(yong)。
問題在(zai)于晶振的輸出能(neng)力有(you)限(xian),它(ta)僅(jin)(jin)僅(jin)(jin)輸出以(yi)毫瓦為單(dan)位的電(dian)能(neng)量。在(zai) IC(集成電(dian)路) 內部,通過(guo)放大(da)器將這(zhe)個信(xin)號放大(da)幾百倍(bei)甚至上(shang)千倍(bei)才能(neng)正常使(shi)用。
晶振和 IC 間(jian)一般(ban)是通(tong)過銅走線(xian)(xian)(xian)相連(lian)的(de)(de)(de)(de),這根走線(xian)(xian)(xian)可以看(kan)成(cheng)一段導(dao)(dao)線(xian)(xian)(xian)或數段導(dao)(dao)線(xian)(xian)(xian),導(dao)(dao)線(xian)(xian)(xian)在切割(ge)磁(ci)(ci)力線(xian)(xian)(xian)的(de)(de)(de)(de)時候會產(chan)生(sheng)電流,導(dao)(dao)線(xian)(xian)(xian)越(yue)(yue)(yue)長,產(chan)生(sheng)的(de)(de)(de)(de)電流越(yue)(yue)(yue)強。現(xian)實中,磁(ci)(ci)力線(xian)(xian)(xian)不常見, 電磁(ci)(ci)波卻到處(chu)都(dou)是,例如(ru):無線(xian)(xian)(xian)廣播發射(she)、電視塔發射(she)、手機通(tong)訊(xun)等(deng)(deng)等(deng)(deng)。晶振和IC之間(jian)的(de)(de)(de)(de)連(lian)線(xian)(xian)(xian)就變(bian)成(cheng)了接(jie)收天(tian)線(xian)(xian)(xian),它越(yue)(yue)(yue)長,接(jie)收的(de)(de)(de)(de)信號(hao)(hao)(hao)就 越(yue)(yue)(yue)強,產(chan)生(sheng)的(de)(de)(de)(de)電能量就越(yue)(yue)(yue)強,直到接(jie)收到的(de)(de)(de)(de)電信號(hao)(hao)(hao)強度(du)超過或接(jie)近(jin)晶振產(chan)生(sheng)的(de)(de)(de)(de)信號(hao)(hao)(hao)強度(du)時,IC內(nei)的(de)(de)(de)(de)放大(da)電路(lu)輸出的(de)(de)(de)(de)將不再是固定頻(pin)率(lv)的(de)(de)(de)(de)方(fang)波了,而(er)(er)是亂七八糟(zao)的(de)(de)(de)(de)信 號(hao)(hao)(hao),導(dao)(dao)致數字電路(lu)無法同步工(gong)作而(er)(er)出錯。
所(suo)以,畫PCB(電路(lu)板(ban))的時候(hou),晶振離它的放大(da)電路(lu)(IC管(guan)腳(jiao))越(yue)(yue)近越(yue)(yue)好(hao)。
三、單片機電(dian)路晶振不起(qi)振原因(yin)分析
遇到(dao)單片機晶振(zhen)不(bu)起振(zhen)是常見現象,那么引起晶振(zhen)不(bu)起振(zhen)的(de)原因有(you)哪些呢?
① PCB板布線錯誤;②單片機質量有問題;③ 晶振質量有問題;
④負(fu)載電容(rong)(rong)或匹配電容(rong)(rong)與(yu)晶(jing)(jing)振(zhen)不匹配或者(zhe)電容(rong)(rong)質(zhi)量有問(wen)題;⑤PCB板受潮,導致阻抗失配而不能起振(zhen);⑥ 晶(jing)(jing)振(zhen)電路的走線過長;
⑦晶振兩(liang)腳之間有(you)走線;⑧外圍電路的影響。
解(jie)決方案,建議按如下方法(fa)逐個排除故障(zhang):
① 排(pai)除電路(lu)錯誤的(de)(de)(de)(de)可(ke)(ke)(ke)能(neng)性(xing),因(yin)此可(ke)(ke)(ke)以(yi)用相應(ying)型(xing)號單片機的(de)(de)(de)(de)推(tui)薦(jian)電路(lu)進行比(bi)較。② 排(pai)除外(wai)圍元件(jian)不良(liang)的(de)(de)(de)(de)可(ke)(ke)(ke)能(neng)性(xing),因(yin)為(wei)外(wai)圍零件(jian)無非為(wei)電阻,電容(rong),很容(rong)易鑒別是否為(wei)良(liang)品。③ 排(pai)除晶(jing)(jing)振為(wei)停振品的(de)(de)(de)(de)可(ke)(ke)(ke)能(neng)性(xing),因(yin)為(wei)不會只試了(le)(le)一二個(ge)晶(jing)(jing)振。④試著改(gai)換晶(jing)(jing)體(ti)兩端的(de)(de)(de)(de)電容(rong),也(ye)許晶(jing)(jing)振就能(neng)起振了(le)(le),電容(rong)的(de)(de)(de)(de)大(da)小請參考晶(jing)(jing)振的(de)(de)(de)(de)使(shi)用說明(ming)。
⑤在(zai)PCB布線(xian)(xian)時晶(jing)(jing)振電(dian)路的(de)走(zou)線(xian)(xian)應盡(jin)量(liang)短且盡(jin)可(ke)能靠近IC,杜絕在(zai)晶(jing)(jing)振兩腳間走(zou)線(xian)(xian)。
四、51單片(pian)機時(shi)鐘(zhong)電路用12MHZ的(de)晶振時(shi)那電容(rong)的(de)值是怎(zen)樣得出來的(de)?拿內部時(shi)鐘(zhong)電路來說明吧!
其實(shi)這(zhe)兩個(ge)電容沒人能夠解(jie)釋(shi)清楚到底(di)怎么(me)選(xuan)值(zhi),因為(wei)22pF實(shi)在是(shi)太小(xiao)了。這(zhe)個(ge)要(yao)說(shuo)只(zhi)能說(shuo)和內(nei)部的振蕩電路自(zi)身特性(xing)有(you)(you)關系,搭配使用(yong),用(yong)來校正(zheng)波形,沒有(you)(you)人去深究它到底(di)為(wei)什(shen)么(me)就(jiu)是(shi)這(zhe)么(me)大的值(zhi)。
19.89c52單(dan)片機如(ru)果不接晶振會有什(shen)么后果?
單片機(ji)不工作了(le) 程(cheng)序(xu)無法燒入……等(deng)等(deng)
五、單片機晶振電路中兩(liang)個微調電容不對稱會怎樣(yang)?相差(cha)多(duo)少會使(shi)頻率怎樣(yang)變(bian)化(hua)?在檢測無線(xian)鼠(shu)標的接(jie)受(shou)模塊(kuai)時,發現(xian)其頻率總(zong)是(shi)慢(man)慢(man)變(bian)化(hua)(就是(shi)一直不松探頭的手,發現(xian)頻率慢(man)慢(man)變(bian)小(xiao))晶振是(shi)新的!
電容不(bu)(bu)(bu)對稱也不(bu)(bu)(bu)會引起頻(pin)率的(de)(de)(de)漂(piao)移,說的(de)(de)(de)頻(pin)率漂(piao)移可(ke)能(neng)是(shi)因(yin)為晶振的(de)(de)(de)電容的(de)(de)(de)容量很不(bu)(bu)(bu)穩定引起的(de)(de)(de),可(ke)以換了試,換兩電容不(bu)(bu)(bu)難(nan),要不(bu)(bu)(bu)就是(shi)的(de)(de)(de)晶振的(de)(de)(de)穩定性(xing)太差了,或者測量的(de)(de)(de)方法有問題.
六(liu)、單(dan)片(pian)機晶(jing)振與速(su)(su)度的(de)(de)疑問(wen),執行一(yi)條指令的(de)(de)周期不(bu)是(shi)(shi)(shi)(shi)由晶(jing)振決定的(de)(de)嗎(ma)。那么比(bi)如51單(dan)片(pian)機和MSP430,給51接高速(su)(su)晶(jing)振,430接低速(su)(su)的(de)(de),是(shi)(shi)(shi)(shi)不(bu)是(shi)(shi)(shi)(shi)51跑的(de)(de)要快?是(shi)(shi)(shi)(shi)不(bu)是(shi)(shi)(shi)(shi)速(su)(su)度單(dan)片(pian)機速(su)(su)度僅僅與晶(jing)振有關,關鍵是(shi)(shi)(shi)(shi)單(dan)片(pian)機能(neng)不(bu)能(neng)支(zhi)持那么大的(de)(de)晶(jing)振?
每(mei)個(ge)(ge)單片機的速(su)度是受到內部(bu)邏輯門(men)電平跳變速(su)度限制(zhi)的。兩個(ge)(ge)芯片同時使用同樣的晶振(zhen),比(bi)如12M的。因為AVR是RISC指令集,它在同樣外部(bu)晶振(zhen)頻率(lv)下,比(bi)51要快。
比如(ru),51最快能接(jie)40M,AVR是16M的晶振(zhen)。
STC89C52大都用12MHz晶(jing)振(zhen),但由于其(qi)12個(ge)時鐘周期(qi)才是一個(ge)機(ji)器周期(qi),相當于其(qi)主頻只有(you)1MHz。
MSP430采(cai)用(yong)RISC精簡(jian)指(zhi)令(ling)集, 430單片機若采(cai)用(yong)內(nei)部(bu)DCO震蕩可(ke)達21MHz主頻。單個時鐘周期就(jiu)可(ke)以執行(xing)一條(tiao)指(zhi)令(ling),相同晶振,速度較51快12倍。
對(dui)于一個(ge)51,給他用更(geng)高(gao)的(de)(de)晶振,速(su)度會快些。但是對(dui)于高(gao)級的(de)(de)單(dan)片(pian)機就不一樣了(le)。高(gao)級單(dan)片(pian)機內(nei)部,一般都是有(you)頻(pin)率控制(zhi)寄存(cun)器(qi)的(de)(de),所以,簡單(dan)的(de)(de)增(zeng)加晶振,可能達(da)到單(dan)片(pian)機的(de)(de)極限,導(dao)致跑飛。
七、請問:有什么方法可以確(que)定(ding)某一款單片機在(zai)某一大(da)小(xiao)的晶振(zhen)下是否(fou)能正常工作?
晶振(zhen)選擇太高不(bu)太合適,具體晶振(zhen)上(shang)限是多少,恐怕測(ce)不(bu)出來,只能按照(zhao)人家單片(pian)機(ji)(ji)的(de)要(yao)求,一般STC系列單片(pian)機(ji)(ji)上(shang)限是35M或40M,stc單憑上(shang)寫的(de)有,如STC11F16XE 35I-LQFP44G其中35I就是晶振(zhen)最高35M的(de)工業級(ji)芯片(pian)。
超過上(shang)限會出(chu)現(xian)什么樣的(de)(de)問題,沒有測試(shi)過,一般晶(jing)振(zhen)(zhen)選擇12M的(de)(de)比較多,如果選擇STC 1T指令的(de)(de),就相當于(yu)(yu)12*12=144M的(de)(de)晶(jing)振(zhen)(zhen)。如果用于(yu)(yu)串口通信,建議選用11.0592M的(de)(de)或22.184M,選擇晶(jing)振(zhen)(zhen)最主要還是參照人家的(de)(de)說明書。
八、4個(ge)AT89C51單(dan)片機能否(fou)用(yong)一個(ge)12M的晶振使其(qi)都正常工作(zuo)?一個(ge)采用(yong)內部(bu)時鐘方式,其(qi)余三個(ge)用(yong)外部(bu)方式...那(nei)四個(ge)都用(yong)內部(bu)方式可以不(將4個(ge)單(dan)片機都并(bing)聯在一個(ge)晶振上)?
可以,其(qi)中一個正常接晶振,他的(de)XTAL2輸出接到另外三個的(de)XTAL1輸入(ru)上。
九、單(dan)片(pian)(pian)機的(de)運行(xing)速(su)度和晶振(zhen)大小(xiao)的(de)關系(xi),若單(dan)片(pian)(pian)機的(de)最高工作(zuo)頻(pin)率是40M,晶振(zhen)是否(fou)可以(yi)選擇(ze)24M或更(geng)高,但不(bu)超過40M,這(zhe)樣單(dan)片(pian)(pian)機的(de)運行(xing)速(su)度是否(fou)大增?長期在此工作(zuo)頻(pin)率下對(dui)單(dan)片(pian)(pian)機是否(fou)有不(bu)良影(ying)響?單(dan)片(pian)(pian)機對(dui)晶振(zhen)的(de)選擇(ze)的(de)原則(ze)是怎樣的(de)?
當然是(shi)有影(ying)響的(de)(de),單片機(ji)的(de)(de)工作(zuo)速(su)度越快,功耗也(ye)越大,受干擾(rao)也(ye)會(hui)越厲害(hai),總之最高(gao)能跑40M的(de)(de),跑不(bu)超過40M的(de)(de)是(shi)沒有問(wen)題的(de)(de),只(zhi)是(shi)對相關的(de)(de)技(ji)術(shu)(如(ru)PCB的(de)(de)設計元件的(de)(de)選取等(deng))會(hui)高(gao)去很多.
十、89c51單片機的復位電路中常(chang)采用12MHZ的晶振,實際上市場上稍小于(yu)12MHZ,為什么呢?
答:需要串口通訊時(shi)一般是用11.0582MHZ的,這樣(yang)波特率才(cai)好算。
用12MHZ的工作周期(qi)就容易計算。
十一、單片機晶(jing)(jing)振上電(dian)不起(qi)振,但是手碰(peng)一下晶(jing)(jing)振就起(qi)振了,為什(shen)么?怎么判斷單片機晶(jing)(jing)振是否起(qi)振呀(ya)?
看(kan)看(kan)晶振配的電(dian)容焊了(le)沒有(you),值有(you)沒有(you)錯(cuo)誤?
最(zui)簡(jian)單是用示波(bo)器,另外可以看一下電源是否(fou)正常。
十(shi)二(er)、怎樣(yang)(yang)判斷單片機外部晶振(zhen)(zhen)有(you)沒有(you)起振(zhen)(zhen)?的STC89C52單片機本來是(shi)好好的后來不行了,換了個(ge)晶振(zhen)(zhen)就好了。但是(shi)過了幾個(ge)小時后又不行了,是(shi)怎么回事。還有(you)就是(shi)怎樣(yang)(yang)判斷晶振(zhen)(zhen)是(shi)否起振(zhen)(zhen)?
①先(xian)換一(yi)塊單片(pian)機試(shi)試(shi),問(wen)題(ti)還(huan)在(zai)則排除(chu)單片(pian)機;②可能是虛焊造成的,這點要(yao)注意;③用(yong)STC89C52也碰到過類似的問(wen)題(ti),換了(le)塊晶(jing)振(zhen)就(jiu)OK 了(le),好像STC起振(zhen)不橡(xiang)AT89S52那么順。其實對于STC89C52可以(yi)直(zhi)接看30腳(jiao)(ALE),接個(ge)燈,起振(zhen)一(yi)下子就(jiu)能看出(chu)來了(le)。
十三、51單(dan)片機(ji)晶(jing)振上接的(de)(de)電容大(da)小該如(ru)何選擇?是晶(jing)振越大(da),電容值也要大(da)一些嗎,一般常用多大(da)的(de)(de)。有(you)人說常用的(de)(de)從(cong)15-33pf,具體(ti)如(ru)何選擇效果最好(hao)?比如(ru)分別用一個(ge)6M和12M的(de)(de)晶(jing)振,用多大(da)電容更(geng)合(he)適?
15-33pf都可以 們(men)一般用的是15P和(he)30P 晶振大小影響不大 們(men)常用的4M 和(he)12M 以及11.0592M和(he)20M 24M 們(men)都用的 30P 單片機內(nei)部有相應的整(zheng)形電路(lu) 們(men)不比擔心(xin)
23.給(gei)51單(dan)片機(ji)12M晶振接(jie)2200pF電容會(hui)怎(zen)么樣(yang)?電路圖里(li)貌似是22pF的(de)(de),但(dan)是沒有22pF的(de)(de)...接(jie)2200pF會(hui)不(bu)會(hui)不(bu)正常工作?
不(bu)可以(yi),晶體(ti)會(hui)不(bu)工作(zuo)的。15-33p是合(he)理范圍。可以(yi)試試看(kan),對單片機(ji)不(bu)會(hui)有損壞。
十四、沒有程(cheng)序(xu)的空白單片機,外部晶振能(neng)起振么?
沒有內部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen)的(de)單(dan)片機,外(wai)(wai)部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen)可以起(qi)振(zhen)(zhen)(zhen),如傳(chuan)統(tong)類(lei)MS51系列單(dan)片機有內部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen)的(de)單(dan)片機,外(wai)(wai)部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen)不(bu)(bu)會起(qi)振(zhen)(zhen)(zhen),需要(yao)對外(wai)(wai)部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen)進(jin)行配(pei)置(zhi)后才(cai)會起(qi)振(zhen)(zhen)(zhen),如果(guo)不(bu)(bu)對外(wai)(wai)部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen)進(jin)行配(pei)置(zhi)仍(reng)使用內部(bu)(bu)(bu)晶振(zhen)(zhen)(zhen),如silicon lab系列C8051F020單(dan)片機
十五、為什么at89c52 P1.0輸出2.5v電(dian)壓,單(dan)片機好像未(wei)工作,晶振波形是不規則的正弦波可不可以?線路板沒(mei)有達到預(yu)想效果,發光二(er)極(ji)管一直亮,感覺還是單(dan)片機的問題,P1.0輸出2.5v電(dian)壓,看門狗用的X5045。怎么回(hui)事?
將看門狗拿掉,暫(zan)時(shi)做成(cheng)最(zui)小系統(tong),既只有電
源、8952、晶振和兩只30P左右的(de)電(dian)容。
①將P1.0口置1,測試該(gai)口的(de)電壓(ya)是否在2.5V以上;
②將P1.0口(kou)置0,測試改口(kou)電壓是否約(yue)為0V。
是(shi)的(de)話就是(shi)OK的(de),否則就要(yao)看(kan)看(kan)電源電壓、晶振、8952了。電源電壓是(shi)5+、-0.25V,且紋波一定要(yao)小
十六、制(zhi)作max232下載單片(pian)機,工(gong)作電壓都正常,要外加晶振嘛(ma)?
當然要加,如果沒有(you)外(wai)加晶振,那么單片機的時(shi)鐘(zhong)電路就沒有(you)了(le)(le),導致單片機串口就不(bu)能進行(xing)數據傳輸(shu)了(le)(le),最終這個下(xia)載(zai)(zai)器具就不(bu)能下(xia)載(zai)(zai)程序了(le)(le)。
十七(qi)、若89c52單(dan)片機使(shi)用外(wai)接晶(jing)振,應如何設(she)置?
晶振(zhen)的兩個(ge)管腳各(ge)接(jie)(jie)一個(ge)20~30pf的電容(rong)后分(fen)別接(jie)(jie)入單片機的XTAL1和XTAL2,兩個(ge)電容(rong)的另一端并接(jie)(jie)后接(jie)(jie)地即可,不(bu)再(zai)需要(yao)任(ren)何設置
十八、晶振的原理(li),如何產生正弦信號的,詳細一點(dian),從電路方面分析?
晶體可(ke)以等效為一個(ge)電(dian)感(gan),與里面的電(dian)容(rong)形(xing)(xing)成振蕩回(hui)路(lu),能量從電(dian)感(gan)慢慢到電(dian)容(rong),再(zai)從電(dian)容(rong)慢慢到電(dian)感(gan),周(zhou)而復(fu)始(shi)形(xing)(xing)成振蕩。正半周(zhou)是(shi)電(dian)容(rong)的充放電(dian)過(guo)程,負半周(zhou)是(shi)電(dian)感(gan)的充放電(dian)過(guo)程。
十九、現在要用(yong)52單片機做一個交(jiao)通(tong)燈(deng)電路。要求是紅燈(deng),綠燈(deng)30s,黃燈(deng)3s。循環變化。那么外界晶振怎樣選擇?單指(zhi)令周期多(duo)少(shao)比較合適?圖中外接的(de)兩個電容(rong)的(de)作用(yong)是什(shen)么?大小多(duo)少(shao)合適?
如果選擇晶振的(de)話,那兩個電容(rong)值可以選擇:30加減10PF左右的(de)(頻(pin)率在0~33MHZ之間);
如果選(xuan)擇陶瓷晶振的話,電容值(zhi)可以選(xuan)擇:40加(jia)減10PF左右(you)的(頻率(lv)在(zai)1.2~12MHZ)振蕩器應盡(jin)量靠近電容。指令周期是可以算的,這個是有公式的!
二(er)十、89c52單片機(ji) 晶(jing)振頻(pin)率才(cai)12兆,太小了,怎樣能改大(da)晶(jing)振頻(pin)率?
外(wai)接(jie)18.432或者24MHz的(de)(de)晶(jing)振。或者換4T的(de)(de)W77E58單片機,這樣相(xiang)當于把工作頻(pin)率提(ti)高3倍(bei)。或者換1T的(de)(de)DS89C4XX單片機,這相(xiang)當于把工作頻(pin)率提(ti)高8倍(bei)!用(yong)1T的(de)(de)STC12C5A60S2單片機也有(you)這樣的(de)(de)效果。
二十一、為什(shen)么51單(dan)片機愛用11.0592MHZ晶振?
其(qi)一(yi):因(yin)為(wei)它能(neng)夠準確地劃分成時(shi)鐘頻(pin)率,與UART(通用異步接收(shou)器(qi)/發送器(qi))量常見的(de)波(bo)特率相(xiang)關。特別是較高的(de)波(bo)特率(19600,19200),不管多么古怪的(de)值(zhi),這些晶振都是準確,常被(bei)使(shi)用的(de)。
其(qi)二:用(yong)11.0592晶振(zhen)(zhen)(zhen)的(de)(de)原(yuan)因(yin)是51單(dan)片(pian)機的(de)(de)定(ding)時(shi)(shi)器(qi)(qi)導致的(de)(de)。用(yong)51單(dan)片(pian)機的(de)(de)定(ding)時(shi)(shi)器(qi)(qi)做波特(te)率(lv)(lv)發(fa)生器(qi)(qi)時(shi)(shi),如(ru)果用(yong)11.0592Mhz的(de)(de)晶振(zhen)(zhen)(zhen),根(gen) 據公(gong)式算下來需要定(ding)時(shi)(shi)器(qi)(qi)設置的(de)(de)值(zhi)都(dou)是整(zheng)數;如(ru)果用(yong)12Mhz晶振(zhen)(zhen)(zhen),則波特(te)率(lv)(lv)都(dou)是有(you)偏差的(de)(de),比如(ru)9600,用(yong)定(ding)時(shi)(shi)器(qi)(qi)取0XFD,實(shi)際波特(te)率(lv)(lv)10000,一般(ban) 波特(te)率(lv)(lv)偏差在4%左右都(dou)是可以的(de)(de),所以也(ye)(ye)還能用(yong)STC90C516 晶振(zhen)(zhen)(zhen)12M 波特(te)率(lv)(lv)9600 ,倍(bei)數時(shi)(shi)誤(wu)差率(lv)(lv)6.99%,不倍(bei)數時(shi)(shi)誤(wu)差率(lv)(lv)8.51%,數據肯定(ding)會出錯。 這也(ye)(ye)就(jiu)是串口通(tong)信時(shi)(shi)大家喜(xi)歡用(yong)11.0592MHz晶振(zhen)(zhen)(zhen)的(de)(de)原(yuan)因(yin),在波特(te)率(lv)(lv)倍(bei)速(su)時(shi)(shi),最(zui)高(gao)可達到57600,誤(wu)差率(lv)(lv)0.00%。 用(yong)12MHz,最(zui)高(gao)也(ye)(ye)就(jiu)4800,而且有(you)0.16%誤(wu)差率(lv)(lv),但在允許范圍,所以沒多(duo)大影(ying)響。
少年(nian),找到(dao)你遇(yu)到(dao)的(de)問題了(le)嗎?華清遠見(jian)專注單片機(ji)設計(ji)培訓多年(nian),目前單片機(ji)行情(qing)并不(bu)如意(yi),大部(bu)分人已開始從事更高級的(de)ARM開發。有單片機(ji)基礎學(xue)ARM可以說是如虎添翼(yi),在職場更能提升(sheng)自己的(de)競爭力,對于(yu)我們開發者而言(yan)年(nian)薪(xin)十萬豈(qi)能滿(man)足?

