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

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

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

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

5 編程語言:匯編語言匯編語言引入了與機(jī)器語言一一對應(yīng)的符號字。指令的操作可以用字母和數(shù)字與符號進(jìn)行關(guān)聯(lián),稱為助記符。以一個(gè)用匯編語言編寫的程序?yàn)槔T诘谝恍小癓D A,0x55”中,表示0x55數(shù)據(jù)被LD(加載)到A寄存器,即轉(zhuǎn)移。 圖1.匯編語言微控制器不同,匯編語言的語法和符號也不同。因此,在使用不同的微控制器時(shí),必須學(xué)習(xí)新微控制器的匯編語言。 圖2.機(jī)器語言,因廠家而異。

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