學習開發微控制器的8個重點

2021-08-06 03:02:21 字數 1398 閱讀 4030

學習微控制器就是學習微控制器的硬體結構,內部資源與外設的應用。在c語言中(極少量的彙編)掌握各種功能的初始化,實現各種功能函式的編寫與除錯。

在大多數的微控制器實驗中,跑馬燈、按鍵檢測實驗是數字i/o的典型應用,通過將微控制器的i/o引腳位進行置位或清零來點亮或關閉led燈,讀取按鍵摁下或抬起的狀態,雖然簡單,但是這就是數位電路中的邏輯功能。

數字i/o實驗教會我們微控制器的程式設計思想,必須首先對微控制器的相應暫存器進行配置,以初始化i/o引腳,這樣才能使該引腳具備數字輸入與輸出功能。 微控制器的乙個內建或外接功能的使用,就是對該功能相關的暫存器進行設定,初始化,而這便是微控制器程式設計的特點。

微控制器都有uart介面,可以與我們pc機的rs232介面直接連線通訊,當然,因為它們兩者電平邏輯不同,必須要使用乙個rs232電平轉換晶元才能與pc機連線,例如sp3232晶元。

uart介面的使用是非常重要的,通過這個介面,我們可以使微控制器與pc機之間交換資訊,「介面」概念的學習也便由此引入。使用uart介面也會學習到目前最為簡單與常用的通訊協議等知識。我們也可以通過pc機的串列埠除錯軟體來監視到微控制器實驗板的資料。

學會定時器的使用,就可以利用微控制器來實現典型的時序邏輯電路。時序邏輯電路的應用是最強大、最廣泛的。例如,在工業的控制中,我們讓某個開關每隔1秒鐘開啟與關閉一次。

定時器是微控制器內部資源裡最為重要的乙個,更是邏輯與時間控制實現的基礎。

在微控制器軟體設計架構中,一段程式迴圈執行是其乙個特點,也是乙個弊端。每個操作指令的執行都需要一定的執行時間,如果程式沒有執行到該指令,則該指令的動作就不會觸發,這樣就會忽略許多快速發生的事件,例如方波頻率檢測的上公升沿。針對在微控制器程式正常執行時能夠對外部事件立即做出響應而設計了中斷功能。

當中斷功能執行時,微控制器優先處理中斷程式,當中斷處理完成後,再回到微控制器的正常程式執行中。中斷的機理是比較容易理解的,但是什麼時候開啟中斷,什麼時候關閉、遮蔽中斷,需要如何配置才能使能中斷的某些功能,中斷裡要執行哪些程式,這些程式的要滿足哪些要求就需要花些時間去理解與實踐了。中斷學會後,就可以編寫複雜結構功能的程式,可以一邊閃著小led燈,一邊掃瞄著按鍵,一邊傳送著資料,也可以幹著多個事情……打個比喻,中斷功能可以使微控制器吃著碗裡的,看著鍋裡的。

微控制器系統畢竟資源有限,而利用i2c、spi通訊介面進行擴充套件外設是最常用的方法,也是非常重要的方法。這兩個通訊介面都是序列通訊介面,典型的基礎實驗就是i2c的eeprom實驗與spi的sd卡讀寫實驗。

比較,捕捉與pwm功能可以使微控制器更加適合電機控制,訊號檢測,實現電機速度與步長的調節。pwm波現在又是led調光的主要手段。這裡已經初步接觸了數位電路裡的模擬電路部分。

微控制器目前基本都自帶多通道a/d模數轉換器,通過這些a/d轉換器可以微控制器獲取模擬量,用於檢測電壓、電流等訊號。學習時要分清模擬地與數字地,參考電壓,取樣時間,轉換速率,轉換誤差等重要概念。這一步學會了數位電路控制模擬電路部分,而最簡單的a/d模數轉換器就是電壓表實驗。

C語言和組合語言開發微控制器

組合語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少 程式執行效率高。但是不同的 cpu,其組合語言可能有所差異,所以不易移植。c 語言是一種結構化的高階語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機 語言。缺點是占用資源較多,執行效率沒有彙...

微控制器入門學習筆記8 STM32微控制器使用

經常會在某個qq群裡看見某人的qq暱稱的名字 不會32絕不改名 其實無論會不會,之後名稱都改了。stm32微控制器在我看來就三部分組成 各部分的初始化,中斷的使用,main函式內的程式設計。大多數人看stm32韌體庫手冊或者是stm32暫存器手冊,最後用到的其實也就是各部分的初始化。隨著時代的進步,...

51微控制器 51系列微控制器的開發模板

這個是微控制器開發的模板,下面給些注釋和思路,開發的時候其實是經常使用的,之前也不懂,參加藍橋杯之後學習到的,如果有時間和機會,會結合前輩的這些思路,再寫個stm32和嵌入式下的開發模板,這個很有利於專案的設計開發。說明 適用於stc15f2k60s2微控制器,其他的類似,只需要改動相關的定時器設定...