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