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