微控制器編程有兩種方法可以讓微控制器執行你所希望的操作,這兩種方法都要用到編程。第一種方法是編寫一系列微控制器可以直接編譯和執行的編碼。通常,你可以使用匯編器 ,所用的方法是用匯編語言編程 。在微處理器和微控制器剛剛出現時,這種方法是編程的主要方法,因為當時是20世紀70年代初,C語言等編程語言還沒有出現。 匯編語言由一系列人工可讀的操作碼組成,由匯編器轉換成二進制值,使微控制器可以識別并依據它操作。操作碼可以有一個或多個關聯值(叫作操作數 ),可用于字母數據值的寫入或程序中的地址跳轉到和恢復執行。 使用匯編語言編寫的程序一般都比較短小、運行迅速,且存儲效率較高,難以閱讀或修改。例如,示例11-1展示了一個匯編語言片段,功能是從輸入端口讀入一個輸入的字母。 示例11-1 匯編語言代碼片段
現在想象一下,如果匯編語言擴展到幾百行、上千行甚至上萬行會怎么樣。匯編語言書寫困難,讀起來也困難,而且還不太適合模塊化編程方法(雖然在一些規則下可以做到)。也就是說,匯編語言編程很難做好,所以它如今比較少見也就不足為奇了。雖然有些情況下,用匯編語言編寫低水平的程序也是有意義的,但C編程語言的出現為微控制器的編程提供了第二種主要方法。 C語言是一種很有趣的語言,被一些人稱作“喬裝打扮的匯編語言”,其創建者之一丹尼斯·里奇曾說“(C語言具有)匯編語言的能力,也像……匯編語言一樣方便”2 。 2 來源:Wikiquote(http://en.wikiquote.org/wiki/Dennis_Ritchie ),援引卡德·梅茨的文章“Dennis Ritchie: The Shoulders Steve Jobs Stood On”,《連線》雜志,2011年10月13日。 C語言也具有可移植性的優點。匯編語言程序只能在一種處理器上運行,但是C程序通?梢越涍^重新編譯,在多種不同的處理器上運行。大多數現代的操作系統都是用C語言(或另一種可移植語言)編寫的,只有特定的微處理器用到的一小部分機器專用程序是用匯編語言編寫的。 一個好的現代C語言編譯器產生的代碼雖然可能不像技術人員寫出的功能相同的匯編語言程序那樣緊湊、存儲效率高,不過也是很好的。編譯器產生高效緊湊的代碼的能力很大程度上取決于運行結果程序的微控制器。有的微控制器,例如最初的8051族控制器就很難運行C程序,因為內部RAM的數量有限(256字節)。其他的微控制器,例如Arduino產品中的AVR器件,操作更容易,而且含有指令,允許C編譯器產生較高效的代碼。 |
多臺電動機變頻調速恒壓供水電路 多臺電動機變頻調速恒壓供水電路如圖6-16所示。 圖6-16多臺電動機變頻調... [詳情]
一臺變頻器控制多臺并聯電動機電路 一臺變頻器控制多臺并聯電動機電路如圖6-15所示。 圖6-15一臺變頻器控... [詳情]
變極變頻調速電動機控制電路 變極變頻調速電動機控制電路如圖6-14所示。 圖6-14變極變頻調速電動機控制電... [詳情]
FR-241E變頻器控制起升機構電路 FR-241E系列變頻器控制起升機構電路如圖6-13所示。 圖6-13FR-241E系列變頻... [詳情]
風機變頻調速控制電路 風機變頻調速控制電路如圖6-12所示。 圖6-12風機變頻調速控制電路 【電路工作原理】... [詳情]