單片機(jī)學(xué)習(xí)方法總結(jié)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
從剛開始接觸單片機(jī),到現(xiàn)在已經(jīng)有4年的時(shí)間了,在這期間學(xué)習(xí)和使用了51單片機(jī)、飛思卡爾單片機(jī),LPC2138,PIC16F887等系列的單片機(jī),每接觸一款單片機(jī),都會(huì)經(jīng)歷熟悉其基本開發(fā),然后將其用于項(xiàng)目中的過程,對(duì)于如何學(xué)習(xí)一款單片機(jī),自己做了如下的總結(jié)。
大家都知道,51單片機(jī)是最容易入門的,不僅因?yàn)槠?strong>編程簡(jiǎn)單,更重要的是網(wǎng)上的資料非常豐富。所以一般學(xué)習(xí)單片機(jī)開發(fā)的都將51單片機(jī)作為入門開發(fā)的首選。我學(xué)習(xí)51單片機(jī)的時(shí)候是采用這樣的一個(gè)步驟進(jìn)行學(xué)習(xí)的:
第一步(熟悉的過程):買了一款51單片機(jī)開發(fā)板,然后就開始了我的學(xué)習(xí)之旅,剛開始的時(shí)候沒有去看視頻教程,而是對(duì)著一本實(shí)驗(yàn)教材進(jìn)行學(xué)習(xí),那本實(shí)驗(yàn)教材的名字記不清楚了,但是其內(nèi)容就是圍繞單片機(jī)的LED燈進(jìn)行控制,將51單片機(jī)內(nèi)部的各個(gè)功能部件全部都使用到了,這樣就能使我在很短的時(shí)間內(nèi),通過控制LED燈的亮、滅熟悉了51單片機(jī)的內(nèi)部的各種資源,這時(shí)對(duì)51單片機(jī)也就沒有感到陌生了。所以,個(gè)人覺得,學(xué)習(xí)單片機(jī),要從實(shí)驗(yàn)入手,先熟悉單片機(jī)再說,開發(fā)語言開始使用的是C語言。
第二步(進(jìn)階的過程):有了第一步的基礎(chǔ)之后,接下來的便是進(jìn)階的過程,當(dāng)時(shí),我看的是郭天祥十天學(xué)會(huì)單片機(jī)的視頻教程,因?yàn)檫@個(gè)教程從基礎(chǔ)到復(fù)雜的編程慢慢深入,講的比較的全面,而且也生動(dòng),所以那一階段,也是我學(xué)習(xí)單片機(jī)進(jìn)步最快的階段,每次聽課的時(shí)候,按照上面的實(shí)驗(yàn),以及課堂上面調(diào)試程序時(shí)出現(xiàn)的一些問題,自己認(rèn)真的在電腦上進(jìn)行調(diào)試,并分析產(chǎn)生故障的原因,讓我有了一定的開發(fā)基礎(chǔ)。在看完了視頻教程之后,后面又對(duì)基礎(chǔ)的知識(shí)進(jìn)行了下補(bǔ)習(xí),主要是看單片機(jī)原理性的教材,因?yàn)橛行┘?xì)節(jié)性的東西還是要從教材上面獲得。
第三步(項(xiàng)目實(shí)戰(zhàn)的階段):學(xué)習(xí)單片機(jī)的時(shí)候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,并沒有起到綜合應(yīng)用的目的,所以在這之后,我和另外一個(gè)學(xué)習(xí)硬件的同學(xué)一起組成了一個(gè)小的團(tuán)隊(duì),進(jìn)行項(xiàng)目實(shí)踐開發(fā),那時(shí)候,實(shí)驗(yàn)室的條件比價(jià)好,有很多的器件可以自己使用。所以,我們就設(shè)計(jì)了我們的第一個(gè)作品,基于單片機(jī)的液體點(diǎn)滴監(jiān)控系統(tǒng)。做這個(gè)系統(tǒng)時(shí),就將以前單片機(jī)所學(xué)的知識(shí),做了一個(gè)綜合的應(yīng)用,包括有LCD1602控制,串口的控制等。
經(jīng)過以上三個(gè)步驟的學(xué)習(xí)之后,對(duì)于51單片機(jī)的開發(fā)基本上就算入門了。而對(duì)于其他類型的單片機(jī),如飛思卡爾單片機(jī),LPC2148 ARM7單片機(jī),PIC16F887等,雖然每個(gè)系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟件等差別,所以有了51單片機(jī)的開發(fā)基礎(chǔ)之后,學(xué)習(xí)其他單片機(jī)所采用的方法就是一個(gè)差異化的學(xué)習(xí),學(xué)習(xí)各種單片機(jī)不同的地方,這樣,就能很快的熟悉一款新的型號(hào)的單片機(jī)。
如在學(xué)習(xí)PIC16F887這個(gè)系列的單片機(jī)時(shí),我首先做的工作不是去閱讀數(shù)據(jù)手冊(cè),而是先拿著DEMO代碼,在編譯軟件中編譯、鏈接、生成HEX文件,然后將其下載到開發(fā)板中跑起來,這個(gè)過程主要就是學(xué)習(xí)其軟件的基本操作,有了這個(gè)基礎(chǔ)之后,就能自己進(jìn)行編程、測(cè)試。之后就是熟悉其編程的模式,所謂其編程模式,就是寄存器的控制,中斷程序的編寫,熟悉了這個(gè)操作,也就能控制其他的功能模塊了,如串口的控制、I2C硬件控制器的控制。這些基本的開發(fā)熟悉了之后,接下來便是學(xué)習(xí)差異的部分,例如PIC單片機(jī)C語言中,其堆棧深度不能超過8級(jí),超過了之后,將會(huì)使得程序出現(xiàn)跑飛的現(xiàn)象。而且內(nèi)存的分配完全要靠自己來控制,分成了4個(gè)BANK的數(shù)據(jù),BANK0,BANK1,BANK2,BANK3 等。這些就是每個(gè)系列單片機(jī)所獨(dú)有的一些東西,這些東西需要詳細(xì)的了解,因?yàn)樗鼈兛赡転槟愕?strong>編程帶來很大的便利。
以上就是我學(xué)習(xí)單片機(jī)的總結(jié),如果大家有更好的學(xué)習(xí)方法,希望大家能夠提出來,一起討論,共同進(jìn)步。
擴(kuò)展閱讀:51單片機(jī)新手學(xué)習(xí)大“禮包”