《單片機(jī)原理及工程應(yīng)用》課件-第3章 指令系統(tǒng)與編程技術(shù)(第1次課)_第1頁
《單片機(jī)原理及工程應(yīng)用》課件-第3章 指令系統(tǒng)與編程技術(shù)(第1次課)_第2頁
《單片機(jī)原理及工程應(yīng)用》課件-第3章 指令系統(tǒng)與編程技術(shù)(第1次課)_第3頁
《單片機(jī)原理及工程應(yīng)用》課件-第3章 指令系統(tǒng)與編程技術(shù)(第1次課)_第4頁
《單片機(jī)原理及工程應(yīng)用》課件-第3章 指令系統(tǒng)與編程技術(shù)(第1次課)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1常用51單片機(jī)最小系統(tǒng)XTAL1XTAL2RSTT30PF10μF5KAT89C52GNDVCCVCC30PFVCC100RESET2指令的描述形式有三種:機(jī)器語言匯編語言高級語言3第3章

指令系統(tǒng)與編程技術(shù)43.151系列單片機(jī)指令系統(tǒng)概述指令就是我們給計(jì)算機(jī)下達(dá)的計(jì)算機(jī)能夠讀懂的指示和命令。計(jì)算機(jī)所有指令的集合稱為指令系統(tǒng),它是表征計(jì)算機(jī)性能的重要標(biāo)志,指令系統(tǒng)越豐富,說明CPU的功能越強(qiáng)。

551系列單片機(jī)指令特點(diǎn)及分類6[標(biāo)號:]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]

標(biāo)號必須以字母開頭,其后跟1~8個(gè)字母或數(shù)字,并以“:”結(jié)尾匯編語言指令格式7指令中用到的符號(1)Ri和Rn:R表示當(dāng)前工作寄存器區(qū)中的工作寄存器,i表示0或1,即R0或R1。n表示0~7,即R0~R7,當(dāng)前工作寄存器的選定是由PSW的RSl和RS0位決定的。(2)#data:#表示立即數(shù)符號,data為8位立即數(shù)。#data是指包含在指令中的8位立即數(shù)。(3)#datal6:包含在指令中的16位立即數(shù)。(4)rel:相對地址,以8位補(bǔ)碼形式表示的地址偏移量,范圍為-128~+127,主要用于無條件相對短轉(zhuǎn)移指令SJMP和所有的條件相對轉(zhuǎn)移指令中。8(5)addrl6:16位目的地址。目的地址可在全部程序存儲器的64KB空間范圍內(nèi),主要用于無條件長轉(zhuǎn)移指令LJMP和子程序長調(diào)用指令LCALL中。

(6)addrll:11位目的地址。目的地址應(yīng)與下條指令處于相同的2KB程序存儲器地址空間范圍內(nèi),主要用于絕對轉(zhuǎn)移指令A(yù)JMP和子程序絕對調(diào)用指令A(yù)CALL指令中。

(7)direct:表示直接尋址的地址,即8位內(nèi)部數(shù)據(jù)存儲器RAM的單元地址(0~127/255),或特殊功能寄存器SFR的地址。指令中用到的符號9(8)bit:內(nèi)部數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR中的可直接尋址的位地址。

(9)@:間接尋扯寄存器或基地址寄存器的前綴,如@Ri,@DPTR,表示寄存器間接尋址。

指令中用到的符號10指令長度和指令周期指令長度是指指令的機(jī)器代碼所占存儲單元的字節(jié)數(shù)。11

指令周期是指CPU執(zhí)行一條指令所花費(fèi)的時(shí)間。由于執(zhí)行不同的指令所需要的時(shí)間長短不同,因此通常是以指令消耗的機(jī)器周期數(shù)為依據(jù)來確定指令周期的。

51系統(tǒng)中,一個(gè)指令周期通常含1~4個(gè)機(jī)器周期,大多數(shù)指令是單字節(jié)、單機(jī)器周期指令,還有一些指令是單字節(jié)、雙周期指令和雙字節(jié)、雙周期指令,而乘法指令MUL和除法指令DIV都是單字節(jié)四周期指令。

指令長度和指令周期123.251系列單片機(jī)尋址方式

指令獲得操作數(shù)、操作數(shù)所在的地址或轉(zhuǎn)移地址的方式稱為尋址方式。為了描述方便,對于有目的操作數(shù)和源操作數(shù)的雙操作數(shù)指令,在無特別聲明的情況下,某條指令的尋址方式一般是指源操作數(shù)的尋址方式。

