如何學(xué)習(xí)單片機(jī)編程開發(fā)
在錯(cuò)誤的道路上日夜兼程,最終也無法成功。因此,方法和思路絕對是第一重要的。一些學(xué)技術(shù)的同學(xué),往往看到這類章節(jié)會直接跳過去,因?yàn)榇蠖鄶?shù)類似章節(jié)都是廢話連篇。但是,今天在這里我可以很負(fù)責(zé)任的告訴你,本章節(jié)講到的學(xué)習(xí)單片機(jī)的方法,都是我們學(xué)習(xí)單片機(jī)的無數(shù)經(jīng)驗(yàn)和教訓(xùn)總結(jié)出來的瑰寶。因?yàn)槲覀兣G斬棘,開辟了道路,所以可以告訴你路在何方;也因?yàn)槲覀兠^燒紅的鐵塊,燙了手,所以可以把教訓(xùn)告訴你。希望各位都能站在我們的肩膀上,成為巨人。 1、學(xué)什么單片機(jī) 單片機(jī)的型號那么多,如何選取一款合適的進(jìn)行學(xué)習(xí)?如果身邊有比較便利的學(xué)習(xí)單片機(jī)的條件,有什么條件就學(xué)習(xí)什么型號。比如,你所在的公司剛好用到某個(gè)型號單片機(jī),那么就方便多了。開發(fā)板不用購買,直接用公司現(xiàn)成的板子,指導(dǎo)老師到處是,公司的工程師,只要你耐心虛心的不恥上問,相信他們都會幫你解答問題。如果你跟著學(xué)習(xí)的導(dǎo)師,正在使用某個(gè)型號開發(fā)產(chǎn)品,那么同樣的道理,你也會有得天獨(dú)厚的優(yōu)勢,直接跟著學(xué)就行了。其實(shí)單片機(jī)型號雖然多,但是用法大同小異,學(xué)會一種,再上手其他的就很快了。 如果你這些條件都沒有,那就跟著我學(xué)吧,我建議你學(xué)習(xí)51單片機(jī)。為什么呢?現(xiàn)在單片機(jī)種類和型號非常多,每個(gè)型號都有一定的市場份額,但是哪個(gè)型號也沒有早期51單片機(jī)那般的風(fēng)光和火爆,雖然現(xiàn)在地位不是那么高了,但是因?yàn)?1單片機(jī)資料非常多,大家學(xué)起來有很多可以參考的東西,所以上手肯定比其他型號的要快一些。如果你學(xué)習(xí)稍微偏門的單片機(jī),可能一個(gè)簡單的軟件問題就要折騰你好長時(shí)間,不僅僅浪費(fèi)了你的學(xué)習(xí)時(shí)間,更重要的是打擊你學(xué)習(xí)單片機(jī)的信心! ∧鞘遣皇俏覀兠總(gè)單片機(jī)都要學(xué)習(xí)一遍呢?答案當(dāng)然是否定的。大家跟著我來學(xué)習(xí)51單片機(jī),必須得跟著學(xué)會舉一反三和融會貫通的能力。單片機(jī)型號那么多,挨個(gè)學(xué)下來估計(jì)頭發(fā)白了也學(xué)不完,所以大家跟著我學(xué)51單片機(jī),不能僅僅當(dāng)做51來學(xué)習(xí),更重要的是要當(dāng)做單片機(jī)來學(xué),要通過我們的這個(gè)教程,把所有的單片機(jī)的內(nèi)部資源都搞清楚弄明白,每個(gè)內(nèi)部模塊的用法理解透徹,這樣當(dāng)你遇到一個(gè)從沒有用過的單片機(jī),也就知道如何下手去應(yīng)用開發(fā)了。 2、如何學(xué)習(xí)單片機(jī) 前邊提到過,單片機(jī)是一門實(shí)用技術(shù),我們學(xué)習(xí)它已經(jīng)不是為了應(yīng)付考試了,我給大家總結(jié)了單片機(jī)的學(xué)習(xí)方法是:一個(gè)要領(lǐng),四個(gè)步驟! W(xué)習(xí)單片機(jī)的要領(lǐng)就是:在實(shí)踐中成長,In Doing We Learn! 學(xué)射箭,你得去拉弓,整天只擺造型肯定不行;學(xué)游泳,你得下水撲騰,整天在岸上做模仿活動不行;學(xué)開車,你得坐車上去開,坐沙發(fā)上肯定學(xué)不會。同樣的道理,學(xué)單片機(jī),整天盯著單片機(jī)看肯定不行,你也必須得親自動手去練! ]有不下水就學(xué)會游泳成為游泳健將的,沒有不到車上練就能成為賽車手的,這點(diǎn)大家都清楚,可為什么總是那么多人學(xué)單片機(jī)的時(shí)候,總是要抱著一本書看呢。第一,我們小學(xué)中學(xué)甚至大學(xué)的學(xué)習(xí)模式都是如此,學(xué)什么東西主要都是靠看書;第二,很多人想實(shí)踐不太清楚該怎么去實(shí)踐! 〔皇遣蛔尨蠹铱磿强戳艘稽c(diǎn)以后,要馬上去實(shí)踐驗(yàn)證,然后再回頭結(jié)合實(shí)踐的結(jié)果,理解書上的內(nèi)容。從這個(gè)地方,大家要得出一個(gè)結(jié)論來,就是在學(xué)實(shí)際技術(shù)過程中,和應(yīng)付考試不同,書上的內(nèi)容不需要你去硬性記憶,書是用來查的,不是用來記憶的。遇到問題,你學(xué)會翻書,知道該去哪里找,找到相關(guān)知識點(diǎn),分析明白,領(lǐng)悟透徹即可,包括咱這本書也是一樣,大家先看完一節(jié)課,然后馬上就把這節(jié)課相應(yīng)的實(shí)驗(yàn)做了,做實(shí)驗(yàn)的過程中,哪里有不懂的問題,隨時(shí)翻閱書籍查找,再實(shí)驗(yàn),再查找,反反復(fù)復(fù)的過程就可以把本節(jié)課的內(nèi)容掌握! ∠旅妫褪俏铱偨Y(jié)的跟著我學(xué)習(xí)單片機(jī)的四個(gè)步驟。 第一步,鸚鵡學(xué)舌。 剛出生的孩子叫“爸爸”“媽媽”的時(shí)候,他甚至不知道“爸爸”“媽媽”是什么意思,更不會理解這些聲音是什么意思,但是我們帶著孩子見到他爸爸就讓他喊“爸爸”,見到媽媽就讓他喊“媽媽”,見到爺爺就喊“爺爺”……慢慢的你會發(fā)現(xiàn),次數(shù)多了,孩子就知道誰是爸爸,誰是媽媽,誰是爺爺,誰是奶奶了! 〈蠹覄傞_始接觸單片機(jī)的時(shí)候,也屬于單片機(jī)行業(yè)的新生兒。單片機(jī)的樣子,單片機(jī)外圍的各種器件,單片機(jī)內(nèi)部的各種結(jié)構(gòu),單片機(jī)用C語言的編程方法,初學(xué)者可能都沒有見過。沒關(guān)系,有些概念和方法你不理解也沒有關(guān)系,甚至不需要你理解,你只需要跟著我去鸚鵡學(xué)舌式學(xué)習(xí),第一遍學(xué)習(xí)某一節(jié)課的內(nèi)容時(shí),對于程序,大家就可以完全跟著抄下來,甚至抄兩三遍,過一段你會發(fā)現(xiàn),好多東西你也認(rèn)識了,好多概念你慢慢的也理解清楚了,你也能大概看懂別人的小程序了,切忌覺得自己看會了,而簡單復(fù)制粘貼。 第二步,照葫蘆畫瓢。 很多同學(xué)學(xué)習(xí)的時(shí)候喜歡看,看我做的視頻,看我寫的程序,甚至看別人的程序,都能看懂,覺得自己就會了,等到自己寫程序的時(shí)候,感覺就是老鼠啃天,不知道從哪里下手了,這是初學(xué)者很容易犯的“眼高手低”這樣一個(gè)毛病,所以第二步的內(nèi)容就非常重要了。 我的要求是,每一位同學(xué),在學(xué)完了當(dāng)前課的內(nèi)容,把第一步順利完成以后,然后關(guān)掉視頻教程,關(guān)掉源代碼,自己通過看電路圖和查找非源代碼的其他任何資料,把當(dāng)節(jié)課我寫的程序代碼重新默寫出來,邊寫邊多少理解那么一點(diǎn)點(diǎn),不是純粹的背誦,應(yīng)該說是背誦加理解的結(jié)合體。甚至學(xué)過幾節(jié)課以后,可以回頭把前邊曾經(jīng)這樣實(shí)現(xiàn)過的課程,再按照這種方法做一遍。千萬不要認(rèn)為這一步?jīng)]必要,這一步是你能否學(xué)會單片機(jī)的一個(gè)關(guān)鍵步驟,在學(xué)完本教程之前,每一課內(nèi)容都要這樣做,如果每一個(gè)程序你都能夠完美的完成,那么可以說,當(dāng)節(jié)課的內(nèi)容,百分之七八十你已經(jīng)掌握了。 第三步,他山之石可以攻玉。 單片機(jī)技術(shù)的最大特點(diǎn)就是可以通過修改程序來實(shí)現(xiàn)不同的功能,因此舉一反三的能力就必不可少了。每一節(jié)課的例程后邊,我一般都會布置一兩個(gè)作業(yè),大家盡量去獨(dú)立完成這個(gè)作業(yè)。在完成這個(gè)作業(yè)的過程中,都可以參考我的程序思路,在這個(gè)基礎(chǔ)上通過動腦思考去構(gòu)建你自己的程序框架,最終將程序完成。 在我們工程師實(shí)際產(chǎn)品研發(fā)的時(shí)候,很多種情況下也是如此。比如一個(gè)產(chǎn)品,我們?nèi)绻麖?開始著手的話,可能會走很多彎路,所以我們通常的做法是尋找購買同類幾款產(chǎn)品,然后先研究他們的各自優(yōu)缺點(diǎn),學(xué)習(xí)他們的長處,然后在同類產(chǎn)品基礎(chǔ)上在來設(shè)計(jì)我們的產(chǎn)品,這就是他山之石可以攻玉! 〕鯇W(xué)者在學(xué)習(xí)的時(shí)候,往往遇到的問題很多,你應(yīng)該想到,你遇到的問題,可能前輩們早就遇到過了,所以遇到問題后,不要慌張,首先利用谷歌或者百度這些搜索引擎搜索一下,要做什么新東西,先去網(wǎng)上找找相關(guān)資料了解一下,不管是編程還是硬件設(shè)計(jì),多參考參考別人的東西,只要把別人的東西分析明白了,自己用起來,就可以成為自己的知識了。 第四步,理論實(shí)踐結(jié)合,溫故知新。 當(dāng)大家把所有的課程都按照前邊三步完成后,這個(gè)時(shí)候不妨把書打開,看看書,通過自己實(shí)戰(zhàn)的經(jīng)驗(yàn),再看書的時(shí)候,很多知識點(diǎn)會有一種恍然大悟的感覺。甚至視頻教程,書籍,都可以反復(fù)看兩遍,可能有的知識點(diǎn)當(dāng)時(shí)學(xué)習(xí)的時(shí)候不明白,過了一段時(shí)間,回過頭來再學(xué)習(xí)的時(shí)候,一下就明白了。 3、單片機(jī)學(xué)習(xí)的準(zhǔn)備工作 第一、足夠的信心、恒心和耐心! ∮型瑢W(xué)問過我,單片機(jī)這門技術(shù)難不難。我覺得這個(gè)問題得從兩個(gè)方面去分析! ∈紫,我們從戰(zhàn)略上藐視它。那么多同學(xué)跟著老師學(xué)一段時(shí)間就可以做出來小車,超聲波測距,甚至做出來機(jī)器人,似乎很拽的樣子。那他們又不是三頭六臂,我們也沒有什么做不了的道理。實(shí)際上要說技術(shù),其實(shí)就是一層窗戶紙,表面看不透徹,感覺特別神秘,實(shí)際只要你稍微一努力就可以捅破它,夸張點(diǎn)說,單片機(jī)的邏輯上的關(guān)系,只有小學(xué)的水平,簡單的很。正所謂會者不難,難者不會,大家不懂這個(gè)東西,看起來感覺很神秘。所以大家只要認(rèn)真踏實(shí)堅(jiān)持學(xué)下去,肯定能學(xué)好這么技術(shù)。 其次呢,我們從戰(zhàn)術(shù)上要重視它。你說單片機(jī)這東西,如果十天八天就學(xué)會了,那么這個(gè)技術(shù)還能值錢嗎?我可以這樣去表達(dá),如果一個(gè)技術(shù)很簡單就被學(xué)會,那么很多人都會的這個(gè)技術(shù),肯定也沒什么前途和錢途。那究竟多久能學(xué)會呢?我給大家制定的學(xué)習(xí)方案,根據(jù)每個(gè)人的基礎(chǔ)不同,平均每天要拿出2個(gè)小時(shí)以上的學(xué)習(xí)時(shí)間,大概一到三個(gè)月可以入門。入門的概念是給你一個(gè)單片機(jī)開發(fā)任務(wù),你起碼知道努力的方向和解決問題的方法了。技術(shù)這東西,關(guān)鍵是堅(jiān)持做下去,有恒心和耐心,如果長時(shí)間不用的話,肯定還會生疏。所以要想成為單片機(jī)高手,起碼需要一年左右的單片機(jī)開發(fā)的歷練才行。成為單片機(jī)高手的概念就是你自己可以從頭根據(jù)自己的想法,去設(shè)計(jì)一個(gè)電路,根據(jù)需要的功能編寫代碼,做一個(gè)產(chǎn)品出來! 〉诙、教材和教程。 要學(xué)習(xí)單片機(jī)這門技術(shù),良好的教材和教程必不可少。單片機(jī)方面,大家可以直接學(xué)習(xí)我們這本《手把手教你學(xué)單片機(jī)--51單片機(jī)C語言開發(fā)》,我們也有精心制作了《手把手教你學(xué)單片機(jī)》視頻教程和《單片機(jī)高手之路》視頻教程,并且后期會進(jìn)行不定期更新。本著開源、共享的理念,我們的視頻教程和電子教程都是免費(fèi)開放的,大家可以到我們的網(wǎng)站www.kingst.org找到下載鏈接,如果有條件,也可以購買我們一般紙質(zhì)教材,紙質(zhì)書籍查閱起來比視頻教程和電子教程更方便。另外,因?yàn)槲覀冏鰡纹瑱C(jī)開發(fā)使用的是C語言,所以最好能有一本純C語言教材,我們學(xué)到一些C語言語法性質(zhì)的問題的時(shí)候,大家可以方便查閱,或者你可以直接把相關(guān)語法問題通過百度和谷歌等搜索一下也可以! 〉谌㈦娔X一臺,單片機(jī)開發(fā)板一塊! ‰娔X呢,是學(xué)習(xí)單片機(jī)必不可少的工具,因?yàn)槲覀兙幊,查資料都用得到,但是有句題外話說一下,不要把電腦當(dāng)成游戲機(jī)或者影碟機(jī),偶爾玩玩游戲看看電影是可以的,勞逸結(jié)合,但是不可沉溺其中,否則還不如不買電腦! 纹瑱C(jī)開發(fā)板,這也是必須的。如果還上學(xué),老師實(shí)驗(yàn)室有開發(fā)板,可以考慮跟老師借一個(gè),或者使用師兄師姐用完的,這樣可以省點(diǎn)錢。當(dāng)然,如果身邊有高手,比如輔導(dǎo)老師,會單片機(jī)的師兄,在他們的指導(dǎo)下做一個(gè)也可以,身邊有人指導(dǎo)的話,不懂的問題還可以問他們。如果這些條件不具備,那么可以購買一個(gè),先學(xué)習(xí)別人的板子設(shè)計(jì)思路,給自己以后設(shè)計(jì)電路板打下基礎(chǔ)。在這里我推薦一下我們的KST-51開發(fā)板,用來配套學(xué)習(xí)。我不敢說我們的設(shè)計(jì)是最好的,但是我可以很負(fù)責(zé)任的說,我們的板子是出自經(jīng)驗(yàn)豐富的一線工程師之手,其中的設(shè)計(jì)都是根據(jù)實(shí)際項(xiàng)目開發(fā)的思路進(jìn)行的,包括整體規(guī)劃、電路設(shè)計(jì)、器件布局等等,可以為你今后的項(xiàng)目開發(fā)提供一個(gè)優(yōu)質(zhì)的參考。另外一方面,因?yàn)槲覀兊慕坛淌腔谖覀兊拈_發(fā)板做的,所以大家用配套的話可以節(jié)省時(shí)間,提高學(xué)習(xí)效率! ‘(dāng)然,即使不購買我們的開發(fā)板,你想學(xué)單片機(jī),必須要有一塊開發(fā)板,不要總?cè)ビ密浖抡妫浖抡媸菍W(xué)不會單片機(jī)技術(shù)的。經(jīng)常有同學(xué)過來問我,老師我用軟件模擬的好用,做了硬件不好用是什么原因。在這里我提一下,如果你上課用這個(gè)軟件仿真,糊弄老師應(yīng)付考試可以的,但是實(shí)際開發(fā)和仿真軟件差別太大,如果是學(xué)習(xí)單片機(jī)這門技術(shù),那我只能告訴你,拿起烙鐵焊電路,動手寫程序,遠(yuǎn)離仿真軟件,靠軟件仿真永遠(yuǎn)學(xué)不到真正的技術(shù)。編輯:admin 最后修改時(shí)間:2018-05-08