以下是我在網上找到的一篇 HOLTEK 公司技術人員寫的一篇有關單片機的文章既適合初學者又對已經熟練的人員有很好的啟示,HOLTEK 公司的單片機也很好用,具體的可以參考他們公司的網站,這里是轉載一篇,謹對作者表示敬意!
1. C 語言和匯編語言在開發單片機時各有哪些優缺點?
答: 匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少、程序執行效率高。但是不同的 CPU,其匯編語言可能有所差異,所以不易移植。 C 語言是一種結構化的高級語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執行效率沒有匯編高。
對于目前普遍使用的 RISC 架構的 8bit MCU來說,其內部 ROM、RAM、STACK等資源都有限,如果使用 C 語言編寫,一條 C 語言指令編譯后,會變成很多條機器碼,很容易出現 ROM 空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供 C 編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什幺動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在單片機開發中,我們還是建議采用匯編語言比較好。
對于目前普遍使用的 RISC 架構的 8bit MCU來說,其內部 ROM、RAM、STACK等資源都有限,如果使用 C 語言編寫,一條 C 語言指令編譯后,會變成很多條機器碼,很容易出現 ROM 空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供 C 編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什么動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在資源較少單片機開發中,我們還是建議采用匯編語言比較好。 而 C 語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C 語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性, 而且可以直接實現對系統硬件的控制。 C 語言是一種結構化程序設計語言,它支持當前程序設計中廣泛采用的由頂向下結構化程序設計技術。此外,C 語言程序具有完善的模塊程序結構,從而為軟件開發中采用模塊化程序設計方法提供了有力的保障。因此,使用 C 語言進行程序設計已成為軟件開發的一個主流。用 C 語言來編寫目標系統軟件,會大大縮短開發周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而研制出規模更大、性能更完備的系統。