單片機(jī)初學(xué)者學(xué)習(xí)之路—經(jīng)驗(yàn)
不知不覺自己接觸單片機(jī)已經(jīng)有兩年多了,從最初的MCS-51,到后來的AVR、MSP430,對(duì)于單片機(jī)也還是有一點(diǎn)理解的,當(dāng)然我還只算是一只入門不久的菜鳥,對(duì)于很多技術(shù)我還是一個(gè)初學(xué)者,人外有人,牛人真的太多了。也常有同學(xué)問我單片機(jī)應(yīng)該怎么學(xué),我的回答都是兩個(gè)字:實(shí)踐。我覺得實(shí)踐才能出真知,不實(shí)踐是永遠(yuǎn)也學(xué)不會(huì)單片機(jī)的,這和你看一百道菜譜不下廚永遠(yuǎn)也做不出佳肴,看一百本游泳的書不下水永遠(yuǎn)也學(xué)不會(huì)游泳是一個(gè)道理。那么怎么去實(shí)踐?這可能是初學(xué)者最關(guān)心的問題,網(wǎng)上類似的回答也很多,這都是老生常談了,只要你是有心人,一搜一大把。
簡(jiǎn)單說一下學(xué)習(xí)單片機(jī)的步驟:
1.購(gòu)買常用的工具(萬用表,烙鐵,烙鐵架,松香,焊錫,螺絲刀,吸錫器,攝子)和電子元件(萬能板,電阻,電容,發(fā)光二極管,整流橋,數(shù)碼管,常用接插件等),先做個(gè)5V的直流電源(變壓器/整流橋/7812/7805/電解電容若干,電容的極性可別反了),再?gòu)幕镜陌l(fā)光二極管驅(qū)動(dòng)電路開始,灌電流還是拉電流?限流電阻取多大?怎么計(jì)算的?你是不是發(fā)現(xiàn),很多基本的知識(shí)你都不懂,甚至連元件的型號(hào)你都叫不出來。沒有關(guān)系,多問人,論壇、QQ技術(shù)群里熱心人還是有的。準(zhǔn)備一個(gè)筆記本,有用的知識(shí)應(yīng)該記下來。
2.用萬能板搭建一個(gè)51的最小系統(tǒng)(當(dāng)然要從51入手,資料太多了),點(diǎn)亮一個(gè)LED再說,接著是數(shù)碼管、蜂鳴器,繼電器,EEPROM,AD/DA,LCD,時(shí)鐘芯片,數(shù)字溫度計(jì),紅外遙控編解碼等等,這里面三極管用的很普遍,有時(shí)用作放大,有時(shí)用開關(guān),一定要理解清楚??磥硪龅墓ぷ鬟€真不少,這可不能急,一樣一樣來,誰讓你想學(xué)到真本領(lǐng)。有條件買個(gè)開發(fā)板也很方便,若是能堅(jiān)持DIY,也是趣味無窮。很多芯片是可以免費(fèi)申請(qǐng)到的,最好申請(qǐng)的是美信公司的片子,我用的很多芯片都是從那申請(qǐng)的,例如:MAX1270、DS12C887、DS18B20、MAX518、MAX396、MAX7219、MAX145等,在此我是發(fā)自內(nèi)心的感謝美信公司為我提供的免費(fèi)午餐,確實(shí)要用的話就申請(qǐng)一下,只是好奇,或貪小便宜,那就別申請(qǐng),別讓人家小瞧了咱中國(guó)未來的電子工程師。當(dāng)然這些芯片的datasheet都是英文的,所以,大學(xué)生朋友們,盡管我們是學(xué)電的,英文還是要好好學(xué)的。
3.單片機(jī)的編程,多數(shù)人先接觸匯編,要學(xué)好單片機(jī),匯編是要懂的,但最終你必須掌握C語言,C語言真的太強(qiáng)大、太方便了,其好處不用我多說了。IDE個(gè)人感覺最好的是Keil,在這推薦一下。剛開始當(dāng)然是從跑馬燈開始,網(wǎng)上有很多單片機(jī)實(shí)驗(yàn)的源代碼,都是絕好的學(xué)習(xí)資料,好好消化一下,收獲會(huì)很大。 “hello world”的串口通信例子應(yīng)該盡早調(diào)通,在沒有仿真器的情況下,串口就是最好的調(diào)試工具,一個(gè)高人曾指點(diǎn)我:拿到一個(gè)處理器,首先要做的就是打通串口。串口一通就好比一個(gè)習(xí)武之人打通了全身筋脈,再學(xué)其它武功就會(huì)易如反掌。定時(shí)器是單片機(jī)非常重要的資源,其使用方法一定要整清楚。高人說過,沒有定時(shí)器的單片機(jī)不是單片機(jī),事實(shí)上我也沒見過哪款單片機(jī)沒有定時(shí)器的。另外,一個(gè)好的編程風(fēng)格也很重要,看一看相關(guān)的資料,你會(huì)受益很多,網(wǎng)上這樣的資料也很多。
4.程序?qū)懞昧?,怎么下載到單片機(jī)里,總是借別人的編程器總是不太好,現(xiàn)在一些單片機(jī)有ISP功能了,如89S5X和AVR單片機(jī)。網(wǎng)上有一個(gè)Easy 51Pro v2.0宇宙版,資料很全,感謝前輩的無私奉獻(xiàn)啊。照他說的電路自己做個(gè)ISP下載線,非常好用,若是自己做的不好用,買個(gè)現(xiàn)成的也不貴。這錢若還舍不得,那就試試STC的51系列單片機(jī)吧,可以用串口燒你的程序,這其實(shí)叫IAP,有興趣可以去網(wǎng)上搜一下。當(dāng)然,等你以后的用的單片機(jī)多了,編程器還是不可缺少的。
5. 單片機(jī)故障的排查:對(duì)于單片機(jī)的問題,首先搞清楚一個(gè)CPU工作的三要素:電源,時(shí)鐘源(晶振),復(fù)位電路,是不是都沒有問題了,如果有示波器那就更好了,看一下ALE腳是不是有fosc/6的方波信號(hào),有的話說明單片機(jī)在工作,三要素已經(jīng)滿足了,沒有的話只能再不厭其煩的檢察了,其實(shí)很簡(jiǎn)單,參照書上的電路一般沒問題。
等自己動(dòng)手做出些東西來了,可以算是入門了,會(huì)有一種成就感,但是不要滿足于這點(diǎn)小成功,這些還都是小把戲,前面的路還是漫長(zhǎng)的,如FPGA,PCB,DSP,ARM等,都是需要學(xué)習(xí)的。保存好你的電路和源代碼,這都是你的財(cái)富。會(huì)有用到它們的時(shí)候。另外,你做的東西可能只是功能上能實(shí)現(xiàn),離一個(gè)成熟的產(chǎn)品還有很大差距,穩(wěn)定性、抗干擾都不是小問題。這些知識(shí)必須有良好的電路基礎(chǔ)理論,大學(xué)里學(xué)的數(shù)電、模電、信號(hào)都是非常重要的,特別是模電,好好復(fù)習(xí),保證每次復(fù)習(xí)你都會(huì)有新的收獲。路漫漫其修遠(yuǎn)兮,耐心去求索吧。
地球真的很危險(xiǎn),沒有兩把刷子何以立足,總要有吃飯的家伙啊童鞋們。認(rèn)真掌握一項(xiàng)技術(shù),其必要性不言自明。想學(xué)就不要猶豫不決,不要老是等明天。
評(píng)論