微控制器系統學習工作總結

微控制器系統學習工作總結

  微控制器系統學習總結1

  從剛開始接觸微控制器,到現在已經有4年的時間了,在這期間學習和使用了51微控制器、飛思卡爾微控制器,lpc2138,pic16f887等系列的微控制器,每接觸一款微控制器,都會經歷熟悉其基本開發,然後將其用於專案中的過程,對於如何學習一款微控制器,自己做了如下的總結。

  大家都知道,51微控制器是最容易入門的,不僅因為其程式設計簡單,更重要的是網上的資料非常豐富。所以一般學習微控制器開發的都將51微控制器作為入門開發的首選。我學習51微控制器的時候是採用這樣的一個步驟進行學習的:

  第一步(熟悉的過程):買了一款51微控制器開發板,然後就開始了我的學習之旅,剛開始的時候沒有去看影片教程,而是對著一本實驗教材進行學習,那本實驗教材的名字記不清楚了,但是其內容就是圍繞微控制器的led燈進行控制,將51微控制器內部的各個功能部件全部都使用到了,這樣就能使我在很短的時間內,透過控制led燈的亮、滅熟悉了51微控制器的內部的各種資源,這時對51微控制器也就沒有感到陌生了。所以,個人覺得,學習微控制器,要從實驗入手,先熟悉微控制器再說,開發語言開始使用的是c語言。

  第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,當時,我看的是郭天祥十天學會微控制器的影片教程,因為這個教程從基礎到複雜的程式設計慢慢深入,講的比較的全面,而且也生動,所以那一階段,也是我學習微控制器進步最快的階段,每次聽課的時候,按照上面的實驗,以及課堂上面除錯程式時出現的一些問題,自己認真的在電腦上進行除錯,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了影片教程之後,後面又對基礎的知識進行了下補習,主要是看微控制器原理性的教材,因為有些細節性的東西還是要從教材上面獲得。

  第三步(專案實戰的階段):學習微控制器的時候,雖然也編寫了一些程式,但是那些都是一些很小的模組程式,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行專案實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於微控制器的液體點滴監控系統。做這個系統時,就將以前微控制器所學的知識,做了一個綜合的應用,包括有lcd1602控制,串列埠的控制等。

  經過以上三個步驟的學習之後,對於51微控制器的開發基本上就算入門了。而對於其他型別的微控制器,如飛思卡爾微控制器,lpc2148arm7微控制器,pic16f887等,雖然每個系列的功能不一樣,但是最基本的程式設計思想還是一樣的,不同的可能就是編譯器,程式下載的軟體等差別,所以有了51微控制器的開發基礎之後,學習其他微控制器所採用的方法就是一個差異化的學習,學習各種微控制器不同的地方,這樣,就能很快的熟悉一款新的型號的微控制器。

  如在學習pic16f887這個系列的微控制器時,我首先做的工作不是去閱讀資料手冊,而是先拿著demo程式碼,在編譯軟體中編譯、連結、生成hex檔案,然後將其下載到開發板中跑起來,這個過程主要就是學習其軟體的基本操作,有了這個基礎之後,就能自己進行程式設計、測試。之後就是熟悉其程式設計的模式,所謂其程式設計模式,就是暫存器的控制,中斷程式的編寫,熟悉了這個操作,也就能控制其他的功能模組了,如串列埠的控制、i2c硬體控制器的控制。這些基本的開發熟悉了之後,接下來便是學習差異的部分,例如pic微控制器c語言中,其堆疊深度不能超過8級,超過了之後,將會使得程式出現跑飛的現象。而且記憶體的分配完全要靠自己來控制,分成了4個bank的資料,bank0,bank1,bank2,bank3等。這些就是每個系列微控制器所獨有的一些東西,這些東西需要詳細的瞭解,因為它們可能為你的程式設計帶來很大的便利。

  以上就是我學習微控制器的總結,如果大家有更好的學習方法,希望大家能夠提出來,一起討論,共同進步。

  微控制器系統學習總結[篇2]

  人的一生是一個不斷學習、不斷成長的過程。轉眼間,研究生的學習生涯結束了,走上新的工作崗位。回頭看看,發現自己不知不覺已經走過了五年的微控制器學習之旅。

  在2017年最初接觸微控制器的時候,在我心中覺得51就是微控制器,微控制器就是51,根本不知道還有其他微控制器的存在。那時候老師只教會了我們組合語言,根本不知道用c語言也可以進行微控制器開發。幸運的是,我加入了微控制器興趣小組,在老師的指導下,做了一系列實驗,有“基於ds18b20的溫度採集系統”、“有基於164的移位暫存器的燈光控制系統”、“有步進電機和直流電機的控制系統”。這時候我才發現,這是學習微控制器的一個最好途徑——在實踐中領悟理論,用理論指導實踐。在上課的整整一個學期中,雖然老師講得很詳細,但是大部分概念都是到了實際動手做東西的時候才弄明白的。而且在經歷了迷惑之後再搞清楚,印象就特別深刻。直到現在我對那些概念和介面都非常清晰。其實我也很慶幸學習和使用了兩年多的組合語言。由於有這些鍛鍊,我對微控制器底層結構和介面時序就弄得很清楚。在使用c語言開發的時候,最佳化程式碼和處理中斷也就不會太費勁。我覺得,雖然現在絕大部分微控制器開發都使用c語言,甚至有些公司還推出了圖形化程式設計的工具,這樣對於專案的開展從時間上快了很多,在管理上也規範了不少,但是從學習和想深入掌握微控制器精髓的角度來說,還是需要熟練掌握組合語言的使用。

  機會總是青睞於有準備的人。也許有了前面一段時間的理論和實踐的積累,我才慢慢得到了一些參加科技競賽和參與科研專案的機會。在參加第一屆浙江省機械設計競賽的時候,我們設計的由多微控制器系統協調控制的“月球車”機器人奪得了唯一的一個特等獎。這個競賽給我最大的收穫是我對微控制器的認識改變了,它不再僅僅是一門學科了,它是一個可以讓你的創意得到充分發揮的平臺。後來參與了“基於影片分劃技術的鋼捲尺自動切零位機”、“電能表渦槓渦輪齧合深度檢測系統”、“基於公共電話網的水錶集抄資料路由器”、“高精度電感微位移測量系統”等一些實際的專案。在這些過程中,我發現只是精通微控制器技術還不能很好的解決問題。體會最深的是,微控制器只有融合到各種應用領域中,才能展現它的最大活力。然而微控制器僅僅是一個工具而已,要做好微控制器系統還需要各種應用領域的專業知識的支援。例如,在“基於影片分劃技術的鋼捲尺自動切零位機”中,就需要搞清楚全電視訊號的時序,弄明白鋼捲尺切零位機的工作原理,懂得怎麼利用疊加在影片訊號中的橫豎線來進行刻度的瞄準等。沒有這些專業知識,就算微控制器技術再厲害也不可能做好這個專案。脫離應用背景的微控制器開發,就像一個沒有靈魂的軀體一樣。

  隨著arm的出現,我曾經認為,8位微控制器可能在32位微控制器的衝擊下就此走進歷史,可是很快就認識到我是錯誤的。隨著技術的革新和時間的推移,各大微控制器公司紛紛將微控制器朝著片上系統這個方向發展,集成了現在各種流行的技術和常用的模組。我相信,在當前國內和國外的這個市場中,8位微控制器應用的市場仍然是充滿生機,活力無限。在市場的不斷變化和技術的不斷更新過程中,8位微控制器也會順應潮流不斷革新。

  從我五年走過的路來看,微控制器學習的過程應該是一個循序漸進、不斷學習、不斷積累的過程,可以分為三個階段。

  第一階段:掌握開發微控制器的必備基礎知識。首先是熟練掌握微控制器的基本原理,其實各家各門的微控制器其基本結構和原理都差不多,特別是共有的知識需要好好理解和掌握。例如,核心結構、記憶體分配、中斷處理、定時計數、序列通訊、埠複用等一些最基本的概念和原理。除此之外,我們還需要具備類比電子、數位電子、c語言程式開發知識以及原理圖和pcb設計等一些技能。在進行系統開發的時候,進行原理設計、pcb布板、程式編寫、系統聯調這些工作都是在所難免的。

  第二階段:在掌握好一款微控制器原理和應用的基礎上,開始學習其他各家微控制器的獨有技術,學不了那麼多也要多瞭解瞭解。同時儘可能多地掌握微控制器的一些外圍器件和常用電路,以備不時之需。有時候客戶要求低成本,那我們只好選用合鈦、義隆、華邦等這類那個島晶片;如果客戶要求工業級的效能,那麼我們就得從pic、nec、飛思卡爾、nxp等這些歐美和日式微控制器中選擇;若要進行功耗的開發,選用msp430系列應該有一定優勢;在進行測量儀器設計的時候,c8051和aduc842這類數模混合晶片就顯得比較方便。所以說最好每個型別的微控制器都會一兩款,在實際專案選型中可以更加靈活。另外,要注意平時的技術積累。比如,在專案開發過程中將一些常用的介面程式和控制演算法整理成模組或者函式,在其他的專案開發中,有同樣或者接近的需求時馬上就可以使用,又快又好。

  第三階段:在實際的專案開發過程中,不斷深化微控制器應用技術,不斷積累應用行業的專業知識。例如,我完成了“高精度電感微位移測量系統”,就會對電感感測器的測量機理和訊號特性、測量電路的設計、電磁相容處理、誤差修正和非線性處理等測控方面的專業技術有很深的認識。以後碰到類似的專案時,很多東西就可以直接利用了。有了紮實的微控制器應用相關的基礎知識,並且熟悉掌握了幾款不同型別微控制器的開發方法,再結合實際的應用背景,那麼就可以隨心所欲,設計出效能最優、結構最合理的微控制器應用系統。這是我最大的奮鬥目標,我覺得這也應該是微控制器應用的最高境界吧。

  在這五年的學習中,有感慨、有遺憾、有憧憬、有希望,更重要的是我對微控制器應用這個領域充滿熱情。由於才疏學淺、涉世未深,希望能與行業裡的各位老師多多交流,不斷學習,不斷成長。

  微控制器系統學習總結[篇3]

  基於本人學習微控制器的痛苦經歷,特編寫本教程,以此獻給廣大的微控制器初學者,希望您能從中受益。

  作者提示:本教程乃最通俗易懂之微控制器教材也,如果您還是看不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_*

  拿到這本教程您首先就會想,什麼是iap教學法?是不是一種什麼全新的教學方法?當然不是,我可沒有那麼大的本事,其實這只是我杜撰的一個新名詞,意思就是inapplicationsprogram(在應用中程式設計),當然這只是針對微控制器教學,說法是否正確,還得您說了算。

  至於為什麼要提這種說法,那我倒想說幾句。大家都知道,學習電子技術是一件非常無聊和枯燥的事情,為什麼會有這種想法,就是因為我們傳統的教學方法只重理論而忽略了實踐,要一個人記住那些空洞而有無聊的理論知識實在不是一件容易的.事,好在我們總算熬過來了,不管如何,也多多少少的學習了一些電子基礎知識。

  接下來我們應該進一步掌握些什麼知識呢,凡涉足此行的朋友都知道,那就是微控制器。不過這可不是一件容易的事,倒不是因為微控制器很難學,而實在是我們身邊很難找到一本專為微控制器入門者而編寫的教材。翻一下傳統的微控制器教材,都好象是為已經懂微控制器的人而寫的,一般總是以微控制器的結構為主線,先講硬體原理,然後是指令,接著講軟體程式設計,再是系統擴充套件和外圍器件,最後舉一些例項(隨

  ,很少涉及微控制器的基礎知識,如果按照此種學習方法,想便說一點:很多書中的例項都是有錯誤的)

  進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,微控制器不象類比電路和數位電路那樣,只要搞懂了電路原理,再按照產品要求設計好相應的電路就可以了。它是一種以簡單的硬體結構,複雜而有靈活的軟體系統來完成設計的通用性產品,不同的設計者只會使用其不同的功能,幾乎沒有人會把它的全部指令都使用起來,所以學習使用微控制器只能靠循序漸進的積累,而不可能先把

  。它全部掌握了再去做產品開發(當然天才就例外了*_*)

  基於以上原因,本人想嘗試一種全新的微控制器教學方法,打破傳統的循序漸進式的教學方法,以微控制器的應用為藍本,結合基本的工業控制系統和實踐工作中的具體應用,不分先後順序,將各條指令貫串於一個又一個的實驗中,透過所見即所得的實驗來講解各種指令的程式設計方法,順便講解相關的基本概念,使您儘快地熟悉微控制器應用的基本步驟,掌握軟體程式設計的基本方法。

  如果您學完了就能成為微控制器的入門者,完全可以進行一般產品的開發;下冊部分是微控制器應用的提高部分,主要學習微控制器的系統擴充套件(比如:rom和ram儲存器的擴充套件,並行口的擴充套件,序列口的擴充套件,a/d和d/a與微控制器的介面)以及相關開發工具和軟體的使用(包括kellc51的應用與除錯技巧,硬體模擬器的使用)等等,如果您學完了下冊部分,那就得恭喜您成為了微控制器開發的高手了,不過微控制器的技術是在不斷的發展和提高的,您也不要太驕傲哦!

  為了儘量把最新的微控制器知識和應用成果收錄進我們的教程,希望您能不吝賜教,共同來努力把我們的教程不斷的改進和完善。還是那句題外話,技術是靠不斷的積累和交流才會進步的,固封自守只會更加落後。

  由於時間和精力的限制,我還是希望在您學習本教程之前,自己先熟悉一點相關的電子技術知識,特別是數位電路基礎,這對您學習中碰到的相關概念會有很大的幫助。

最近訪問