如何從零開始學(xué)習(xí)單片機技術(shù)
很多想學(xué)單片機的人問我的第一句話就是怎樣才能學(xué)好單片機?對于這個問題我今天就我自己是如何開始學(xué)單片機,如何開始上手,如何開始熟練這個過程給大家講講。
先說說單片機,一般我們現(xiàn)在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎么樣才能更快的學(xué)會單片機這門課。單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學(xué)習(xí)它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟件去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什么時候輸出高,什么時候輸出低。由這些高低電平的變化來控制你的系統(tǒng)板,實現(xiàn)我們需要的各個功能。至于看書,只需大概了解單片機各管腳都是干什么的?能實現(xiàn)什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認(rèn)識。所以我總是說,學(xué)單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細的看。推薦一本書,就這一本就足夠,書名是《新編MCS-51單片機應(yīng)用設(shè)計》,是哈爾濱工業(yè)大學(xué)出版社出的的,作者是張毅剛。大概了解一下書上的內(nèi)容,然后實踐,這是非常關(guān)鍵的,如果說學(xué)單片機你不實踐那是不可能學(xué)會的,關(guān)于實踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應(yīng)用,那可以說對于單片機方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計電路,不斷的積累經(jīng)驗。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統(tǒng)板。對于高手來說,做個單片機的最小系統(tǒng)板只需要一分鐘的時間,而對于初學(xué)者可就難多了,因為只有對硬件了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以后做單片機類的小實驗時都能用得上,還省事。單片機已經(jīng)無處不在,與我們生活更加相關(guān)并滲透入生活的方方面面。單片機的特點是小,也就是其集成的特性,其內(nèi)部的結(jié)構(gòu)是普通的計算機系統(tǒng)的簡化。在增加一些外圍電路之后,就能成為一個完整的系統(tǒng)。比如,我們常用的一類電子秤,內(nèi)部就安裝了一塊單片機,再加上傳感器、顯示器和一些附加電路,就形成了一個應(yīng)用系統(tǒng)。所以單片機的可擴展性是相當(dāng)好的。又比如K85這樣的電腦中頻電療儀,能夠從病人身上獲取數(shù)據(jù),然后根據(jù)現(xiàn)有的算法從幾種治療處方中選擇,而在每一種處方中還能夠根據(jù)病人的病情而改變中頻和波形及輸出電流強度。這樣可以看出單片機本身也具有和普通計算機類似的強大的處理,可以增加復(fù)雜的算法,獲得很強的數(shù)據(jù)處理能力。單片機也可以應(yīng)用在電腦縫紉機上,這樣單片機可以替代很多機械部分,還能提供很多老式的縫紉機無法實現(xiàn)的圖案。所以單片機在工業(yè)中的應(yīng)用,極大地提高了工業(yè)設(shè)備的智能化,提高了處理能力和處理效率,而且無需占用很大的空間和復(fù)雜的設(shè)備。
在錯誤的道路上日夜兼程,最終也無法成功。因此,方法和思路絕對是第一重要的。一些學(xué)技術(shù)的同學(xué),往往看到這類章節(jié)會直接跳過去,因為大多數(shù)類似章節(jié)都是廢話連篇。但是,今天在這里我可以很負責(zé)任的告訴你,本章節(jié)講到的學(xué)習(xí)單片機的方法,都是我們學(xué)習(xí)單片機的無數(shù)經(jīng)驗和教訓(xùn)總結(jié)出來的瑰寶。因為我們披荊斬棘,開辟了道路,所以可以告訴你路在何方;也因為我們摸過燒紅的鐵塊,燙了手,所以可以把教訓(xùn)告訴你。希望各位都能站在我們的肩膀上,成為巨人。
1.1 學(xué)什么單片機
單片機的型號那么多,如何選取一款合適的進行學(xué)習(xí)?如果身邊有比較便利的學(xué)習(xí)單片機的條件,有什么條件就學(xué)習(xí)什么型號。比如,你所在的公司剛好用到某個型號單片機,那么就方便多了。開發(fā)板不用購買,直接用公司現(xiàn)成的板子,指導(dǎo)老師到處是,公司的工程師,只要你耐心虛心的不恥上問,相信他們都會幫你解答問題。如果你跟著學(xué)習(xí)的導(dǎo)師,正在使用某個型號開發(fā)產(chǎn)品,那么同樣的道理,你也會有得天獨厚的優(yōu)勢,直接跟著學(xué)就行了。其實單片機型號雖然多,但是用法大同小異,學(xué)會一種,再上手其他的就很快了。
如果你這些條件都沒有,那就跟著我學(xué)吧,我建議你學(xué)習(xí)51單片機。為什么呢?現(xiàn)在單片機種類和型號非常多,每個型號都有一定的市場份額,但是哪個型號也沒有早期51單片機那般的風(fēng)光和火爆,雖然現(xiàn)在地位不是那么高了,但是因為51單片機資料非常多,大家學(xué)起來有很多可以參考的東西,所以上手肯定比其他型號的要快一些。如果你學(xué)習(xí)稍微偏門的單片機,可能一個簡單的軟件問題就要折騰你好長時間,不僅僅浪費了你的學(xué)習(xí)時間,更重要的是打擊你學(xué)習(xí)單片機的信心。
那是不是我們每個單片機都要學(xué)習(xí)一遍呢?答案當(dāng)然是否定的。大家跟著我來學(xué)習(xí)51單片機,必須得跟著學(xué)會舉一反三和融會貫通的能力。單片機型號那么多,挨個學(xué)下來估計頭發(fā)白了也學(xué)不完,所以大家跟著我學(xué)51單片機,不能僅僅當(dāng)做51來學(xué)習(xí),更重要的是要當(dāng)做單片機來學(xué),要通過我們的這個教程,把所有的單片機的內(nèi)部資源都搞清楚弄明白,每個內(nèi)部模塊的用法理解透徹,這樣當(dāng)你遇到一個從沒有用過的單片機,也就知道如何下手去應(yīng)用開發(fā)了。
1.2 如何學(xué)習(xí)單片機
前邊提到過,單片機是一門實用技術(shù),我們學(xué)習(xí)它已經(jīng)不是為了應(yīng)付考試了,我給大家總結(jié)了單片機的學(xué)習(xí)方法是:一個要領(lǐng),四個步驟。
學(xué)習(xí)單片機的要領(lǐng)就是:在實踐中成長,In Doing We Learn!
學(xué)射箭,你得去拉弓,整天只擺造型肯定不行;學(xué)游泳,你得下水撲騰,整天在岸上做模仿活動不行;學(xué)開車,你得坐車上去開,坐沙發(fā)上肯定學(xué)不會。同樣的道理,學(xué)單片機,整天盯著單片機看肯定不行,你也必須得親自動手去練。
沒有不下水就學(xué)會游泳成為游泳健將的,沒有不到車上練就能成為賽車手的,這點大家都清楚,可為什么總是那么多人學(xué)單片機的時候,總是要抱著一本書看呢。第一,我們小學(xué)中學(xué)甚至大學(xué)的學(xué)習(xí)模式都是如此,學(xué)什么東西主要都是靠看書;第二,很多人想實踐不太清楚該怎么去實踐。
不是不讓大家看書,而是看了一點以后,要馬上去實踐驗證,然后再回頭結(jié)合實踐的結(jié)果,理解書上的內(nèi)容。從這個地方,大家要得出一個結(jié)論來,就是在學(xué)實際技術(shù)過程中,和應(yīng)付考試不同,書上的內(nèi)容不需要你去硬性記憶,書是用來查的,不是用來記憶的。遇到問題,你學(xué)會翻書,知道該去哪里找,找到相關(guān)知識點,分析明白,領(lǐng)悟透徹即可,包括咱這本書也是一樣,大家先看完一節(jié)課,然后馬上就把這節(jié)課相應(yīng)的實驗做了,做實驗的過程中,哪里有不懂的問題,隨時翻閱書籍查找,再實驗,再查找,反反復(fù)復(fù)的過程就可以把本節(jié)課的內(nèi)容掌握。
下面,就是我總結(jié)的跟著我學(xué)習(xí)單片機的四個步驟。
第一步,鸚鵡學(xué)舌。
剛出生的孩子叫“爸爸”“媽媽”的時候,他甚至不知道“爸爸”“媽媽”是什么意思,更不會理解這些聲音是什么意思,但是我們帶著孩子見到他爸爸就讓他喊“爸爸”,見到媽媽就讓他喊“媽媽”,見到爺爺就喊“爺爺”……慢慢的你會發(fā)現(xiàn),次數(shù)多了,孩子就知道誰是爸爸,誰是媽媽,誰是爺爺,誰是奶奶了。
大家剛開始接觸單片機的時候,也屬于單片機行業(yè)的新生兒。單片機的樣子,單片機外圍的各種器件,單片機內(nèi)部的各種結(jié)構(gòu),單片機用C語言的編程方法,初學(xué)者可能都沒有見過。沒關(guān)系,有些概念和方法你不理解也沒有關(guān)系,甚至不需要你理解,你只需要跟著我去鸚鵡學(xué)舌式學(xué)習(xí),第一遍學(xué)習(xí)某一節(jié)課的內(nèi)容時,對于程序,大家就可以完全跟著抄下來,甚至抄兩三遍,過一段你會發(fā)現(xiàn),好多東西你也認(rèn)識了,好多概念你慢慢的也理解清楚了,你也能大概看懂別人的小程序了,切忌覺得自己看會了,而簡單復(fù)制粘貼。
第二步,照葫蘆畫瓢。
很多同學(xué)學(xué)習(xí)的時候喜歡看,看我做的視頻,看我寫的程序,甚至看別人的程序,都能看懂,覺得自己就會了,等到自己寫程序的時候,感覺就是老鼠啃天,不知道從哪里下手了,這是初學(xué)者很容易犯的“眼高手低”這樣一個毛病,所以第二步的內(nèi)容就非常重要了。
我的要求是,每一位同學(xué),在學(xué)完了當(dāng)前課的內(nèi)容,把第一步順利完成以后,然后關(guān)掉視頻教程,關(guān)掉源代碼,自己通過看電路圖和查找非源代碼的其他任何資料,把當(dāng)節(jié)課我寫的程序代碼重新默寫出來,邊寫邊多少理解那么一點點,不是純粹的背誦,應(yīng)該說是背誦加理解的結(jié)合體。甚至學(xué)過幾節(jié)課以后,可以回頭把前邊曾經(jīng)這樣實現(xiàn)過的課程,再按照這種方法做一遍。千萬不要認(rèn)為這一步?jīng)]必要,這一步是你能否學(xué)會單片機的一個關(guān)鍵步驟,在學(xué)完本教程之前,每一課內(nèi)容都要這樣做,如果每一個程序你都能夠完美的完成,那么可以說,當(dāng)節(jié)課的內(nèi)容,百分之七八十你已經(jīng)掌握了。
第三步,他山之石可以攻玉。
單片機技術(shù)的最大特點就是可以通過修改程序來實現(xiàn)不同的功能,因此舉一反三的能力就必不可少了。每一節(jié)課的例程后邊,我一般都會布置一兩個作業(yè),大家盡量去獨立完成這個作業(yè)。在完成這個作業(yè)的過程中,都可以參考我的程序思路,在這個基礎(chǔ)上通過動腦思考去構(gòu)建你自己的程序框架,最終將程序完成。
在我們工程師實際產(chǎn)品研發(fā)的時候,很多種情況下也是如此。比如一個產(chǎn)品,我們?nèi)绻麖?開始著手的話,可能會走很多彎路,所以我們通常的做法是尋找購買同類幾款產(chǎn)品,然后先研究他們的各自優(yōu)缺點,學(xué)習(xí)他們的長處,然后在同類產(chǎn)品基礎(chǔ)上在來設(shè)計我們的產(chǎn)品,這就是他山之石可以攻玉。
初學(xué)者在學(xué)習(xí)的時候,往往遇到的問題很多,你應(yīng)該想到,你遇到的問題,可能前輩們早就遇到過了,所以遇到問題后,不要慌張,首先利用谷歌或者百度這些搜索引擎搜索一下,要做什么新東西,先去網(wǎng)上找找相關(guān)資料了解一下,不管是編程還是硬件設(shè)計,多參考參考別人的東西,只要把別人的東西分析明白了,自己用起來,就可以成為自己的知識了。
第四步,理論實踐結(jié)合,溫故知新。
當(dāng)大家把所有的課程都按照前邊三步完成后,這個時候不妨把書打開,看看書,通過自己實戰(zhàn)的經(jīng)驗,再看書的時候,很多知識點會有一種恍然大悟的感覺。甚至視頻教程,書籍,都可以反復(fù)看兩遍,可能有的知識點當(dāng)時學(xué)習(xí)的時候不明白,過了一段時間,回過頭來再學(xué)習(xí)的時候,一下就明白了。
1.3 單片機學(xué)習(xí)的準(zhǔn)備工作
第一、足夠的信心、恒心和耐心。
有同學(xué)問過我,單片機這門技術(shù)難不難。我覺得這個問題得從兩個方面去分析。
首先,我們從戰(zhàn)略上藐視它。那么多同學(xué)跟著老師學(xué)一段時間就可以做出來小車,超聲波測距,甚至做出來機器人,似乎很拽的樣子。那他們又不是三頭六臂,我們也沒有什么做不了的道理。實際上要說技術(shù),其實就是一層窗戶紙,表面看不透徹,感覺特別神秘,實際只要你稍微一努力就可以捅破它,夸張點說,單片機的邏輯上的關(guān)系,只有小學(xué)的水平,簡單的很。正所謂會者不難,難者不會,大家不懂這個東西,看起來感覺很神秘。所以大家只要認(rèn)真踏實堅持學(xué)下去,肯定能學(xué)好這么技術(shù)。
其次呢,我們從戰(zhàn)術(shù)上要重視它。你說單片機這東西,如果十天八天就學(xué)會了,那么這個技術(shù)還能值錢嗎?我可以這樣去表達,如果一個技術(shù)很簡單就被學(xué)會,那么很多人都會的這個技術(shù),肯定也沒什么前途和錢途。那究竟多久能學(xué)會呢?我給大家制定的學(xué)習(xí)方案,根據(jù)每個人的基礎(chǔ)不同,平均每天要拿出2個小時以上的學(xué)習(xí)時間,大概一到三個月可以入門。入門的概念是給你一個單片機開發(fā)任務(wù),你起碼知道努力的方向和解決問題的方法了。技術(shù)這東西,關(guān)鍵是堅持做下去,有恒心和耐心,如果長時間不用的話,肯定還會生疏。所以要想成為單片機高手,起碼需要一年左右的單片機開發(fā)的歷練才行。成為單片機高手的概念就是你自己可以從頭根據(jù)自己的想法,去設(shè)計一個電路,根據(jù)需要的功能編寫代碼,做一個產(chǎn)品出來。
第二、教材和教程。
要學(xué)習(xí)單片機這門技術(shù),良好的教材和教程必不可少。單片機方面,大家可以直接學(xué)習(xí)我們這本《51單片機C語言開發(fā)》,我們也有精心制作了《單片機高手之路》視頻教程,并且后期會進行不定期更新。本著開源、共享的理念,我們的視頻教程和電子教程都是免費開放的,大家可以到我們的網(wǎng)站www.51hei.com找到下載鏈接,如果有條件,也可以購買我們一般紙質(zhì)教材,紙質(zhì)書籍查閱起來比視頻教程和電子教程更方便。另外,因為我們做單片機開發(fā)使用的是C語言,所以最好能有一本純C語言教材,我們學(xué)到一些C語言語法性質(zhì)的問題的時候,大家可以方便查閱,或者你可以直接把相關(guān)語法問題通過百度和谷歌等搜索一下也可以。
第三、電腦一臺,單片機開發(fā)板一塊。
電腦呢,是學(xué)習(xí)單片機必不可少的工具,因為我們編程,查資料都用得到,但是有句題外話說一下,不要把電腦當(dāng)成游戲機或者影碟機,偶爾玩玩游戲看看電影是可以的,勞逸結(jié)合,但是不可沉溺其中,否則還不如不買電腦。
單片機開發(fā)板,這也是必須的。如果還上學(xué),老師實驗室有開發(fā)板,可以考慮跟老師借一個,或者使用師兄師姐用完的,這樣可以省點錢。當(dāng)然,如果身邊有高手,比如輔導(dǎo)老師,會單片機的師兄,在他們的指導(dǎo)下做一個也可以,身邊有人指導(dǎo)的話,不懂的問題還可以問他們。如果這些條件不具備,那么可以購買一個,先學(xué)習(xí)別人的板子設(shè)計思路,給自己以后設(shè)計電路板打下基礎(chǔ)。在這里我推薦一下我們的51開發(fā)板,用來配套學(xué)習(xí)。我不敢說我們的設(shè)計是最好的,但是我可以很負責(zé)任的說,我們的板子是出自經(jīng)驗豐富的一線工程師之手,其中的設(shè)計都是根據(jù)實際項目開發(fā)的思路進行的,包括整體規(guī)劃、電路設(shè)計、器件布局等等,可以為你今后的項目開發(fā)提供一個優(yōu)質(zhì)的參考。另外一方面,因為我們的教程是基于我們的開發(fā)板做的,所以大家用配套的話可以節(jié)省時間,提高學(xué)習(xí)效率。
當(dāng)然,即使不購買我們的開發(fā)板,你想學(xué)單片機,必須要有一塊開發(fā)板,不要總?cè)ビ密浖抡妫浖抡媸菍W(xué)不會單片機技術(shù)的。經(jīng)常有同學(xué)過來問我,老師我用軟件模擬的好用,做了硬件不好用是什么原因。在這里我提一下,如果你上課用這個軟件仿真,糊弄老師應(yīng)付考試可以的,但是實際開發(fā)和仿真軟件差別太大,如果是學(xué)習(xí)單片機這門技術(shù),那我只能告訴你,拿起烙鐵焊電路,動手寫程序,遠離仿真軟件,靠軟件仿真永遠學(xué)不到真正的技術(shù)。
1.4 單片機開發(fā)軟件環(huán)境搭建
單片機開發(fā),首要的兩個軟件一個是編程軟件,一個是下載軟件。編程軟件我們用Keil uVision4的51版本,也叫做keil C51,不做過多介紹,先直接講如何安裝。
1、首先準(zhǔn)備KEIL uVision4安裝源文件,雙擊安裝文件,彈出安裝的歡迎界面,如圖1-1所示。
圖1-1 Keil安裝歡迎界面
2、點擊“Next”按鈕,彈出“License Agreement”對話框,如圖1-2所示,這里顯示一些用戶安裝協(xié)議,我們在“I agree to all the terms of the preceding License Agreement”打勾,如圖1-2所示 圖1-2 “License Agreement”對話框
3、點擊“Next”按鈕,彈出“Folder Selection”對話框,如圖1-3所示。這里可以設(shè)置安裝路徑,默認(rèn)安裝路徑在“C\Keil”文件夾下。點擊“Browse”按鈕,可以修改安裝路徑,這里建議大家用默認(rèn)的安裝路徑,如果你要修改,也必須使用英文路徑,不要使用包含有中文字符的路徑。 圖1-3 “Folder Selection”對話框
4、點擊“Next”按鈕,彈出“Customer Information”對話框,如圖1-4所示。大家輸入用戶名、公司名稱以及E-mail地址即可。
圖1-4 用戶信息
5、單擊“Next”,就會自動安裝軟件,如圖1-5所示
圖1-5 安裝過程
6、安裝完成后,彈出來安裝完成對話框,如圖1-6所示,并且出現(xiàn)幾個選項,大家剛開始把這幾個選項的對號全部去掉就可以了,暫時先不用關(guān)注他有什么作用。
圖1-6安裝完成
7、最后,點擊“Finish”,Keil編程軟件開發(fā)環(huán)境就這么裝好了。
1.5 Keil基本概況介紹
首先,打開一個工程項目,如圖1-7所示
圖1-7 工程文件
從圖1-7我們可以很輕松的分辨出菜單欄、工具欄、工程管理區(qū)、程序代碼區(qū)和信息輸出窗口。這個是Keil4的英文版,網(wǎng)上有一些漢化版本的,我不建議用。即使你的英語不好,使用英文版本的軟件也一點問題沒有,剛開始大家先跟著我去使用,一共沒幾個單詞,不需要你去翻譯,用幾次你就記住怎么用了。因為以后做實際開發(fā)的時候,大多數(shù)軟件都是英文版的,如果現(xiàn)在學(xué)習(xí)的時候一直用中文軟件,將來一旦換了其它的英文軟件就會慌了,所以從現(xiàn)在開始,我們就慢慢的來熟悉英文軟件,將來以后再用到其他英文軟件的時候,就可以做到觸類旁通、駕輕就熟了。
Keil軟件菜單欄和工具欄的具體細化功能,和字典一樣用來備查,所以我把它寫到了附錄里邊,在這里只介紹一點,關(guān)于Keil軟件里邊的字體大小和顏色設(shè)置。在View-->Configuration-->Colors &Fonts里邊,可以進行程序的顏色,字體大小的設(shè)置,如圖1-8所示圖1-8 字體設(shè)置(一) 因為我們用的是C語言編程,所以我們在Window欄用鼠標(biāo)選擇8051:Editor C Files,然后在右側(cè)Element欄目里可以選擇要修改的內(nèi)容,一般我們平時用到的,只是其中幾項而已,比如Text,Text Selection,Number,/*Comment*/,//Comment//,Keyword,String這幾項,Keil本身也有默認(rèn)設(shè)置,你如果覺得不是很適合你的感覺,你可以更換一下。
圖1-9 字體設(shè)置(二) Keil菜單欄和工具欄的詳細介紹,和字典一樣,是備查的,不需要記住,所以我把它寫到了附錄里,如果大家對Keil哪個工具哪里有疑問,可以隨時到附錄里進行查找。
1.6答學(xué)生問
很多同學(xué)經(jīng)常問我一些問題,我把一些典型的,直接寫出來給大家看一下,讓大家了解這門技術(shù),了解我們這個行業(yè)。
1、單片機學(xué)完了能做什么?
單片機的應(yīng)用非常廣泛,電子,自動化,通信等領(lǐng)域都能用到,至于能做什么,得看你將來以后做什么工作。如同電腦一樣,電腦可以用來編程,PS圖片,看電影,打游戲,你用電腦做什么是不一定的。但是掌握好這門技術(shù),起碼可以讓你學(xué)會一門工具,為將來從事電子、通信、自動化等領(lǐng)域的工作做好準(zhǔn)備。
2、學(xué)單片機的捷徑是什么?
做技術(shù)必須得腳踏實地,沒有任何捷徑,如果說有的話,那我只能告訴你,拳不離手曲不離口,就是最好的捷徑,我學(xué)習(xí)單片機的時候,每天早上8點半進入老師實驗室,晚上10點離開實驗室,曾經(jīng)創(chuàng)下連續(xù)3個月沒有休息日的記錄,你如果能這樣學(xué)的話,那估計很快可以學(xué)好這門技術(shù)。
3、學(xué)習(xí)單片機應(yīng)該學(xué)習(xí)什么語言,有沒有必要再學(xué)習(xí)匯編
相比較來說,匯編語言比較接近單片機的底層,使用匯編語言比較容易理解單片機內(nèi)部結(jié)構(gòu)。簡單的程序,用匯編語言,程序效率也比較高,但是當(dāng)程序容量達到到幾千上萬行以后(這時也僅能算個不太小的項目,還遠沒到大項目的級別),匯編語言在組織結(jié)構(gòu)、修改維護等方面就會成為你的夢魘了,此時時候C語言就有不可替代的優(yōu)勢了。所以實際開發(fā)過程中,90%以上的工程師都在用C語言做單片機開發(fā),只有在很低端的應(yīng)用中或者是特殊要求的場合,才會用匯編語言開發(fā),所以我建議大家還是用C語言開發(fā)比較好一些。
如果現(xiàn)在正好上學(xué)學(xué)到了匯編語言,我建議認(rèn)真學(xué)一下,學(xué)好了肯定有益無害。但是現(xiàn)在如果說想直接快速學(xué)單片機技術(shù),那我建議不要去看匯編語言了,直接學(xué)C語言就可以了,那些單片機底層的結(jié)構(gòu)什么的,也可以在開發(fā)過程中慢慢理解。
4、學(xué)會單片機后能找什么樣的工作
單片機是一個工具,和電腦有點類似但不完全一樣,我們學(xué)會電腦,可以用來編程,可以用來畫圖,可以用來PS照片,可以用來看電影.......學(xué)會單片機,可以用來做通信技術(shù),做自動控制技術(shù)等等,但是單片機本身來說僅僅是一個工具,你在用單片機的時候,慢慢接觸多了,會有一個應(yīng)用方向,你不僅僅要會單片機,也得對這個應(yīng)用方向熟悉,比如我個人從事過擴頻通信技術(shù)的算法研究,那么我就要對擴頻通信熟悉,然后把這個技術(shù)用單片機實現(xiàn)出來,也得會用單片機。當(dāng)然大家也不用擔(dān)心,找工作的時候公司對這個方向問題要求也不會很高,懂的話,肯定也會提高自己的競爭力。
5、學(xué)完了這個工資待遇如何
對于技術(shù)來說,技術(shù)水平高低直接決定你的工資薪酬。技術(shù)如果學(xué)的不好,那工作都找不到,更談不上工資了,而技術(shù)做的好的,那工資就會很高。我們不清高,我們需要足以安身立命的薪資報酬,但是我希望的是,一旦你決定從事技術(shù),你不用把過多的精力關(guān)注在能掙多少錢上,而應(yīng)該放在如何把技術(shù)提高起來,只要技術(shù)水平高,比很多人都厲害,錢自然就找上門了。有一部印度的勵志片叫做《三傻大鬧寶萊塢》,我推薦做技術(shù)的都可以看看,里邊有一句經(jīng)典臺詞非常適合我們技術(shù)人員:追求卓越,成功就會在不經(jīng)意間追上你。
有了單片機學(xué)習(xí)板之后你就要多練習(xí),最好是自己有臺電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會怎么用調(diào)試軟件,然后從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意愿隨意流動時你已經(jīng)入門了,你會發(fā)現(xiàn)單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,當(dāng)你編寫的程序按你的意愿實現(xiàn)時你比做什么事都開心,你會上癮的,真的。做電子類的人真的會上癮。然后讓數(shù)碼管亮起來,這兩項會了后,你已經(jīng)不能自拔了,你已經(jīng)開始考慮你這輩子要走哪一行了。就是要這樣練習(xí),在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜涀∫惠呑拥模R必須用于現(xiàn)實生活中,解決實際問題,這樣才能發(fā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是?你學(xué)到什么了?但是我告訴你單片機一旦學(xué)會,永遠不會忘了。另外我再說說用匯編和C語言編程的問題。很多同學(xué)大一二就開設(shè)了C語言的課,我也上過,我知道那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學(xué)完了有什么用?讓你用C語言編單片機的程序你是不是就傻了?書上的東西我們必須要會運用。單片機編程用C語言或匯編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎(chǔ)那學(xué)起來會更好,如果沒有,也可以邊學(xué)單片機邊學(xué)C語言,C語言也挺簡單,只是一門工具而已,我勸你最好學(xué)會,將來肯定用得著,要不你以后也得學(xué),你一點匯編都不會根本無所謂,但你一點C語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問題時,根本是麻煩的不得了,現(xiàn)在單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時鐘,單片機的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,只需要變一個IO口寫個溫度傳感器的程序在哪里都能用,所以我勸大家用C語言。
總結(jié)上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學(xué)個單片機來說就是件非常容易的事。
步驟:1.找本書大概了解一下單片機結(jié)構(gòu),大概了解就行。不用都看懂,又不讓你出書的。(三天)
2.找學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機就是練編程序,遇到不會的再問人或查書。 (二十天)
3.自己網(wǎng)上找些小電路類的資料練習(xí)設(shè)計外圍電路。焊好后自己調(diào)試,熟悉過程。 (十天)
4.自己完全設(shè)計具有個人風(fēng)格的電路,產(chǎn)品,。。。你已經(jīng)是高手了。 。。。。
看到了嗎?下功夫一個多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會,下不下得了功夫就看你的了。
編輯:admin 最后修改時間:2018-05-08