本帖最后由 tongguan123 于 2022-6-9 16:49 編輯
第三章 微控制器的硬件和軟件 
1 軟件的作用要實現產品,需要將硬件(即設備本身)與運行其功能的軟件(程序)相結合。通過更改程序,可以輕松地進行功能的增減。以電飯煲為例,煮飯量的控制,時鐘控制,開關控制等。通過編寫程序,并將程序嵌入到微控制器中,對電飯煲進行控制。 在微控制器中運行其功能的軟件

2 軟件的執行程序操作微控制器的機制:“CPU讀取寫入存儲器中的程序,并根據指令工作。” 下面我們來看看CPU、指令和數據流。 ①.CPU從指定的存儲器地址讀取指令。 ②.其指令在CPU中被解密。 ③.它按照指令工作。(在下面的示例中,執行“數據輸出到輸出端口”) 程序操作微控制器的流程這樣,如果完成一個任務,就從存儲器中的下一個地址讀取下一條指令.然后,微控制器重復1到3的操作。 通過存儲器中的程序進行操作

3 編程語言程序由二進制數組成的,叫做“機器語言”,但它是一種人類難以處理的語言。因此,人類設計并使用了一種人類易于理解的編程語言。編程語言有匯編語言和C語言。目前,微控制器中使用的編程語言主要是C語言。 什么是編程語言?

4 編程語言:機器語言微控制器通過電信號進行操作。機器語言是一種將信號“高和低(即二進制數1和0)”組合在一起的語言,也是微控制器唯一能理解的語言。用C語言或匯編語言編寫的程序不能操作微控制器。因此,需要將用C語言或匯編語言編寫的程序轉換為機器語言。每個微控制器廠商都有一個將C語言轉換為機器語言的編譯器和一個將匯編語言轉換為機器語言的匯編器。 機器語言

5 編程語言:匯編語言匯編語言引入了與機器語言一一對應的符號字。指令的操作可以用字母和數字與符號進行關聯,稱為助記符。以一個用匯編語言編寫的程序為例。在第一行“LD A,0x55”中,表示0x55數據被LD(加載)到A寄存器,即轉移。 圖1.匯編語言微控制器不同,匯編語言的語法和符號也不同。因此,在使用不同的微控制器時,必須學習新微控制器的匯編語言。 圖2.機器語言,因廠家而異。

6 編程語言:C語言C語言是一種與人類語言密切相關的編程語言。 在第①部分 “如果aaa為6,輸入3到bbb” 在第②部分 “其他情況(aaa不是6),輸入5到ddd” 程序的指令與英語單詞非常接近。而且,即使微控制器的類型不同,C語言的語法也基本相同。因此,在為不同的微控制器編寫程序時,不需要學習新的編程語言。(*)關于C語言,ISO和ANSI共同制定了標準。*有些微控制器是例外ISO:國際標準化組織,ANSI:美國國家標準協會 C語言 |