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

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

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

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

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

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