如何學好微控制器

2021-10-02 18:59:53 字數 2280 閱讀 8162

了解微控制器應用系統開發流程

我們學習微控制器的目的就是為了進行嵌入式系統的開發,學好微控制器首先要有乙個整體認識,下面將簡要介紹一下微控制器應用系統的開發流程,如圖1-22所示。

圖1-22 微控制器系統開發流程

(1)明確任務

分析和了解專案的總體要求,並綜合考慮系統使用環境、可靠性要求、可維護性及產品的成本等因素,制定出可行的效能指標。

(2)劃分軟、硬體功能

微控制器系統由軟體和硬體兩部分組成。在應用系統中,有些功能既可由硬體來實現,也可以用軟體來完成。硬體的使用可以提高系統的實時性和可靠性;使用軟體實現,可以降低系統成本,簡化硬體結構。因此在總體考慮時,必須綜合分析以上因素,合理地制定硬體和軟體任務的比例。

(3)確定希望使用的微控制器及其他關鍵部件

根據硬體設計任務,選擇能夠滿足系統需求並且價效比高的微控制器及其他關鍵器件,如a/d、d/a轉換器、感測器、放大器等,這些器件需要滿足系統精度、速度以及可靠性等方面的要求。

(4)硬體設計

根據總體設計要求,以及選定的微控制器及關鍵器件,利用protel等軟體設計出應用系統的電路原理圖。

(5)軟體設計

在系統整體設計和硬體設計的基礎上,確定軟體系統的程式結構並劃分功能模組,然後進行各模組程式設計。

微控制器程式語言可分為三類:

➢ 機器語言 :又稱為二進位制目標**,是cpu硬體唯一能夠直接識別的語言(在設計cpu時就已經確定其**的含義)。人們要計算機所執行的所有操作,最終都必須轉換成為相應的機器語言由cpu識別、控制執行。cpu系列不同,其機器語言**的含義也不盡相同。

➢ 組合語言 :由於機器語言必須轉換為二進位制**描述,不便於記憶、使用和直接編寫程式,為此產生了與機器語言相對應的組合語言。用組合語言編寫的程式執行速度快,占用儲存單元少,效率高。

➢ 高階語言 :高階語言具有很好的可讀性,使程式的編寫和操作都十分方便,目前廣泛使用的高階語言是c51。

組合語言和高階語言都必須被翻譯成機器語言之後才能被cpu識別。

(6)**除錯

軟體和硬體設計結束後,需要進行進行進入兩者的整合除錯階段。為避免浪費資源,在生成實際電路板之前,可以利用keil c51和proteus軟體進行系統**,出現問題可以及時修改。

(7)系統除錯

完成系統**後,利用protel等繪圖軟體,根據電路原理圖繪製pcb(printed circuit board)印刷電路板圖,然後將pcb圖交給相關廠商生產電路板。拿到電路板後,為便於更換器件和修改電路,可首先在電路板上焊接所需晶元插座,並利用程式設計器將程式寫入微控制器。

接下來將微控制器及其他晶元插到相應的晶元插座中,接通電源及其他輸入、輸出裝置,進行系統聯調,直至除錯成功。

(8)測試修改、使用者試用

經測試檢驗符合要求後,將系統交給使用者試用,對於出現的實際問題進行修改完善,系統開發完成。

微控制器學習方法**

微控制器學習的過程應該是乙個循序漸進、不斷學習、不斷積累的過程,大致分為三個階段。

第一階段:掌握開發微控制器的必備基礎知識。

首先是熟練掌握微控制器的基本原理,雖然現在微控制器廠商眾多,但各家微控制器的基本結構和原理都比較相近,例如核心結構、記憶體分配、中斷處理、定時計數、序列通訊、埠復用等一些最基本的概念和原理。除此之外,我們還需要學習模擬電子、數字電子、c語言程式開發以及原理圖和pcb(printed circuit board,印刷電路板)設計等知識。只有紮實的掌握了這些知識,在進行系統開發的時候,才能順利地進行原理設計、pcb布板、程式編寫、系統聯調等工作。

第二階段:在掌握好一款微控制器原理和應用的基礎上,開始學習其他各家微控制器,了解其獨有的功能和特點。

例如實際工作中若客戶要求低成本,那我們可以選用和泰、義隆、華邦等這類台灣晶元;如果客戶要求工業級的效能,那麼最好從pic、nec、飛思卡爾、nxp等這些歐美和日式微控制器中選擇;若要進行功耗的開發,選用msp430系列應該有一定優勢;在進行測量儀器設計的時候,c8051和aduc842這類數模混合晶元又顯得比較實用。

另外,平時要注意技術積累。在專案開發過程中將一些常用的介面程式和控制演算法整理成模組或者函式,日後若在其他的專案開發中有同樣或者接近的需求時,原程式可以直接或者進行少量改動後使用,這樣一來會節約大量開發成本。

第三階段:在實際的專案開發過程中,不斷深入研究微控制器應用技術,不斷積累應用行業的專業知識。

有了紮實的微控制器應用相關的基礎知識,並且熟悉掌握了幾款不同型別微控制器的開發方法後,對於各種實際的應用專案,往往還需要理解和掌握外圍電路相關的原理和分析方法,並結合實際的應用背景,綜合考慮各種因素,才能設計出效能最優、結構最合理的微控制器應用系統。

微控制器程式設計軟體 學好微控制器程式設計設計需要好方法!

學習微控制器的動機不外乎有四種 一是為興趣愛好而學,二是為專業而學 三是為飯碗而學 四是在工作中被逼而學。不管是哪種動機,因主修專業的不同以及電子基礎的深淺不同,對於不同的人可能採用不同的學習方法,根據筆者的親身學習經驗和教授徒弟學習的感受,提出筆者的學習方法和步驟。1.2019年第5期 微控制器與...

如何學習微控制器

在網上看到很多人想學微控制器。定義 先介紹下,什麼是微控制器,純屬個人定義,為了更好的理解 就是乙個整合度很高的,可以通過在裡面編寫程式,呼叫裡面的一些資源,然後實現想要的功能晶元,裡面整合了很多功能,如ad da 串列埠等雜七雜八的因晶元而異。如何學 一本基本的教材是必不可免的,普通51的就可以了...

如何學習微控制器

在網上看到很多人想學微控制器。定義 先介紹下,什麼是微控制器,純屬個人定義,為了更好的理解 就是乙個整合度很高的,可以通過在裡面編寫程式,呼叫裡面的一些資源,然後實現想要的功能晶元,裡面整合了很多功能,如ad da 串列埠等雜七雜八的因晶元而異。如何學 一本基本的教材是必不可免的,普通51的就可以了...