微控制器零碎年度學習總結範文

微控制器零碎年度學習總結範文

  一段難忘的學習生活結束了,相信你一定有很多值得分享的收穫,這個時候該寫一份學習總結了吧。那麼好的學習總結都具備一些什麼特點呢?下面是小編收集整理的微控制器零碎年度學習總結範文,供大家參考借鑑,希望可以幫助到有需要的朋友。

  微控制器零碎年度學習總結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

  《微控制器》這門課程我已經學了一個學期了,在這一個學期的學習過程中,我一開始不怎麼懂得程式設計,但慢慢的我現在已經不僅會讀程式還會寫程式了。真為自己一個學期來努力學到的微控制器知識只是而感到高興。

  怎麼學微控制器?也常看到有人說學了好幾個月可就是沒有什麼進展。當然,受限於每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這裡說說我學習微控制器的經歷和方法。

  我覺得學習微控制器首先要懂得C語言,因為微控制器大多說都是靠程式來實現的,如果看不懂程式或則不懂的程式設計是很難學會微控制器的。學習微控制器首先要明白一個程式是怎麼走的,要完全懂得程式每一個步驟的`意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學習微控制器最主要的對89C51晶片內部結構有全方面的,只要瞭解了89C51才能知道微控制器實現什麼樣的功能和作用,才能對微控制器有更深一步的瞭解。

  萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找藉口,不要說微控制器的程式全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程式就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然後可以參考別的人程式,抄過來也無所謂,寫一個最簡單的,讓它執行起來,先培養一下自己的感覺,知道寫程式是怎麼一回事,無論寫大程式還是小程式,要做的工序不會差多少。然後建個程式,加入專案中,再寫程式碼、編譯、執行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程式在上面執行一下看結果,學習效果會好很多,模擬器就看個人需要了。微控制器是注重理論和實踐的,光看書不動手,是學不會的。

  知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了後面的,前面的估計也快忘光了,所以,最好結合實際程式,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程式。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。程式不要光看不寫,一定要自己寫一次。最開始的時候,什麼都不懂,可以抄人家的程式過來,看看每一句是幹什麼用的,達到什麼目的,執行後有什麼後果。看明白了之後,就要自己寫一次,你會發現,原來看明白別人的程式很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當你自己能寫出來的時候,說明你就真的懂了。

  必須學會掌握除錯程式的方法。不少人寫程式,把程式碼寫好了,然後一執行,不是自己想要的結果,就暈了,然後跑到論壇上發個帖子,把程式一貼,問:為什麼我的程式不能正常執行?然後就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習除錯程式的方法,比如KEIL裡,可以下斷點啦,檢視暫存器內容等等,這些都是除錯程式的手段,當你發現你寫的程式執行結果和你想象中不一樣的時候,你可以單步,也可以下斷點,然後跟蹤,檢視各相關暫存器內容,看看程式執行過中是不是有什麼偏差,找出影響結果的地方,改正過來。這一個過程非常重要,透過程式的排錯,你可以學到的知識是書上得不到的。

  找到解決問題思路比找到程式碼更重要。我們用微控制器來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程式,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程式,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到程式碼更為重要。不少人很喜歡找人家的程式碼,有的人甚至有了程式碼就直接複製到自己的程式中,可以說,這不是一種學習的態度,無助於你程式設計水平的提高。

  我幾乎不怎麼看人家的程式碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從程式碼中看出別人處理問題的思路,是相當困難的,特別是大型的程式,看起來是非常的累人。所以現在我也明白了,以前讀書時說的程式流程圖很重要,現在算是知道了。當你知道一個問題怎麼去解決了,那麼剩下的只是你安排程式碼去完成,這就已經不是什麼問題了。

  開動腦筋,運用多種方法,不斷最佳化自己的程式。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那麼你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的程式碼,能不能再精簡一點,讓程式執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,並不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,程式設計水平才能有所提高。

  看別人的程式,學習人家的思路。這個在學習初期是很有用,透過看別人的程式,特別是老師寫出的具有一定水平的程式,可以使自己程式設計水平得到迅速的提高。同時,也可以結合別人的程式設計手法,與自己的想法融合在一起,寫出更高水平的程式,從中得到進步。但要注意,切忌將學習變成抄襲,更不是抄襲完了就認為自己學會了,這樣做只會使你退步。

  嘗試編寫一下綜合應用的程式。從流水燈學起,到動態掃描,再到中斷,那麼,你可以試試寫一下時鐘這種綜合性應用的程式,不要小看時鐘,要寫好它不是一件容易的事情,它包括了微控制器大部分的知識,比如有按鍵(IO讀取)、動態掃描(IO輸出)、中斷等,如何協調好各功能模組正常工作,才是程式設計者需要學習的地方,當你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程式什麼也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程式執行中使每一部分都正常工作,這就不是寫一個按鍵讀取這麼容易的事情,功能模組之間有可能會互相影響,比如你需要讓數碼管既能顯示,又要去處理按鍵讀取,怎麼使這兩部分都正常工作,這就是一個協調過程。當你有了這個處理協調能力,你就算是入門了。

  著重於培養解決問題的能力,而不是具體看自己編寫了多少程式或者做過什麼。“學微控制器重點在於學習解決問題的思路,而不是侷限於具體的晶片型別和語言”這一直是我的座右銘,是我學微控制器學習微控制器之後感悟出來的。真正的能力不是你曾經編寫過多少個可以實現的程式,而應該是:“遇到沒有解決過的問題,能利用自己已學的知識,迅速找到解決問題的方法。”這個才是能力。

  面對一個新程式時,多自己開動腦筋,不要急於找別人的程式。

  有不少人面對一個新程式時,第一步想到的就是網上找別人寫過的程式,然後抄一段,自己再寫幾句,湊在一起就完成任務,這雖然可能是省時間,但絕對不利你的學習。當你接到一個程式時,應該先自己構思一下整個程式的架構,想想如何來完成。有可能的話,畫一個流程圖,簡單的可以畫在腦子裡,對程式中用到的資料、變數有一個初步的安排,然後自己動手去寫,遇到實在沒辦法解決的地方,再去請教老師或同學,或看別人是怎麼處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路。如果你一開始就看別人的程式,你的思維就會受限在別人的思維裡,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子裡。

  學會提問題。一般來說,學習過程中,你遇上的問題,多數人也有遇上的,所以如果有什麼不懂,你可以去問老師。我覺得學習微控制器最主要的要多提問,對於一個自己不是太懂的程式,自己一定要多提問幾遍,這樣不但有利於加深自己的印象還能從中學到不少別人的方法。

  經過一個學期我對《微控制器》這門課程的學習,不僅讓我懂得了很多程式的編寫,還讓我學到了很多對自己有用的學習方法。總結這個學期來的我自己的學習情況,我覺得自己對程式設計進步了不少,懂得運用正確的學習方法學習微控制器程式,不再去死記硬背指令了。所以我覺得學習要不斷總結學習方法,才能讓自己學習不斷進步。

  微控制器零碎年度學習總結3

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

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

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

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

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

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

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

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

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

最近訪問