調(diào)試初級(jí)階段之一--如何讓單片機(jī)成功運(yùn)行
準(zhǔn)備寫(xiě)一個(gè)單片機(jī)學(xué)習(xí)入門的系列。這方面的教材很多。不乏很多的專家寫(xiě)的文章。比如《平凡的單片機(jī)》。但是個(gè)人感覺(jué)單片機(jī)入門學(xué)習(xí)是一回事,如何調(diào)試一個(gè)單板又是另外一回事。大家剛?cè)腴T的時(shí)候總會(huì)不免出現(xiàn)各種各樣的錯(cuò)誤。導(dǎo)致板子無(wú)法正常工作。由于是新手,電路板出了問(wèn)題的時(shí)候不知道怎么分析。無(wú)法定位問(wèn)題所在。
本文引用地址:http://butianyuan.cn/article/249399.htm所以,打算從最基本的調(diào)試說(shuō)起。寫(xiě)一個(gè)系列,讓單片機(jī)的調(diào)試不再成為入門的攔路虎。
由于51單片機(jī)是大家學(xué)的最多,用的最多的,同時(shí)本人也是從51開(kāi)始入門的,對(duì)51比較熟悉,所以,后文中提到的單片機(jī)一般都指51單片機(jī)。
調(diào)試階段之一準(zhǔn)備說(shuō)說(shuō)《單片機(jī)的運(yùn)行是否正?!?。
第一塊電路板的成功運(yùn)行難度對(duì)于單片機(jī)學(xué)習(xí)的興趣有很大的幫助。有一些人用開(kāi)發(fā)板用的很流暢,看書(shū)也基本都看懂了??墒堑人约鹤隽说谝粔K電路板來(lái)用的時(shí)候發(fā)現(xiàn),咦,程序好像沒(méi)有成功運(yùn)行!怎么回事?我不是和書(shū)上的一模一樣嗎?
根據(jù)本人的經(jīng)驗(yàn),51單片機(jī)的成功運(yùn)行該從如下幾個(gè)方面來(lái)分析。
▲1:當(dāng)然是電源。電源沒(méi)有成功供電。電源供電可以從如下幾個(gè)方面來(lái)分析。你用的電源本身沒(méi)有問(wèn)題。比如你用的開(kāi)關(guān)電源,開(kāi)關(guān)電源如果空載的時(shí)候輸出正常,那么接到你電路板上開(kāi)關(guān)電源的影響可以忽略不計(jì)了。問(wèn)題是你的電路板上有沒(méi)有問(wèn)題。
比如:
存在IC插反?51單片機(jī)本身插反?IC插反可能導(dǎo)致一些未知的問(wèn)題。
電容插反?一般來(lái)說(shuō)電容插反不會(huì)導(dǎo)致單片機(jī)不運(yùn)行但是可能導(dǎo)致其他的一些問(wèn)題。但是電源部分的電解電容如果反了,也許不出問(wèn)題,也許過(guò)了幾分鐘后,你可以看到一道白光,然后是啪的一聲巨響,你的電容爆了,可以嚇到一片人。(做模擬炸彈比較好)
供電接口松動(dòng),沒(méi)有正常供電上電路板!
△1:所以,一塊電路板在上電以前,我一般要用萬(wàn)用表的阻抗檔(有的是二極管檔)測(cè)量VCC和GND之間的阻抗,如果短路,那電路板肯定有問(wèn)題。如果不存在短路,則測(cè)量各個(gè)IC的電源引腳到VCC是否短路,各個(gè)地引腳到GND是否短路。然后再看關(guān)鍵電容,主要是電源部分的電解電容是否插反。
一切OK后才給電路板上點(diǎn)。同時(shí),強(qiáng)烈建議做一個(gè)電源指示燈。電源插頭插上后如果電源指示燈亮,至少表明90%的可能性電源供電不出問(wèn)題了。10%的問(wèn)題處在電容接反不會(huì)出現(xiàn)提示。
▲2:然后是看晶振是否接對(duì)。對(duì)于51單片機(jī),晶振的比較簡(jiǎn)單,只要一個(gè)晶體振蕩器+2個(gè)小電容就可以了。但是現(xiàn)在很多公司用貼片電容,如果開(kāi)發(fā)物料管理不是很好,很有可能焊接上去的不是30p附近的電容,比如焊接一個(gè)103或者104上去。程序照樣不會(huì)跑。
在有示波器的時(shí)候,很簡(jiǎn)單,直接用示波器觀察以下51的晶振腳,如果有3V附近的正弦波出現(xiàn),OK,晶振起振了。
沒(méi)有示波器怎么辦?如果有仿真頭,也行,很多仿真頭有自帶晶振。比如WAVE系列仿真頭。WAVE仿真頭連不上電路板其中一個(gè)原因就是選擇了外部晶振,而你的外部晶振沒(méi)有起振,那么仿真頭連不上電路板的。
沒(méi)有示波器,也沒(méi)有自帶晶振的仿真頭,萬(wàn)用表你總有吧。用萬(wàn)用表測(cè)量晶振腳的電壓,如果在2V附近,那么恭喜你,晶振也起振了。
△2:最佳的解決方案是用示波器觀看。這種方法最直觀最快。
還有,匹配電容在你使用不同大小晶振的時(shí)候可能電容大小不同。需要查閱芯片手冊(cè)尋找一個(gè)最佳的電容。對(duì)于51而言,偏差50%影響不大。
▲3:EA是否上拉到VCC。51單片機(jī)要燒片子運(yùn)行。必需EA上拉到VCC,可以用4.7K-10K上拉,有的人甚至不用電阻,直接接VCC也可以用。不過(guò)不推薦直接接VCC的方案。
△3:用萬(wàn)用表測(cè)量EA上電平,如果是5V則表明燒片子運(yùn)行的硬件條件已經(jīng)滿足了。
▲4:復(fù)位電路。51的復(fù)位電路要求不是很嚴(yán)格,但是設(shè)計(jì)如果太草率也有可能出現(xiàn)問(wèn)題。注意有的新手可能會(huì)出現(xiàn)復(fù)位電路的電容和電阻位置弄反的情況。另外一種錯(cuò)誤就是復(fù)位時(shí)間不夠。電阻電容常數(shù)不對(duì)。
△4:解決方案查閱手冊(cè),看你使用的芯片對(duì)于復(fù)位電路的要求到底是什么?一般手冊(cè)上都有說(shuō)明。
▲5:以上四點(diǎn)都已經(jīng)做到了,但是還是不運(yùn)行。
△5:可以嘗試將電路板上所有的IC全部取下,然后通電看是否程序運(yùn)行。然后一片一片的上IC。
以上是一個(gè)最簡(jiǎn)單的51系統(tǒng)是否運(yùn)行應(yīng)該注意的幾個(gè)方面。
注意做電子開(kāi)發(fā)的過(guò)程中。切記心平氣和,萬(wàn)事小心行事,不急不燥。一個(gè)一個(gè)問(wèn)題慢慢調(diào)試,不要一下子被它嚇到了不知道從哪里下手。
問(wèn)題一個(gè)個(gè)排除后你會(huì)發(fā)現(xiàn),原來(lái)一切就這么簡(jiǎn)單。
下一步調(diào)試準(zhǔn)備講如何調(diào)試二極管,鍵盤等常用接口器件!請(qǐng)看"調(diào)試初級(jí)階段之二--如何讓鍵盤、顯示正常"
萬(wàn)用表相關(guān)文章:萬(wàn)用表怎么用
51單片機(jī)相關(guān)文章:51單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
晶振相關(guān)文章:晶振原理
評(píng)論