微控制器實訓總結
總結是事後對某一階段的學習、工作或其完成情況加以回顧和分析的一種書面材料,它可以明確下一步的工作方向,少走彎路,少犯錯誤,提高工作效益,為此要我們寫一份總結。如何把總結做到重點突出呢?以下是小編整理的微控制器實訓總結,僅供參考,歡迎大家閱讀。
微控制器實訓總結1
《微控制器》這門課程我已經學了一個學期了,在這一個學期的學習過程中,我一開始不怎麼懂得程式設計,但慢慢的我現在已經不僅會讀程式還會寫程式了。真為自己一個學期來努力學到的微控制器知識只是而感到高興。
怎麼學微控制器?也常看到有人說學了好幾個月可就是沒有什麼進展。當然,受限於每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這裡說說我學習微控制器的經歷和方法。 我覺得學習微控制器首先要懂得C語言,因為微控制器大多說都是靠程式來實現的,如果看不懂程式或則不懂的程式設計是很難學會微控制器的。學習微控制器首先要明白一個程式是怎麼走的,要完全懂得程式每一個步驟的意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學習微控制器最主要的對89C51晶片內部結構有全方面的,只要瞭解了89C51才能知道微控制器實現什麼樣的功能和作用,才能對微控制器有更深一步的瞭解。 透過一個學期《微控制器》這門課程的學習,我也從中有了不少心得和體會想和大家分享一下。
萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找藉口,不要說微控制器的程式全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程式就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然後可以參考別的人程式,抄過來也無所謂,寫一個最簡單的,讓它執行起來,先培養一下自己的感覺,知道寫程式是怎麼一回事,無論寫大程式還是小程式,要做的工序不會差多少。然後建個程式,加入專案中,再寫程式碼、編譯、執行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程式在上面執行一下看結果,學習效果會好很多,模擬器就看個人需要了。微控制器是注重理論和實踐的,光看書不動手,是學不會的。 知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了後面的,前面的估計也快忘光了,所以,最好結合實際程式,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程式。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。 程式不要光看不寫,一定要自己寫一次。最開始的時候,什麼都不懂,可以抄人家的程式過來,看看每一句是幹什麼用的,達到什麼目的,執行後有什麼後果。看明白了之後,就要自己寫一次,你會發現,原來看明白別人的程式很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當你自己能寫出來的時候,說明你就真的懂了。
必須學會掌握除錯程式的方法。不少人寫程式,把程式碼寫好了,然後一執行,不是自己想要的結果,就暈了,然後跑到論壇上發個帖子,把程式一貼,問:為什麼我的程式不能正常執行?然後就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習除錯程式的方法,比如KEIL裡,可以下斷點啦,檢視暫存器內容等等,這些都是除錯程式的手段,當你發現你寫的程式執行結果和你想象中不一樣的時候,你可以單步,也可以下斷點,然後跟蹤,檢視各相關暫存器內容,看看程式執行過中是不是有什麼偏差,找出影響結果的地方,改正過來。這一個過程非常重要,透過程式的排錯,你可以學到的知識是書上得不到的。
找到解決問題思路比找到程式碼更重要。我們用微控制器來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程式,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程式,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到程式碼更為重要。不少人很喜歡找人家的程式碼,有的人甚至有了程式碼就直接複製到自己的程式中,可以說,這不是一種學習的態度,無助於你程式設計水平的提高。我幾乎不怎麼看人家的程式碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從程式碼中看出別人處理問題的思路,是相當困難的,特別是大型的程式,看起來是非常的累人。所以現在我也明白了,以前讀書時說的程式流程圖很重要,現在算是知道了。當你知道一個問題怎麼去解決了,那麼剩下的只是你安排程式碼去完成,這就已經不是什麼問題了。
開動腦筋,運用多種方法,不斷最佳化自己的程式。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那麼你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的程式碼,能不能再精簡一點,讓程式執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,並不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,程式設計水平才能有所提高。
看別人的程式,學習人家的思路。這個在學習初期是很有用,透過看別人的程式,特別是老師寫出的具有一定水平的程式,可以使自己程式設計水平得到迅速的提高。同時,也可以結合別人的程式設計手法,與自己的想法融合在一起,寫出更高水平的程式,從中得到進步。但要注意,切忌將學習變成抄襲,更不是抄襲完了就認為自己學會了,這樣做只會使你退步。
嘗試編寫一下綜合應用的程式。從流水燈學起,到動態掃描,再到中斷,那麼,你可以試試寫一下時鐘這種綜合性應用的程式,不要小看時鐘,要寫好它不是一件容易的事情,它包括了微控制器大部分的知識,比如有按鍵(IO讀取)、動態掃描(IO輸出)、中斷等,如何協調好各功能模組正常工作,才是程式設計者需要學習的地方,當你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程式什麼也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程式執行中使每一部分都正常工作,這就不是寫一個按鍵讀取這麼容易的事情,功能模組之間有可能會互相影響,比如你需要讓數碼管既能顯示,又要去處理按鍵讀取,怎麼使這兩部分都正常工作,這就是一個協調過程。當你有了這個處理協調能力,你就算是入門了。
著重於培養解決問題的能力,而不是具體看自己編寫了多少程式或者做過什麼。“學微控制器重點在於學習解決問題的思路,而不是侷限於具體的晶片型別和語言”這一直是我的座右銘,是我學微控制器學習微控制器之後感悟出來的。真正的能力不是你曾經編寫過多少個可以實現的程式,而應該是:“遇到沒有解決過的問題,能利用自己已學的知識,迅速找到解決問題的方法。”這個才是能力。
面對一個新程式時,多自己開動腦筋,不要急於找別人的程式。有不少人面對一個新程式時,第一步想到的就是網上找別人寫過的程式,然後抄一段,自己再寫幾句,湊在一起就完成任務,這雖然可能是省時間,但絕對不利你的學習。當你接到一個程式時,應該先自己構思一下整個程式的架構,想想如何來完成。有可能的話,畫一個流程圖,簡單的可以畫在腦子裡,對程式中用到的資料、變數有一個初步的安排,然後自己動手去寫,遇到實在沒辦法解決的地方,再去請教老師或同學,或看別人是怎麼處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路。如果你一開始就看別人的.程式,你的思維就會受限在別人的思維裡,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子裡。
學會提問題。一般來說,學習過程中,你遇上的問題,多數人也有遇上的,所以如果有什麼不懂,你可以去問老師。我覺得學習微控制器最主要的要多提問,對於一個自己不是太懂的程式,自己一定要多提問幾遍,這樣不但有利於加深自己的印象還能從中學到不少別人的方法。
經過一個學期我對《微控制器》這門課程的學習,不僅讓我懂得了很多程式的編寫,還讓我學到了很多對自己有用的學習方法。總結這個學期來的我自己的學習情況,我覺得自己對程式設計進步了不少,懂得運用正確的學習方法學習微控制器程式,不再去死記硬背指令了。所以我覺得學習要不斷總結學習方法,才能讓自己學習不斷進步。
微控制器實訓總結2
透過這一個學期的微控制器學習,我收穫了很多關於微控制器的知識,並且這些知識和日常的生活息息相關。瞭解了一些簡單程式的錄入,LED顯示器、鍵盤、和顯示器的應用和原理。
LED顯示器:LED顯示器是由發光二管組成顯示欄位的器件。通常的8段LED顯示器是由8個發光二極體組成,LED顯示器分共陽極和共陰極兩種。有段選碼和和位選碼。當LED顯示器每段的平均電流位5MA時,就有較滿意的亮度,一般選擇斷碼5-10MA電流;位線的電流應選擇40-80MA。LED顯示器的顯示方式有動態和靜態兩種。7289A晶片是具有SPI序列介面功能的顯示鍵盤控制晶片,它可同時取得8位共陰極數碼管和64個鍵的鍵盤矩陣。7289A的控制指令分為兩類:8位寬度的單位元組指令和16位寬度雙位元組指令;還有閃爍指令和消隱指令。7289A採用序列方式SPI匯流排與微處理器通訊;7289A與AT89C52介面電路,在實際電路中無論接不接鍵盤,電路中連線到其各段上的8個100千歐的下拉電阻均不可以省去,如果不接鍵盤而只接顯示器可以省去8個10千歐電阻,若僅接鍵盤而不接顯示器,可省去串入DP及SA-SG連線的8個220歐電阻,7289A還需要外接晶體振盪電路。液晶顯示器簡稱LCD,其顯示原理是用經過處後的液晶具有能改變光線傳輸方向的特性,達到顯示字元和圖形的目的。最簡單的筆段式液晶顯示器類似於LCD顯示器,可以顯示簡單的字元和數字,而目前大量使用的是點陣式LCD顯示器,既可以顯示字元和數字也可以顯示漢字和圖形。如果把LCD顯示屏、背光可變電源、介面控制邏輯、驅動整合晶片等部件構成一個整體,是的與CPU介面十分方便。
鍵盤:鍵盤是最常見的計算機輸入裝置,它廣泛應用於微型計算機和各種終端裝置上。計算機操作者透過鍵盤向計算機輸入各種指令、資料,指揮計算機的工作。按照鍵盤的工作原理和按鍵方式的不同,可以劃分為四種:機械式鍵盤採用類似金屬接觸式開關,工作原理是使觸點導通或斷開,具有工藝簡單、噪音大、易維護的特點。塑膠薄膜式鍵盤鍵盤內部共分四層,實現了無機械磨損。其特點是低價格、低噪音和低成本,已佔領市場絕大部分份額。導電橡膠式鍵盤觸點的結構是透過導電橡膠相連。鍵盤內部有一層凸起帶電的導電橡膠,每個按鍵都對應一個凸起,按下時把下面的觸點接通。這種型別鍵盤是市場由機械鍵盤向薄膜鍵盤的過渡產品。無接點靜電電容式鍵盤使用類似電容式開關的原理,透過按鍵時改變電極間的距離引起電容容量改變從而驅動編碼器。特點是無磨損且密封性較好。
按照按鍵方式的不同鍵盤可分為接觸式和無觸點式兩類。接觸式鍵盤就是我們通常所說的機械式鍵盤,它又分為普通觸點式和幹簧式。普通觸點式的兩個觸點直接接觸,從而使電路閉合,產生訊號;而幹簧式鍵盤則是在觸點間加裝磁鐵,當鍵按下時,依靠磁力使觸點接觸,電路閉合。與普通觸點式鍵盤相比,幹簧式鍵盤具有響應速度快、使用壽命長、觸點不易氧化等優點。無觸點式鍵盤又分為電容式、霍爾式和觸控式三種。其中電容式是我們最常用到的鍵盤型別,它的觸點之間並非直接接觸,而是當按鍵按下時,在觸點之間形成兩個串聯的平板電容,從而使脈衝訊號透過,其效果與接觸式是等同的。電容式鍵盤擊鍵時無噪聲,響應速度快,但是價格很高一些。
顯示器:按照顯示器的顯示管分類CRT、LCD。按顯示色彩分類單色顯示器、彩色顯示器。按大小分類通常有14寸、15寸、17寸和19寸,或者更大。顯示管的螢幕上塗有一層熒光粉,電子槍發射出的電子擊打在螢幕上,使被擊打位置的熒光粉發光,從而產生了影象,每一個發光點又由“紅”“綠”“藍”三個小的發光點組成,這個發光點也就是一個象素。由於電子束是分為三條的,它們分別射向螢幕上的這三種不同的發光小點,從而在螢幕上出現絢麗多彩的畫面。顯示器顯示畫面是由顯示卡來控制的。若仔細觀察顯示器上的文字或影象是由點組成的,螢幕上點越多越密,則解析度越高。
螢幕上相鄰兩個同色點的距離稱為點距,常見點距規格有0.31mm、0.28mm、0.25mm等。顯示器點距越小,在高解析度下越容易取得清晰的顯示效果。電子束採用光柵掃描方式,從螢幕左上角一點開始,向右逐點進行掃描,形成一條水平線;到達最右端後,又回到下一條水平線的左端,重複上面的過程;當電子束完成右下角一點的掃描後,形成一幀。此後,電子束又回到左上方起點,開始下一幀的掃描。這種方法也就是常說的逐行掃描顯示。而隔行掃描指電子束在掃描時每隔一行掃一線,完成一屏後再返回來掃描剩下的線,這與電視機的原理一樣。隔行掃描的顯示器比逐行掃描閃爍得更厲害,也會讓使用者的眼睛更疲勞。完成一幀所花時間的倒數叫垂直掃描頻率,也叫重新整理頻率,比如60Hz、75Hz等。
透過這幾天的微控制器的實訓,我在理論的基礎上更深刻的掌握了微控制器的深層內容及實
際生活中的應用,實訓鍛鍊了自己動手能力和思維能力,還有在軟體方面的程式設計能力,讓我受益匪淺,同時也暴露出一些平時學習上的問題,讓我深刻反思。這些問題的發現將為我以後的學習和工作找明道路,查漏補缺為進一步學習作好準備。透過實訓,讓我懂得了如何編寫一些簡單的程式,學會了如何製作微控制器應用程式,並且可以在今後的日常生活中靈活運用。
微控制器實訓總結3
微控制器是一門應用性和綜合性很強的學科,它綜合了電子技術中的類比電路和數位電路方面的知識,特別是數位電路,因為數位電路在微控制器裡面的應用很多。由於微控制器涉及的知識很多,所以我們只能循序漸進的學習,逐步的積累,沒有什麼捷徑可循。
在大二的時候,我就聽學長介紹過微控制器,當時感覺很神奇,從此就對微控制器特別感興趣,也感覺它特別有用。於是經學長推薦,在大二上學期我利用學習之餘在圖書館借書,學習了KILE和Proteus軟體,剛開始學習的時候,對微控制器沒有什麼認識,不知道什麼是微控制器,更不知道它有什麼作用。透過學習才大體知道了微控制器的一些知識。由中央處理器CPU、隨機儲存器RAM、只讀儲存器ROM、I/O介面、定時器/計數器以及序列通訊介面等整合在一塊晶片上,構成了一個單片微型計算機,簡稱為微控制器。也算給我正式學習微控制器打下一個基礎。
在大二下學期,我購買了一套微控制器學習開發板和郭天祥主編的《新概念51微控制器C語言教程》,從此正式開啟我的微控制器學習之路。在剛開始學時,就完全模仿郭天祥主編的這本書再結合開發板一步一步的學,從點亮一個發光二級管,流水燈,數碼管,定時器,中斷,矩陣鍵盤,AD、DA,串列埠通行,I2C匯流排等一步一步的深入學習。此時,我雖然能看懂程式,一些簡單的程式可以自己編寫,但一些比較複雜的自己編不出來。在大二暑假,我發現了郭天祥主講的《十天學
會微控制器》視屏,於是我堅持天天看視屏,然後在自己根據視屏內容結合開發板寫程式,調程式,就這樣學了一個暑假。透過這個視屏,我初步瞭解了微控制器的硬體結構,程式設計方法及除錯方法(用KILE軟體除錯和用開發板除錯),暫存器的使用,學會了如何看晶片資料,初步開始利用晶片時序圖來程式設計。可以說這個視屏對我學習微控制器有巨大的幫助,更誇張的說是這個視屏將我帶進了微控制器的世界,讓我盡情的體驗微控制器帶給我的快樂!
在大三上學期,我有幸參加了教改班的微控制器課程學習。我覺得鄧老師的教學很有特點,讓我們自己一個模組、一個模組的焊電路板,寫程式,除錯,然後上講臺講。這樣不僅提高了我對微控制器的進一步學習,更鍛鍊了我在公眾面前的表達能力。我覺得大學的教育就應當如此,應該多注重學生的實際動手操作能力,只有自己親自動手做了,才能體會到其中的艱辛,當然還伴隨著眾多的樂趣。在經過大三一學期的學習,我的微控制器水平有了質的飛躍。首先焊電路板,從微控制器最小系統、電源、流水燈開始,第一次自己透過模電上學的一個電源的構成知識做了一個電源,知道了用HC573鎖存器對流水燈的作用以及上拉電阻的用法。其次焊數碼管,數碼管有共陰共陽之分,焊電路板以及寫程式都有區別。接著焊了鍵盤、串列埠通訊、液晶、AD、DA、I2C匯流排24C02晶片、時鐘晶片DS1302、DS12C887、溫度感測晶片18B20以及其他模組。透過焊電路,現在對微控制器各個模組的硬體設計瞭如指掌,透過軟體除錯,我已經基本掌握用晶片資料時序圖和暫存器程式設計。最後階段我用了一個多月的時間做了三個時鐘,下面以我做的三個時鐘為例講一下感受:
1:用定時器中斷、24C02晶片、按鍵和1602液晶做了一個年、月、日、星期、時、份、秒都可調的時鐘,充分利用24C02掉電保護的特點,當關閉電源後再次開啟,時鐘會從上次停止的時間繼續走。在做這個時鐘時,要注意24C02的時序圖以及暫存器的初始化。並且要注意寫完時鐘後,首次使用24C02,時鐘可能是亂碼,只需要用按鍵的加減鍵將其調為可讀的時鐘後,以後上電資料就可以正常走。
2:用DS1302、18B20和液晶做了一個不可調節的時鐘。設計這個晶片的初衷是學習DS1302和18B20這兩個晶片,於是我寫程式實現了一個時鐘從設定的初值時間開始走,並且顯示溫度。在設計中,一定要對DS1302暫存器初始化後他才能正常工作,在對照18B20晶片手冊寫程式時,我充分體驗到了鄧老師說的一句話“硬體設計簡單,軟體必然是複雜的”。在對18B20寫程式時,遇到了很多麻煩,都是時序的問題。
3:用DS12C887、按鍵和液晶做了一個年、月、日、星期、時、份、秒可調節的時鐘。由於DS12C887內部自帶晶振和可充電鋰電池,上電後自動充電,所以這個時鐘掉電後內部時鐘繼續走,。在寫這個時鐘時,DS12C887一直用不起來,開始是由於時序不對,後來表不走,最後發現內部晶振沒起振,是因為對其內部暫存器的初始化不對。總之在遇到各種奇怪的現象後不斷除錯,最終將三個時鐘調出來了。
寫完這三個時鐘,我收穫挺大的,現在可以比較熟練地利用時序圖寫程式,也對微控制器的定時、中斷有了進一步的瞭解,可以說這是我微控制器學習的又一大提高。
有時候微控制器的學習很單調,比如檢查電路,程式怎麼也寫不對,這些問題檢查好多遍也沒解決,有些知識學起來很抽象,不容易理解,只能慢慢適應,一邊學習理論知識,一邊編寫程式,將程式刷入微控制器進行耐心的除錯,透過這種方式才能更快速的學習微控制器。同時也會從學習中體會成功的喜悅。
總之,在一學期的學習中,從硬體,軟體,除錯,演講等各個方面都有了很大的收穫。