A. 怎麼樣學好單片機或成為單片機高手
看懂郭天祥 他講的就不錯
B. 想自學單片機從事單片機方面的工作..
在錯誤的道路上日夜兼程,最終也無法成功。因此,方法和思路絕對是第一重要的。一些學技術的同學,往往看到這類章節會直接跳過去,因為大多數類似章節都是廢話連篇。但是,今天在這里我可以很負責任的告訴你,本章節講到的學習單片機的方法,都是我們學習單片機的無數經驗和教訓總結出來的瑰寶。因為我們披荊斬棘,開辟了道路,所以可以告訴你路在何方;也因為我們摸過燒紅的鐵塊,燙了手,所以可以把教訓告訴你。希望各位都能站在我們的肩膀上,成為巨人。
1.1 學什麼單片機
單片機的型號那麼多,如何選取一款合適的進行學習?如果身邊有比較便利的學習單片機的條件,有什麼條件就學習什麼型號。比如,你所在的公司剛好用到某個型號單片機,那麼就方便多了。開發板不用購買,直接用公司現成的板子,指導老師到處是,公司的工程師,只要你耐心虛心的不恥上問,相信他們都會幫你解答問題。如果你跟著學習的導師,正在使用某個型號開發產品,那麼同樣的道理,你也會有得天獨厚的優勢,直接跟著學就行了。其實單片機型號雖然多,但是用法大同小異,學會一種,再上手其他的就很快了。
如果你這些條件都沒有,那就跟著我學吧,我建議你學習51單片機。為什麼呢?現在單片機種類和型號非常多,每個型號都有一定的市場份額,但是哪個型號也沒有早期51單片機那般的風光和火爆,雖然現在地位不是那麼高了,但是因為51單片機資料非常多,大家學起來有很多可以參考的東西,所以上手肯定比其他型號的要快一些。如果你學習稍微偏門的單片機,可能一個簡單的軟體問題就要折騰你好長時間,不僅僅浪費了你的學習時間,更重要的是打擊你學習單片機的信心。
那是不是我們每個單片機都要學習一遍呢?答案當然是否定的。大家跟著我來學習51單片機,必須得跟著學會舉一反三和融會貫通的能力。單片機型號那麼多,挨個學下來估計頭發白了也學不完,所以大家跟著我學51單片機,不能僅僅當做51來學習,更重要的是要當做單片機來學,要通過我們的這個教程,把所有的單片機的內部資源都搞清楚弄明白,每個內部模塊的用法理解透徹,這樣當你遇到一個從沒有用過的單片機,也就知道如何下手去應用開發了。
1.2 如何學習單片機
前邊提到過,單片機是一門實用技術,我們學習它已經不是為了應付考試了,我給大家總結了單片機的學習方法是:一個要領,四個步驟。
學習單片機的要領就是:在實踐中成長,In Doing We Learn!
學射箭,你得去拉弓,整天只擺造型肯定不行;學游泳,你得下水撲騰,整天在岸上做模仿活動不行;學開車,你得坐車上去開,坐沙發上肯定學不會。同樣的道理,學單片機,整天盯著單片機看肯定不行,你也必須得親自動手去練。
沒有不下水就學會游泳成為游泳健將的,沒有不到車上練就能成為賽車手的,這點大家都清楚,可為什麼總是那麼多人學單片機的時候,總是要抱著一本書看呢。第一,我們小學中學甚至大學的學習模式都是如此,學什麼東西主要都是靠看書;第二,很多人想實踐不太清楚該怎麼去實踐。
不是不讓大家看書,而是看了一點以後,要馬上去實踐驗證,然後再回頭結合實踐的結果,理解書上的內容。從這個地方,大家要得出一個結論來,就是在學實際技術過程中,和應付考試不同,書上的內容不需要你去硬性記憶,書是用來查的,不是用來記憶的。遇到問題,你學會翻書,知道該去哪裡找,找到相關知識點,分析明白,領悟透徹即可,包括咱這本書也是一樣,大家先看完一節課,然後馬上就把這節課相應的實驗做了,做實驗的過程中,哪裡有不懂的問題,隨時翻閱書籍查找,再實驗,再查找,反反復復的過程就可以把本節課的內容掌握。
下面,就是我總結的跟著我學習單片機的四個步驟。
第一步,鸚鵡學舌。
剛出生的孩子叫「爸爸」「媽媽」的時候,他甚至不知道「爸爸」「媽媽」是什麼意思,更不會理解這些聲音是什麼意思,但是我們帶著孩子見到他爸爸就讓他喊「爸爸」,見到媽媽就讓他喊「媽媽」,見到爺爺就喊「爺爺」……慢慢的你會發現,次數多了,孩子就知道誰是爸爸,誰是媽媽,誰是爺爺,誰是奶奶了。
大家剛開始接觸單片機的時候,也屬於單片機行業的新生兒。單片機的樣子,單片機外圍的各種器件,單片機內部的各種結構,單片機用C語言的編程方法,初學者可能都沒有見過。沒關系,有些概念和方法你不理解也沒有關系,甚至不需要你理解,你只需要跟著我去鸚鵡學舌式學習,第一遍學習某一節課的內容時,對於程序,大家就可以完全跟著抄下來,甚至抄兩三遍,過一段你會發現,好多東西你也認識了,好多概念你慢慢的也理解清楚了,你也能大概看懂別人的小程序了,切忌覺得自己看會了,而簡單復制粘貼。
第二步,照葫蘆畫瓢。
很多同學學習的時候喜歡看,看我做的視頻,看我寫的程序,甚至看別人的程序,都能看懂,覺得自己就會了,等到自己寫程序的時候,感覺就是老鼠啃天,不知道從哪裡下手了,這是初學者很容易犯的「眼高手低」這樣一個毛病,所以第二步的內容就非常重要了。
我的要求是,每一位同學,在學完了當前課的內容,把第一步順利完成以後,然後關掉視頻教程,關掉源代碼,自己通過看電路圖和查找非源代碼的其他任何資料,把當節課我寫的程序代碼重新默寫出來,邊寫邊多少理解那麼一點點,不是純粹的背誦,應該說是背誦加理解的結合體。甚至學過幾節課以後,可以回頭把前邊曾經這樣實現過的課程,再按照這種方法做一遍。千萬不要認為這一步沒必要,這一步是你能否學會單片機的一個關鍵步驟,在學完本教程之前,每一課內容都要這樣做,如果每一個程序你都能夠完美的完成,那麼可以說,當節課的內容,百分之七八十你已經掌握了。
第三步,他山之石可以攻玉。
單片機技術的最大特點就是可以通過修改程序來實現不同的功能,因此舉一反三的能力就必不可少了。每一節課的常式後邊,我一般都會布置一兩個作業,大家盡量去獨立完成這個作業。在完成這個作業的過程中,都可以參考我的程序思路,在這個基礎上通過動腦思考去構建你自己的程序框架,最終將程序完成。
在我們工程師實際產品研發的時候,很多種情況下也是如此。比如一個產品,我們如果從0開始著手的話,可能會走很多彎路,所以我們通常的做法是尋找購買同類幾款產品,然後先研究他們的各自優缺點,學習他們的長處,然後在同類產品基礎上在來設計我們的產品,這就是他山之石可以攻玉。
初學者在學習的時候,往往遇到的問題很多,你應該想到,你遇到的問題,可能前輩們早就遇到過了,所以遇到問題後,不要慌張,首先利用谷歌或者網路這些搜索引擎搜索一下,要做什麼新東西,先去網上找找相關資料了解一下,不管是編程還是硬體設計,多參考參考別人的東西,只要把別人的東西分析明白了,自己用起來,就可以成為自己的知識了。
第四步,理論實踐結合,溫故知新。
當大家把所有的課程都按照前邊三步完成後,這個時候不妨把書打開,看看書,通過自己實戰的經驗,再看書的時候,很多知識點會有一種恍然大悟的感覺。甚至視頻教程,書籍,都可以反復看兩遍,可能有的知識點當時學習的時候不明白,過了一段時間,回過頭來再學習的時候,一下就明白了。
1.3 單片機學習的准備工作
第一、足夠的信心、恆心和耐心。
有同學問過我,單片機這門技術難不難。我覺得這個問題得從兩個方面去分析。
首先,我們從戰略上藐視它。那麼多同學跟著老師學一段時間就可以做出來小車,超聲波測距,甚至做出來機器人,似乎很拽的樣子。那他們又不是三頭六臂,我們也沒有什麼做不了的道理。實際上要說技術,其實就是一層窗戶紙,表面看不透徹,感覺特別神秘,實際只要你稍微一努力就可以捅破它,誇張點說,單片機的邏輯上的關系,只有小學的水平,簡單的很。正所謂會者不難,難者不會,大家不懂這個東西,看起來感覺很神秘。所以大家只要認真踏實堅持學下去,肯定能學好這么技術。
其次呢,我們從戰術上要重視它。你說單片機這東西,如果十天八天就學會了,那麼這個技術還能值錢嗎?我可以這樣去表達,如果一個技術很簡單就被學會,那麼很多人都會的這個技術,肯定也沒什麼前途和錢途。那究竟多久能學會呢?我給大家制定的學習方案,根據每個人的基礎不同,平均每天要拿出2個小時以上的學習時間,大概一到三個月可以入門。入門的概念是給你一個單片機開發任務,你起碼知道努力的方向和解決問題的方法了。技術這東西,關鍵是堅持做下去,有恆心和耐心,如果長時間不用的話,肯定還會生疏。所以要想成為單片機高手,起碼需要一年左右的單片機開發的歷練才行。成為單片機高手的概念就是你自己可以從頭根據自己的想法,去設計一個電路,根據需要的功能編寫代碼,做一個產品出來。
第二、教材和教程。
要學習單片機這門技術,良好的教材和教程必不可少。單片機方面,大家可以直接學習我們這本《51單片機C語言開發》,我們也有精心製作了《單片機高手之路》視頻教程,並且後期會進行不定期更新。本著開源、共享的理念,我們的視頻教程和電子教程都是免費開放的,大家可以到我們的網站www.51hei.com找到下載鏈接,如果有條件,也可以購買我們一般紙質教材,紙質書籍查閱起來比視頻教程和電子教程更方便。另外,因為我們做單片機開發使用的是C語言,所以最好能有一本純C語言教材,我們學到一些C語言語法性質的問題的時候,大家可以方便查閱,或者你可以直接把相關語法問題通過網路和谷歌等搜索一下也可以。
第三、電腦一台,單片機開發板一塊。
電腦呢,是學習單片機必不可少的工具,因為我們編程,查資料都用得到,但是有句題外話說一下,不要把電腦當成游戲機或者影碟機,偶爾玩玩游戲看看電影是可以的,勞逸結合,但是不可沉溺其中,否則還不如不買電腦。
單片機開發板,這也是必須的。如果還上學,老師實驗室有開發板,可以考慮跟老師借一個,或者使用師兄師姐用完的,這樣可以省點錢。當然,如果身邊有高手,比如輔導老師,會單片機的師兄,在他們的指導下做一個也可以,身邊有人指導的話,不懂的問題還可以問他們。如果這些條件不具備,那麼可以購買一個,先學習別人的板子設計思路,給自己以後設計電路板打下基礎。在這里我推薦一下我們的51開發板,用來配套學習。我不敢說我們的設計是最好的,但是我可以很負責任的說,我們的板子是出自經驗豐富的一線工程師之手,其中的設計都是根據實際項目開發的思路進行的,包括整體規劃、電路設計、器件布局等等,可以為你今後的項目開發提供一個優質的參考。另外一方面,因為我們的教程是基於我們的開發板做的,所以大家用配套的話可以節省時間,提高學習效率。
當然,即使不購買我們的開發板,你想學單片機,必須要有一塊開發板,不要總去用軟體模擬,軟體模擬是學不會單片機技術的。經常有同學過來問我,老師我用軟體模擬的好用,做了硬體不好用是什麼原因。在這里我提一下,如果你上課用這個軟體模擬,糊弄老師應付考試可以的,但是實際開發和模擬軟體差別太大,如果是學習單片機這門技術,那我只能告訴你,拿起烙鐵焊電路,動手寫程序,遠離模擬軟體,靠軟體模擬永遠學不到真正的技術。
C. 干單片機的工作需要學習哪些課程
樓上的幾位都說得挺全,不過這些還只是開始,學習單片機,數模電最好要熟悉,在學習過程當中會給你帶來很多幫助;編寫代碼有C跟匯編兩種工具,可以根據自己的需要學習其中的一種,也可以兩種都學;單片機的內部結構,原理,一些概念性的知識點要知道;還有就是動手能力的培養,通過實驗對單片機加深理解及各個不同板塊的應用,學到中高級,深入階段之後,對之前一些沒有接觸的內容可以再重新認識,單片機是一門很有研究性的技術,學習是一個過程,學無止盡,要學的確實有很多~~~~~因為單片機應用領域相當廣泛,所以不能僅僅局限於哪些課程的學習,等你真正接觸到了單片機就會了解
千萬別被這些內容嚇到,因為前期的基礎對單片機來說還是挺重要的,萬事開頭難,突破了前面的,後面就會慢慢得心應手,越學越得勁兒~~~~
上海靈訓IT教育 單片機培訓中心 長期從事專業的單片機培訓,相關課程介紹可以瀏覽學校網頁,手把手教你學習單片機,從入門到獨立完成項目,讓你具備獨立開發項目的能力,報名前可以免費試聽課程,索取課程相關資料~~~