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