單片機(jī)指令大全_第1頁(yè)
已閱讀1頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一個(gè)單片機(jī)所需執(zhí)行指令的集合即為單片機(jī)的指令系統(tǒng)。單片機(jī)使用的機(jī)器語(yǔ)言、匯編語(yǔ)言及高級(jí)語(yǔ)言,但不管使用是何種語(yǔ)言,最終還是要“翻譯”成為機(jī)器碼,單片機(jī)才能執(zhí)行之?,F(xiàn)在有很多半導(dǎo)體廠商都推出了自己的單片機(jī),單片機(jī)種類繁多,品種數(shù)不勝數(shù),值得注意的是不同的單片機(jī)它們的指令系統(tǒng)不一定相同,或不完全相同。但不管是使用機(jī)器語(yǔ)言、匯編語(yǔ)言還是高級(jí)語(yǔ)言都是使用指令編寫(xiě)程序的。所謂機(jī)器語(yǔ)言即指令的二進(jìn)制編碼,而匯編語(yǔ)言則是指令的表示符號(hào)。在指令的表達(dá)式

2、上也不會(huì)直接使用二進(jìn)制機(jī)器碼,最常用的是十六進(jìn)制的形式。但單片機(jī)并不能直接執(zhí)行匯編語(yǔ)言和高級(jí)語(yǔ)言,都必須通過(guò)匯編器“翻譯”成為二進(jìn)制機(jī)器碼方能執(zhí)行,但如果直接使用二進(jìn)制來(lái)編寫(xiě)程序,那將十分不便,也很難記憶和識(shí)別,不易編寫(xiě)、難于辨讀,極易出錯(cuò),同時(shí)出錯(cuò)了也相當(dāng)難查找。所以現(xiàn)在基本上都不會(huì)直接使用機(jī)器語(yǔ)言來(lái)編寫(xiě)單片機(jī)的程序。最好的辦法就是使用易于閱讀和辨認(rèn)的指令符號(hào)來(lái)代替機(jī)器碼,我們常稱這些符號(hào)為助記符,用助記符的形式表示的單片機(jī)指令就是匯

3、編語(yǔ)言,為便于記憶和閱讀,助記符號(hào)通常都使用易于理解的英文單詞和拼音字母來(lái)表示。每種單片機(jī)都有自己獨(dú)特的指令系統(tǒng),那么指令系統(tǒng)是開(kāi)發(fā)和生產(chǎn)廠商定義的,如要使用其單片機(jī),用戶就必須理解和遵循這些指令標(biāo)準(zhǔn),要掌握某種(類)單片機(jī),指令系統(tǒng)的學(xué)習(xí)是必須的。MCS51共有共有111條指令,可分為條指令,可分為5類:類:[1].數(shù)據(jù)傳送類指令(共29條)[2].算數(shù)運(yùn)算類指令(共24條)[3].邏輯運(yùn)算及移位類指令(共24條)[4].控制轉(zhuǎn)移類指

4、令(共17條)[5].布爾變量操作類指令(共17條)一些特殊符號(hào)的意義一些特殊符號(hào)的意義在介紹指令系統(tǒng)前,我們先了解一些特殊符號(hào)的意義,這對(duì)今后程序的編寫(xiě)都是相當(dāng)有用的。Rn——當(dāng)前選中的寄存器區(qū)的8個(gè)工作寄存器R0—R7(n=07)。Ri——當(dāng)前選中的寄存器區(qū)中可作為地址寄存器的兩個(gè)寄存器R0和R1(i=01)direct—內(nèi)部數(shù)據(jù)存儲(chǔ)單元的8位地址。包含0—127(255)內(nèi)部存儲(chǔ)單元地址和特殊功能寄存地址。#data—指令中的8位

5、常數(shù)。#data16—指令中的16位常數(shù)。寄存器尋址對(duì)選定的8個(gè)工作寄存器R0R7進(jìn)行操作,也就是操作數(shù)在寄存器中,因此指定了寄存器就得到了操作數(shù),寄存器尋址的指令中以寄存器的符號(hào)來(lái)表示寄存器,例如:MOVAR1這條指令的意義是把所用的工作寄存器組中的R1的內(nèi)容送到累加器A中。值得一提的是工作狀態(tài)寄存器的選擇是通過(guò)程序狀態(tài)字寄存器來(lái)控制的,在這條指令前,應(yīng)通過(guò)PSW設(shè)定當(dāng)前工作寄存器組。[3].寄存器間接尋址寄存器尋址方式,寄存器中存放

6、的是操作數(shù),而寄存器間接尋址方式,寄存器中存放的則為操作數(shù)的地址,也即操作數(shù)是通過(guò)寄存器指向的地址單元得到的,這便是寄存器間接尋址名稱的由來(lái)。例如指令:MOVA@R0這條指令的意義是R0寄存器指向地址單元中的內(nèi)容送到累加器A中。假如R0=#56H,那么是將56H單元中的數(shù)據(jù)送到累加器A中。寄存器間接尋址方式可用于訪問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器。訪問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器的低256字節(jié)時(shí),可通過(guò)R0和R1作為間接寄存器。然而有必要指出

7、,內(nèi)部RAM的高128字節(jié)地址與專用積存器的地址是重疊的,所以這種尋址方式不能用于訪問(wèn)特殊功能寄存器。外部數(shù)據(jù)存儲(chǔ)器的空間為64kB,這時(shí)可采用DPTR作為間址寄存器進(jìn)行訪問(wèn),指令如下:MOVXA@DPTR這條指令的意義是與上述類似,不再贅述。[4].立即尋址立即尋址就是把操作數(shù)直接在指令中給出,即操作數(shù)包含在指令中,指令操作碼的后面緊跟著操作數(shù),一般把指令中的操作數(shù)稱為立即數(shù),因此而得名。為了與直接尋址方式相區(qū)別,在立即數(shù)前加上“#”

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論