首先肯定一點的是,編程是完全可以自學(xué)的,并且只要掌握了中學(xué)水平的知識就可以學(xué)會。下面我來給朋友們分享一下我是如何自學(xué)單片機(jī)編程語言的。
學(xué)習(xí)編程需要方法
我記得最初學(xué)習(xí)單片機(jī)編程語言是學(xué)的匯編語言,在當(dāng)時比較流行的單片機(jī)是msc-c51為內(nèi)核的芯片,比如at89c51/at89s51等,我在初期學(xué)習(xí)單片機(jī)時,聽說匯編語言比較接近單片機(jī)的底層,我想為了幫助自己更好地理解單片機(jī)內(nèi)部的結(jié)構(gòu),我自己買來了一本單片機(jī)匯編語言教程,自己一條指令一條指令的理解,我大約花了二個月的時間終于啃下了這111條指令。接下來我又自己弄一些電子元器件,自己焊接組裝一個簡易的單片機(jī)實驗板,剛學(xué)習(xí)的時候,板子上的元器件不需要很多,一般配備發(fā)光二極管、數(shù)碼管、按鍵、蜂鳴器就夠了。然后我從網(wǎng)上下載一些關(guān)于單片機(jī)編程的視頻,按照“鸚鵡學(xué)舌”的方法,把視頻上的小程序跟著抄下來,下載到單片機(jī)中觀察現(xiàn)象,初期的時候肯定
在編譯程序時會出現(xiàn)各種問題,有的程序你明明跟視頻上的一摸一樣,但是當(dāng)你編譯時,要么會出現(xiàn)語法錯誤;要么會出現(xiàn)標(biāo)點符號上的錯誤。這時候是最能考驗自己的毅力了,我們必須要有耐心。
當(dāng)我們通過多次的修改,成功點亮一個小燈或者數(shù)碼管的時候,對于我們這樣的初學(xué)者來說是最喜悅的時刻,它會給你增添學(xué)習(xí)的動力,也會使我們一步步喜歡上單片機(jī)。當(dāng)我們按照人家視頻上的程序進(jìn)行“照搬照抄”,并且能夠順利地編譯下載成功的時候,就說明了我們已經(jīng)過了“鸚鵡學(xué)舌”這一階段了。
接下來,我們一定要勤動手,一定不要感覺自己會了圖省事,自己復(fù)制粘貼別人的程序。我們要做的是“照葫蘆畫瓢”,先關(guān)掉視頻,按照自己對程序的理解再敲一遍程序,對于有些程序段不理解的我們甚至先死記硬背下來,這樣經(jīng)過多次的默寫背誦代碼,編寫便理解,這樣不出一個星期就會出效果。
當(dāng)我們把“照葫蘆畫瓢”這一關(guān)克服之后,我們就可以通過修改別人的程序來達(dá)到自己想要的控制功能了,這一階段我把它稱之為“他山之石,可以攻玉”。當(dāng)我們能夠通過修改別人的程序,達(dá)到自己的控制目的,這就說明我們已經(jīng)把這個程序理解地八九不離十了。
最后的階段就是理論結(jié)合實際了,我們可以自己編寫一些簡單實用的小程序,比如電子鐘、交通燈、搶答器以及計分牌等。我們在自學(xué)編程時要有信心、要有耐心和恒心,有不達(dá)目的不罷休的毅力。通過三個月的學(xué)習(xí),我認(rèn)為基本上能夠入門。
我在學(xué)習(xí)單片機(jī)編程上走了一些彎路,以我的學(xué)習(xí)經(jīng)歷看,對于想要快速掌握單片機(jī)編程的朋友,我認(rèn)為直接學(xué)單片機(jī)c語言就可以了。我們知道匯編語言雖然效率高,執(zhí)行速度快,但是在它的組織結(jié)構(gòu)和修改維護(hù)方面比較麻煩,每條語句讀起來比較晦澀難懂。我建議最好直接學(xué)習(xí)單片機(jī)c語言,這也是目前編程領(lǐng)域使用的主流語言之一。