肯定是先學(xué)c51基礎(chǔ)啊,哈工大的一本書(shū)不錯(cuò)的,新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)。里面肯定是要教你匯編的。等到最后上工程的時(shí)候肯定是要用keil,c語(yǔ)言編程的,所有人走的都是這條路。勸你別一上手就學(xué)c編程,因?yàn)閰R編語(yǔ)言會(huì)更讓你了解單片機(jī)寄存器等是怎么工作的,理解更透徹。
作為一個(gè)初學(xué)者,如何單片機(jī)入門(mén)?
知識(shí)上,其實(shí)不需要多少東西,會(huì)簡(jiǎn)單的c語(yǔ)言,知道51單片機(jī)的基本結(jié)構(gòu)就可以了。一般的大學(xué)畢業(yè)生都可以了,自學(xué)過(guò)這2門(mén)課程的高中生也夠條件。設(shè)備上,一般是建議購(gòu)買(mǎi)一個(gè)仿真器,例如,目前的“雙功能下載線”就具有良好的穩(wěn)定性和較快的下載速度,上位機(jī)可擴(kuò)展,可以下載更多的單片機(jī)及嵌入式芯片。通過(guò)實(shí)驗(yàn),這樣才可以進(jìn)行實(shí)際的,全面的學(xué)習(xí)。在錯(cuò)誤的道路上日夜兼程,最終也無(wú)法成功。因此,方法和思路絕對(duì)是第一重要的。一些學(xué)技術(shù)的同學(xué),往往看到這類章節(jié)會(huì)直接跳過(guò)去,因?yàn)榇蠖鄶?shù)類似章節(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)告訴你。希望各位都能站在我們的肩膀上,成為巨人。
學(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ī)種類和型號(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ā)了。
如何學(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),indoingwelearn!
學(xué)射箭,你得去拉弓,整天只擺造型肯定不行;學(xué)游泳,你得下水撲騰,整天在岸上做模仿活動(dòng)不行;學(xué)開(kāi)車,你得坐車上去開(kāi),坐沙發(fā)上肯定學(xué)不會(huì)。同樣的道理,學(xué)單片機(jī),整天盯著單片機(jī)看肯定不行,你也必須得親自動(dòng)手去練。
沒(méi)有不下水就學(xué)會(huì)游泳成為游泳健將的,沒(méi)有不到車上練就能成為賽車手的,這點(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í)是媽媽,誰(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)容就非常重要了。
我的要求是,每一位同學(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)同類幾款產(chǎn)品,然后先研究他們的各自優(yōu)缺點(diǎn),學(xué)習(xí)他們的長(zhǎng)處,然后在同類產(chǎn)品基礎(chǔ)上在來(lái)設(shè)計(jì)我們的產(chǎn)品,這就是他山之石可以攻玉。
初學(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í)候,一下就明白了。
單片機(jī)學(xué)習(xí)的準(zhǔn)備工作
第一、足夠的信心、恒心和耐心。
有同學(xué)問(wèn)過(guò)我,單片機(jī)這門(mén)技術(shù)難不難。我覺(jué)得這個(gè)問(wèn)題得從兩個(gè)方面去分析。
首先,我們從戰(zhàn)略上藐視它。那么多同學(xué)跟著老師學(xué)一段時(shí)間就可以做出來(lái)小車,超聲波測(cè)距,甚至做出來(lái)機(jī)器人,似乎很拽的樣子。那他們又不是三頭六臂,我們也沒(méi)有什么做不了的道理。實(shí)際上要說(shuō)技術(shù),其實(shí)就是一層窗戶紙,表面看不透徹,感覺(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)。
第二、教材和教程。
要學(xué)習(xí)單片機(jī)這門(mén)技術(shù),良好的教材和教程必不可少。單片機(jī)方面,大家可以直接學(xué)習(xí)我們這本《51單片機(jī)c語(yǔ)言開(kāi)發(fā)》,我們也有精心制作了《單片機(jī)高手之路》視頻教程,并且后期會(huì)進(jìn)行不定期更新。本著開(kāi)源、共享的理念,我