無處不在的嵌入式技術已經應用到信息社會的方方面面,其中,嵌入式微控制器因其體積小、可靠性高、功能強、靈活方便等特點,在這個萬物互聯的時代扮演著越來越重要的角色。嵌入式技術的標志就是用某種語言(如Ada、C/C++、Modula-2等)在嵌入式軟硬件開發環境中進行開發。區別于傳統的通用計算架構,嵌入式運行的是固化的軟件,用術語表示就是固件(firmware),終端用戶很難或者不可能改變固件。
微控制器就是最能體現嵌入式系統將軟件和硬件緊密結合在一起的典型應用,它充分發揮了軟件和硬件的各自優勢,開發者不僅需要將軟件的程序執行在特定的硬件和相關輔助電路上呈現出實際效果,還需要通過調節、變換軟件指令,實現對有限的硬件資源進行最大化的利用,并采用相同的硬件結構滿足不同用戶的特定需求??梢哉f,如果把嵌入式系統的任務比作一個人,那么軟件就是我們的意識和思維,硬件就是我們的軀體和四肢,軟件和硬件是組成整個嵌入式系統不可或缺的兩個部分。
我們在前面的芝識課堂中介紹了微控制器的硬件電路基礎及其歷史和五個要素,今天我們帶大家一起走進微控制器的核心控制部分,即控制微控制器運作的軟件和實際進行任務執行的硬件。如前面分析可知,在一個典型的嵌入式微控制器為核心的系統中,軟件和硬件的作用是相輔相成密不可分的,要實現完整的產品系統,需要將硬件(即設備本身)與運行其功能的軟件(程序)相結合,才能實現涉及的目標。
我們可以通過具體的應用案例來分析微控制器軟硬件的配合分工。在一個典型的電飯煲應用中,嵌入式微控制器作為核心硬件,通過輸出不同的信號,指揮著整個系統硬件執行不同的功能,在軟件方面,通過編寫程序,并將程序嵌入到微控制器中,對電飯煲進行控制。比如通過輸出10000110代表顯示煮飯的時間,輸出00010001代表開始煮飯的過程,10001000代表煮飯時間結束關掉加熱,而用10101010顯示煮飯的實際米量等……針對不同功能的電飯煲,開發者可以通過更改程序,輕松地進行功能的增減,而無需改動電飯煲的硬件設計,從而讓整個硬件方案變得更為普適。
那么微控制器的操作機制是怎么樣的呢?我們可以從下圖中看到,程序操作微控制器時,CPU讀取寫入存儲器中的程序,并根據指令工作,具體的流程如下:
1. CPU從指定的存儲器地址讀取指令;
2. 其指令在CPU中被解密;
3. 它按照指令工作。(在右側下面的示例中,執行“數據輸出到輸出端口”)
這樣,如果完成一個任務,就從存儲器中的下一個地址讀取下一條指令,然后,微控制器重復1到3的操作。
現在我們知道微控制器是通過預先編寫的程序來進行信號輸出,從而指揮系統實現不同的功能。那么,控制硬件的程序又是如何編寫的呢?在下期的芝識課堂中,我們將給大家詳細介紹微控制器的編程語言,敬請期待哦!
來源:東芝半導體
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理
審核編輯 黃宇
-
微控制器
+關注
關注
48文章
7542瀏覽量
151316 -
嵌入式
+關注
關注
5082文章
19104瀏覽量
304829
發布評論請先 登錄
相關推薦
評論