13

51系列單片機(jī)有7種尋址方式。分別為:立即尋址、寄存器尋址、直接尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。14立即尋址

立即尋址是指CPU能夠立即得到操作數(shù)的一種尋址方式,它只適應(yīng)對源操作進(jìn)行尋址。

在立即尋址方式中,源操作數(shù)直接出現(xiàn)在指令中,跟在操作碼的后面,作為指令的一部分與操作碼一起存放在程序存儲器內(nèi),CPU可以立即得到源操作數(shù)并執(zhí)行,不需要另去寄存器或存儲器尋找和讀取操作數(shù),故稱為立即尋址。15

立即尋址中,該操作數(shù)稱為立即數(shù),并在其前冠以“#”號作前綴,表示并非地址。

若立即數(shù)以十六進(jìn)制數(shù)據(jù)表示時(shí),應(yīng)以H為后綴,當(dāng)數(shù)據(jù)以A~F開頭時(shí)必須加前導(dǎo)0。

十進(jìn)制數(shù)據(jù)可不帶后綴。立即數(shù)長度可以是8位或16位。立即尋址16MOVR0,#16H;(R0)←16H,其機(jī)器碼為78H16H。MOVR1,#16;(R1)←10H,其機(jī)器碼為79H10H。MOVA,#0C0H;(A)←C0H,其機(jī)器碼為74HC0H。MOVDPTR,#2510H;(DPTR)←2510H,其機(jī)器碼為90H25H10H立即尋址示例第1個(gè)符號為字母時(shí),應(yīng)在字母前加017寄存器尋址將操作數(shù)存放于某寄存器中,CPU執(zhí)行指令時(shí)從寄存器中取出操作數(shù),以完成指令規(guī)定的操作,稱為寄存器尋址。例如:MOVA,R0;(A)←(R0)

ADDA,R1;(A)←(A)+(R1)18直接尋址

指令中直接給出操作數(shù)所在的存儲單元的地址,供指令讀取數(shù)據(jù)或存儲數(shù)據(jù),把這這種尋址方式稱為直接尋址。

例如:MOVA,30H;(A)←(30H)19寄存器間接尋址

在指令中指定某一個(gè)寄存器的內(nèi)容作為操作數(shù)的地址,而該地址指定單元中的內(nèi)容便是操作數(shù)。這種尋址方法稱為寄存器間接尋址方式,簡稱寄存器間址,也稱為間接尋址方式。通常將用來存放操作數(shù)地址的寄存器稱為指針。20

MCS-51中,用于間接尋址的寄存器有R0、R1、數(shù)據(jù)指針寄存器DPTR和堆棧指針SP。用R0、R1或DPTR作為地址指針寄存器時(shí),應(yīng)在寄存器符號前加前綴“@”,用于表示間接尋址。例如:MOVA,@R0;(A)←((R0))寄存器間接尋址21變址尋址

變址尋址是將基址寄存器與變址寄存器的內(nèi)容相加,其結(jié)果作為操作數(shù)地址的一種尋址方式。它以數(shù)據(jù)指針DPTR或程序計(jì)數(shù)器PC作為基址寄存器,累加器A作為變址寄存器,兩者的內(nèi)容相加形成16位的程序存儲器地址,該地址就是操作數(shù)所在地址。

例如:MOVCA,@A+DPTR;(A)←((A)+(DPTR))

22相對尋址

相對尋址是以當(dāng)前程序計(jì)數(shù)器PC的值加上指令規(guī)定的偏移量rel構(gòu)成實(shí)際操作數(shù)地址的尋址方法。相對尋址用來訪問程序存儲器,常用于相對轉(zhuǎn)移指令中。例如:JZrel

通常是用標(biāo)號23偏移量rel是有符號的單字節(jié)數(shù),以補(bǔ)碼表示,其相對值的范圍是-128~+127,負(fù)數(shù)表示從當(dāng)前地址向前轉(zhuǎn)移,正數(shù)表示從當(dāng)前地址向后轉(zhuǎn)移。所以,相對轉(zhuǎn)移指令滿足轉(zhuǎn)移條件后,轉(zhuǎn)移的地址(目的地址)應(yīng)為:目的地址=當(dāng)前PC值+rel=源地址+轉(zhuǎn)移指令字節(jié)數(shù)+rel相對尋址24位尋址

位尋址是指令中可以直接給出位地址,CPU按位進(jìn)行訪問的一種尋址

溫馨提示

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

評論

0/150

提交評論