【摘 要】單片機(jī)是一門實(shí)踐性很強(qiáng)的課程,和將來(lái)就業(yè)質(zhì)量有很大的關(guān)系。學(xué)習(xí)單片機(jī)要有一個(gè)全面的認(rèn)識(shí)和計(jì)劃:要了解一些計(jì)算機(jī)基礎(chǔ)知識(shí);要選好一本參考書;要有一套簡(jiǎn)單的單片機(jī)開發(fā)板;要會(huì)一門單片機(jī)編程語(yǔ)言;最后要有一顆恒心。
【關(guān)鍵詞】單片機(jī) 實(shí)踐 方法
了解計(jì)算機(jī)的基本知識(shí)------數(shù)制及電平。數(shù)制是以表示數(shù)值所用的數(shù)字符號(hào)的個(gè)數(shù)來(lái)命名的,并按一定進(jìn)位規(guī)則進(jìn)行計(jì)數(shù)的方法。有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。二進(jìn)制的數(shù)字符號(hào)為0、1,基數(shù)為2,逢二進(jìn)一(借一為二),區(qū)分符為B。八進(jìn)制的數(shù)字符號(hào)為0、1、2、3、4、5、6、7,基數(shù)為8,逢八進(jìn)一(借一為八),區(qū)分符為 O。十進(jìn)制的數(shù)字符號(hào)為0、1、2、3、4、5、 6、7、8、9,基數(shù)為10,逢十進(jìn)一(借一為十),區(qū)分符為D或不加。十六進(jìn)制的數(shù)字符號(hào)為0、1、2、3、4、5、6、7、8、9、A、B、C、D、 E、F,基數(shù)為16,逢十六進(jìn)一(借一為十六),區(qū)分符為H。要熟練掌握各進(jìn)制之間的轉(zhuǎn)換。電平指電壓的高低。單片機(jī)中只有兩種電平:高電平和低電平。單片機(jī)的電源電壓為+5v,那么高電平為+5v。單片機(jī)的電源電壓為+3.3v,那么高電平為+3.3v。單片機(jī)中的低電平為0v。如果,單片機(jī)輸出1,其實(shí)就是某個(gè)管腳輸出高電平。我們給某個(gè)管腳輸入高電平,就是向單片機(jī)輸入了1。入學(xué)單片機(jī),不可能什么都了解,了解這兩點(diǎn)就已經(jīng)能夠用stc89c51點(diǎn)亮一個(gè)LED燈了。學(xué)習(xí)就是從最簡(jiǎn)單的入手到深入學(xué)習(xí)的過(guò)程。
一、選一本參考書
學(xué)習(xí)自然要離不開書本,無(wú)論是單片機(jī)的內(nèi)部結(jié)構(gòu),還是指令、接口電路等都是很抽象的內(nèi)容,很多同學(xué)感到枯燥和空洞,覺(jué)得單片機(jī)很難學(xué)。主要原因是學(xué)生們剛剛接觸單片機(jī),沒(méi)有一定的感性認(rèn)識(shí),缺少一個(gè)循序漸進(jìn)的學(xué)習(xí)過(guò)程。就如同要求小學(xué)生閱讀古典名著,他們肯定看得很枯燥、很乏味,若換一種呈現(xiàn)形式,效果一定會(huì)大相徑庭,如以連環(huán)畫或動(dòng)畫片的形式出現(xiàn),小學(xué)生肯定會(huì)喜歡閱讀和觀看的。學(xué)習(xí)單片機(jī)也一樣,需要有符合大學(xué)生認(rèn)知特點(diǎn)的學(xué)習(xí)方式,以及一兩本通俗易懂、趣味性強(qiáng)、實(shí)踐內(nèi)容豐富的參考書來(lái)輔助學(xué)習(xí),加深對(duì)概念、術(shù)語(yǔ)、原理等的理解。我第一本單片機(jī)教書是別人推薦的郭天翔的51單片機(jī)學(xué)習(xí),個(gè)人認(rèn)為本書編的比較經(jīng)典,身邊很多人都在看他的書。當(dāng)然每個(gè)人的口味不一樣,所以自己可以從網(wǎng)絡(luò)中尋找自己的比較和胃口的書籍。推薦一本書《新概念 51 單片機(jī) C 語(yǔ)言教程:入門、提高、開發(fā)、拓展全攻略》,對(duì)入學(xué)者很有幫助。
二、要有一套開發(fā)板套件
單片機(jī)的學(xué)習(xí),只看書不動(dòng)手是學(xué)不會(huì)的。學(xué)習(xí)單片機(jī)可以借助仿真軟件(如 Proteus)來(lái)學(xué)習(xí),仿真軟件 Proteus 功能強(qiáng)大,對(duì)單片機(jī)的主流芯片都支持仿真,學(xué)習(xí)單片機(jī)時(shí)可以不需要任何的硬件,它不僅可以電路仿真,而且還可以直接在基于原理圖的虛擬單片機(jī)上進(jìn)行編程,實(shí)現(xiàn)程序調(diào)試,甚至能看到輸入和輸出的效果。但是,由于仿真精度等原因,仿真的結(jié)果還不夠精細(xì),有時(shí)還會(huì)輸出錯(cuò)誤的結(jié)果,而且缺少真實(shí)感,也不利于動(dòng)手能力的培養(yǎng)?,F(xiàn)在開發(fā)板也很便宜了,幾十塊錢,就能買到一個(gè)不錯(cuò)的開發(fā)板,平時(shí)少吃一些零食,就能省出開發(fā)板的錢。用軟件仿真,是達(dá)不到實(shí)物的效果的,你用實(shí)物點(diǎn)亮一個(gè)LED燈等,用芯片驅(qū)動(dòng)一個(gè)電機(jī),你會(huì)感到很興奮的刺激,然而軟件就不能有這個(gè)效果,用開發(fā)板實(shí)驗(yàn),你會(huì)感覺(jué)自己在玩玩具一樣,自己總會(huì)有突發(fā)的奇想,會(huì)很有意思的,因此建議大家最好還是買一套開發(fā)板。
三、學(xué)會(huì)一門編程語(yǔ)言
硬件要運(yùn)行,需要軟件的驅(qū)動(dòng)。利用編程就是能夠DIY自己的東西,這就提高了對(duì)單片機(jī)興趣。學(xué)習(xí)編程要用到編程軟件,對(duì)軟件的使用要求也很低,能夠在keil中新建一個(gè)工程,能夠在vc++中新建一個(gè)文件就可以了,其他的功能在以后學(xué)習(xí)中自己就能夠慢慢摸索到。
(一)學(xué)C 語(yǔ)言: 1.C 語(yǔ)言是一種結(jié)構(gòu)化語(yǔ)言,它層次清晰,便于按模塊化方式編寫程序,易于調(diào)試和維護(hù)。它的表現(xiàn)能力和處理能力極強(qiáng)。C 語(yǔ)言具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu),并可以直接訪問(wèn)內(nèi)存地址,進(jìn)行位(bit)一級(jí)的操作。2.C 語(yǔ)言編程較容易,程序短、可移值性好、可讀性強(qiáng)。
(二)學(xué)匯編語(yǔ)言:1.匯編語(yǔ)言接近硬件、實(shí)時(shí)性好,可以直接控制單片機(jī)的資源。用它編寫的程序,短小精煉,而且在編程的時(shí)候,可以加深對(duì)單片機(jī)內(nèi)部結(jié)構(gòu)的了解。2.學(xué)習(xí)匯編語(yǔ)言可以參考相關(guān)的書籍。匯編語(yǔ)言有 100 多條指令,常用的也就二三十條,可以先記住常用的匯編指令,慢慢熟悉。3.要學(xué)會(huì)看懂別人的匯編語(yǔ)言程序,將匯編語(yǔ)言的指令翻譯成自己容易理解的功能描述性文字,注釋在程序后面,便于以后引用。剛開始學(xué)的時(shí)候先學(xué)c語(yǔ)言,c語(yǔ)言簡(jiǎn)單,先把c語(yǔ)言基本的語(yǔ)法搞懂之后,用c語(yǔ)言編幾個(gè)程序,再學(xué)匯編的時(shí)候,就能夠?qū)τ布懈钊氲牧私狻N医ㄗh學(xué)好c語(yǔ)言,了解匯編就可以了,這是對(duì)一個(gè)入學(xué)單片機(jī)的人而言。
四、要持之以恒
這一點(diǎn)無(wú)論對(duì)做什么而言都是一樣的,學(xué)習(xí)單片機(jī)一開始會(huì)很好奇,充滿興趣去學(xué)習(xí),在學(xué)習(xí)的過(guò)程中會(huì)碰到比較棘手的事情,比如自己寫的程序有問(wèn)題,自己的程序和呈現(xiàn)的結(jié)果不一樣,遇到問(wèn)題大家不要放棄,這時(shí)靜下心來(lái)先想想,去請(qǐng)教別人,或通過(guò)網(wǎng)絡(luò)來(lái)查詢,這個(gè)過(guò)程能夠鍛煉自己的學(xué)習(xí)能力,對(duì)單片機(jī)學(xué)習(xí)就是要鍛煉自己的學(xué)習(xí)能力,那么多的芯片,一個(gè)人之前不可能都學(xué)過(guò)。當(dāng)你解決問(wèn)題之后,自己的成果是看得見摸得著,比如你剛學(xué)會(huì)做流水燈時(shí),當(dāng)你看到自己的流水燈閃閃發(fā)光時(shí),是不是很有成就感?學(xué)習(xí)單片機(jī),不是先把理論東西全看一遍,而是做什么,去學(xué)什么,需要什么,我要有什么。在學(xué)習(xí)過(guò)程要多做一些實(shí)物,多做一些自己想要或喜歡的東西,不要擔(dān)心自己的理論知識(shí)不夠用,實(shí)踐出真知。在實(shí)踐中,你會(huì)發(fā)現(xiàn),你做東西,會(huì)碰到各種新的問(wèn)題,而這些問(wèn)題能夠鍛煉自己各方面的能力。
參考文獻(xiàn):
[1]荊蕾,王瑋.學(xué)習(xí)單片機(jī)課程應(yīng)具備的基礎(chǔ)知識(shí)之我見. [A]. 高教研究 2012年3月刊 總第330期.
[2]楊曉紅.單片機(jī)學(xué)習(xí)經(jīng)驗(yàn)之談.[A].科技資訊.
[3]楊會(huì)保.提高單片機(jī)學(xué)習(xí)興趣探討.[A].中國(guó)科教創(chuàng)新導(dǎo)刊.