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