這個用單片機學習版吧,我有一塊吳鑒鷹的,作用還是蠻大的。
我學習單片機是出于興趣,雖然經常制作小產品,但對于這門學科,當然我還只算是一只入門不久的菜鳥,對于很多技術我還是一個初學者,人外有人,牛人真的太多了。也常有同學問我單片機應該怎么學,我的回答都是兩個字:實踐。我覺得實踐才能出真知,不實踐是永遠也學不會單片機的,這和你看一百道菜譜不下廚永遠也做不出佳肴,看一百本游泳的書不下水永遠也學不會游泳是一個道理。那么怎么去實踐?這可能是初學者最關心的問題,網上類似的回答也很多,這都是老生常談了,只要你是有心人,一搜一大把。
簡單說一下我學習單片機的步驟:
1.購買常用的工具(萬用表,烙鐵,烙鐵架,松香,焊錫,螺絲刀,吸錫器,攝子)和電子元件(萬能板,電阻,電容,發光二極管,整流橋,數碼管,常用接插件等),先做個5v的直流電源(變壓器/整流橋/7812/7805/電解電容若干,電容的極性可別反了),再從基本的發光二極管驅動電路開始,灌電流還是拉電流?限流電阻取多大?怎么計算的?你是不是發現,很多基本的知識你都不懂,甚至連元件的型號你都叫不出來。沒有關系,多問人,論壇、qq技術群里熱心人還是有的。準備一個筆記本,有用的知識應該記下來。
2.用萬能板搭建一個51的最小系統(當然要從51入手,資料太多了),點亮一個led再說,接著是數碼管、蜂鳴器,繼電器,eeprom,ad/da,lcd,時鐘芯片,數字溫度計,紅外遙控編解碼等等,這里面三極管用的很普遍,有時用作放大,有時用開關,一定要理解清楚。看來要做的工作還真不少,這可不能急,一樣一樣來,誰讓你想學到真本領。有條件買個開發板也很方便,若是能堅持diy,也是趣味無窮。很多芯片是可以免費申請到的,最好申請的是美信公司的片子,我用的很多芯片都是從那申請的,例如:max1270、ds12c887、ds18b20、max518、max396、max7219、max145等,在此我是發自內心的感謝美信公司為我提供的免費午餐。當然這些芯片的datasheet都是英文的,所以,朋友們,盡管我們是學電的,英文還是要好好學的。
3.單片機的編程,多數人先接觸匯編,要學好單片機,匯編是要懂的,但最終你必須掌握c語言,c語言真的太強大、太方便了,其好處不用我多說了。ide個人感覺最好的是keil,在這推薦一下。剛開始當然是從跑馬燈開始,網上有很多單片機實驗的源代碼,都是絕好的學習資料,好好消化一下,收獲會很大。 “hello world”的串口通信例子應該盡早調通,在沒有仿真器的情況下,串口就是最好的調試工具,一個高人曾指點我:拿到一個處理器,首先要做的就是打通串口。串口一通就好比一個習武之人打通了全身筋脈,再學其它武功就會易如反掌。定時器是單片機非常重要的資源,其使用方法一定要整清楚。高人說過,沒有定時器的單片機不是單片機,事實上我也沒見過哪款單片機沒有定時器的。另外,一個好的編程風格也很重要,看一看相關的資料,你會受益很多,網上這樣的資料也很多。
4.程序寫好了,怎么下載到單片機里,總是借別人的編程器總是不太好,現在一些單片機有isp功能了,如89s5x和avr單片機。網上有一個easy 51pro v2.0宇宙版,資料很全,感謝前輩的無私奉獻啊。照他說的電路自己做個isp下載線,非常好用,若是自己做的不好用,買個現成的也不貴。這錢若還舍不得,那就試試stc的51系列單片機吧,可以用串口燒你的程序,這其實叫iap,有興趣可以去網上搜一下。當然,等你以后的用的單片機多了,編程器還是不可缺少的。
5. 單片機故障的排查:對于單片機的問題,首先搞清楚一個cpu工作的三要素:
電源,時鐘源(晶振),復位電路,
是不是都沒有問題了,如果有示波器那就更好了,看一下ale腳是不是有fosc/6的方波信號,有的話說明單片機在工作,三要素已經滿足了,沒有的話只能再不厭其煩的檢察了,其實很簡單,參照書上的電路一般沒問題。
等自己動手做出些東西來了,可以算是入門了,會有一種成就感,但是不要滿足于這點小成功,這些還都是小把戲,前面的路還是漫長的,如fpga,pcb,dsp,arm等,都是需要學習的。保存好你的電路和源代碼,這都是你的財富。會有用到它們的時候。另外,你做的東西可能只是功能上能實現,離一個成熟的產品還有很大差距,穩定性、抗干擾都不是小問題。這些知識必須有良好的電路基礎理論,大學里學的數電、模電、信號都是非常重要的,特別是模電,好好復習,保證每次復習你都會有新的收獲。路漫漫其修遠兮,耐心去求索吧
|