如何才能有效的學習微控制器程式設計

  ?想了解更多的資訊嗎,和小編一起看看吧!以下是小編分享給大家的有效的學習微控制器程式設計的方法,希望可以幫到你!

  有效的學習微控制器程式設計的方法

  學習微控制器的最有效方法是理論與實踐並重

  對一個初學微控制器的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,能夠產生什麼實際效果,那麼也許用不了幾天就會覺得枯燥乏味而半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將用到的指令理解、吃透、紮根於腦海,甚至“根深蒂固”。也就是說,當你此次學習完某幾條指令後一次數量不求多,只求懂,接下去就該做實驗了,通過實驗,使你感受剛才的指令產生了控制效果,眼睛看得見燈光、耳朵聽得到聲音,更能深刻理解指令是怎樣轉化成訊號去控制電子產品的。說句過分的話,微控制器與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好,許多讀者經3~6個月的學習已能開發簡單的產品瞭如霓紅燈廣告牌控制、累加計數器等。

  學習微控制器要合理安排學習時間持之以恆

  學習微控制器可不能“三天打魚、二天晒網”,要有持之以恆的毅力與決心,學習完幾條指令後,就應及時做實驗,融會貫通,而不要等幾天或幾個星期有時間後再做實驗,這樣效果不好甚至前學後忘。另外要有打“持久戰”的心理準備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習微控制器很重要的一點就是持之以恆。

  學習微控制器要使用迴圈學習法使之根深蒂固

  筆者曾在其它刊物舉辦過《手把手教你學微控制器》講座,該講座入門起點低,很多朋友覺得好學、易學,很快就能將講座從頭至尾學完、學懂,但過了幾個月,在開發產品時對指令的具體作用就有些淡忘了。根據現代科學的研究,對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是,過一段時間後1~2個月再重新做一遍,這樣反覆迴圈幾次就能徹底弄懂消化,永不忘卻。有道是:若人生能細看《水滸傳》10遍,那麼裡面的故事內容、人物場情將永生不忘。

  學習微控制器要進行適當投資購買實驗器材及書籍資料

  微控制器技術是一門含金量高的技術,一旦學會後,它給你帶來的效益回報當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景是光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材,另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。總之,春天不播種哪來秋天的收穫?考慮到學習成本,對初學者可採用“程式完成後軟體模擬→微控制器燒錄程式→試驗板通電實驗”的方法現在的快閃型微控制器其程式可燒寫1000次以上,這樣整套實驗器材不包括PC機只有幾百元,對大部分已工作的愛好者來說都有這個能力承受。而經濟條件較好的讀者可考慮使用線上模擬器ICE進行實驗,這樣學習時直觀性更好。

  總之這裡所談的就是作者的親身體驗。我們希望以最實用的方法,最易入門的手法,將初學者領進微控制器世界的大門裡,使這些僅稍懂硬體原理的人通過實踐能理解軟體的作用,讓他們知道在微控制器組成的系統中硬體與軟體的區分並不絕對,硬體能做的工作一般情況下軟體也能完成,軟體的功能也可用硬體替代。等初步學會了微控制器軟體設計後,可將通常由硬體完成的工作交由軟體實現,這樣,系統的體積、功耗、成本將大大降低,而功能得到提升與增強,使習慣於傳統電路設計的人對微控制器產生一種妙不可言的相見恨晚之感,感覺到真正找到了一種理想化的器件,真正感受、體會到現代單片微型計算機的強大作用,從而投身於微控制器的領域中。只要你肯努力、下功夫、多實踐,一定會成功的。

  有效的學習微控制器程式設計的建議

  1、整體瞭解

  要知道微控制器是什麼?微控制器有何用?微控制器系統設計的流程是怎樣的、需要掌握哪些輔助軟體當然就包括相應的程式語言?怎樣設計演算法、寫出程式?怎樣燒錄程式?微控制器是怎樣工作的?怎樣讓它能支配機器按照人的需要進行動作?

  瞭解這些之後,我們的學習就有了目標和方向。

  至於這些問題的解答,主要應該還是在圖書館或網上的各種資料中尋找!

  2、探索

  微控制器很難學,是因為其內部結構、程式語言抽象,且實際應用中與其他電子技術和元器件知識相互關聯,需結合起來一起設計進行開發。

  所以,第二階段要了解微控制器的內部結構是怎樣的?微控制器開發經常會用到哪些電子技術和元器件知識?如何將一條條程式設計指令組合成一段段有效的程式?並不斷嘗試,變換各種不同的描述方法,燒錄不同的程式觀察比較執行結果,分析出現的現象及其原因。這將給你的學習帶來很大幫助!並且,程式的成功燒錄和執行,也能極大增強你的自信!

  3、解密

  之所以微控制器能成為控制核心,設計出包羅永珍的應用系統來,是因為開發者利用了微控制器提供的種種功能及各種外設。

  因此,第三階段我們要掌握微控制器的各種功能,再加上諸如感測器、模數轉換、掃描顯示、序列、中斷的應用思維,結合更多的元器件、電子電路知識,逐個學習、體會實際的微控制器系統的祕密。

  4、遠航

  通過以上三個階段,大家基本就可掌握微控制器的應用了。但要設計出豐富的微控制器系統,解決複雜的實際問題,還需要了解更多的外設知識及其與微控制器的聯絡如電動機、各類儲存器、繼電器、紅外管等。這些需要不斷的學習和積累。有時候,接到一些開發任務,就需要你針對這個任務自覺地去搜集、學習相關知識,在實踐中不斷學習和提高。

  5、總之

  1先通過各種文獻資料瞭解基本結構,掌握必備的基礎程式設計能力;

  2買開發板動手實踐,遵從教學視訊做相應的更深一步的瞭解;

  3試著設計演算法,編寫程式,燒錄程式,執行,並分析結果;

  4對程式進行修改,同時觀察執行結果的變化,進一步瞭解微控制器的執行及控制原理,總結;

  5試著進行新的開發,在開發過程中發現並解決問題,分析總結相應元件的學習套路,才能不斷進步!

  微控制器程式設計知識問答

  1. C語言和組合語言在開發微控制器時各有哪些優缺點?

  答:組合語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是佔用資源少、程式執行效率高。但是不同的CPU,其組合語言可能有所差異,所以不易移植。

  C語言是一種結構化的高階語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是佔用資源較多,執行效率沒有彙編高。

  對於目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯後,會變成很多條機器碼,很容易出現ROM空間不夠、堆疊溢位等問題。

  而且一些微控制器廠家也不一定能提供C編譯器。而組合語言,一條指令就對應一個機器碼,每一步執行什么動作都很清楚,並且程式大小和堆疊呼叫情況都容易控制,除錯起來也比較方便。所以在微控制器開發中,我們還是建議採用組合語言比較好。

  如果對微控制器C語言有興趣,HOLTEK的微控制器就有提供C編譯器,可以到HOLTEK的網站免費下載使用。

  2. C或組合語言可以用於微控制器,C++能嗎?

  答:在微控制器開發中,主要是彙編和C,沒有用C++的。

  3. 搞微控制器開發,一定要會C嗎?

  答:組合語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是佔用資源少、程式執行效率高。但是不同的CPU,其組合語言可能有所差異,所以不易移植。

  對於目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯後,會變成很多條機器碼,很容易出現ROM空間不夠、堆疊溢位等問題。而且一些微控制器廠家也不一定能提供C編譯器。而組合語言,一條指令就對應一個機器碼,每一步執行什麼動作都很清楚,並且程式大小和堆疊呼叫情況都容易控制,除錯起來也比較方便。所以在資源較少微控制器開發中,我們還是建議採用組合語言比較好。

  而C語言是一種編譯型程式設計語言,它兼顧了多種高階語言的特點,並具備組合語言的功能。C語言有功能豐富的庫函式、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。C語言是一種結構化程式設計語言,它支援當前程式設計中廣泛採用的由頂向下結構化程式設計技術。

  此外,C語言程式具有完善的模組程式結構,從而為軟體開發中採用模組化程式設計方法提供了有力的保障。因此,使用C語言進行程式設計已成為軟體開發的一個主流。用C語言來編寫目標系統軟體,會大大縮短開發週期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、效能更完備的系統。

  綜上所述,用C語言進行微控制器程式設計是微控制器開發與應用的必然趨勢。所以作為一個技術全面並涉足較大規模的軟體系統開發的微控制器開發人員最好能夠掌握基本的C語言程式設計。

  4. 當開發一個較複雜而又開發時間短的專案時,用C還是用匯編開發好?

  答:對於複雜而開發時間緊的專案時,可以採用C語言,但前提是要求對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支援的資料型別和演算法。雖然C語言是最普遍的一種高階語言,但不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模組的操作上。如果對這些特性不瞭解,那除錯起來就有的煩了,到頭來可能還不如用匯編來的快。

  5. 在教學中要用到8088和196晶片微控制器教材,請問那裡可以找到關於這方面的書或資料?

  答:有關這方面的教材,大學裡常用的一本是《IBM-PC組合語言程式設計》清華大學出版社出版的,在網上以及書店都是可以找到的,另外網上還可以搜尋到很多其他的教材如:《微機原理及組合語言教程》楊延雙 張曉冬 等編著 和《16/32 位微機原理、組合語言及介面技術》作者: 鍾曉捷 陳濤 ,機械工業出版社 出版等,可以在較大型的科技書店裡查詢或者直接從網上訂購。

  6. 初學者到底是應該先學C還是彙編?

  答:對於微控制器的初學者來說,應該從彙編學起。因為組合語言是最接近機器碼的一種語言,可以加深初學者對微控制器各個功能模組的瞭解,從而打好紮實的基礎。

1.如何系統有效的學習程式設計知識

2.如何正確有效的學習安卓程式設計

3.如何系統有效的學習java程式設計

4.如何才能有效的學習程式語言

5.如何系統有效的學習android程式設計