『壹』 51單片機中MOV A,DPTR能這么使用嗎DPTR是屬於直接定址還是間接定址
它是一個只對A累加器有用的十六位地址指針,也就是可用它可只對A累加器進行間接定址。這DPTR是一個十六位的寄存器,而A累加器是八位的,可它可分成二個八位的分別為DPH和DPL,如你想傳送或何存它時就可分別用傳DPH和DPL用二次分別傳送或用二個八位RAM分別保存。
『貳』 單片機里的 DPTR 和 PC 分別代表什麼
DPTR數據指針
數據指針(DPTR)是某些單片機中一個功能比較特殊的寄存器,是一個16位的特殊功能寄存器, 其高位位元組寄存器用DPH表示,低位位元組寄存器用DPL表示,DPTR既可以作為一個16位的寄存器來處理,也可以作為兩個獨立的8位寄存器來使用。主要功能是存放16位地址,作為片外RAM定址用的地址寄存器(間接定址),故稱數據指針,也可以將外部RAM中地址的內容傳送到內部RAM的地址所指向的內容中。
2. PC程序指針:
PC——程序計數器,功能:用來指示下一條指令的地址(邏輯地址即偏移量),一般情況下,系統指示對其進行加1操作,擔當遇到轉移指令,如JMP,CALL,LOOP等時系統就會將跳轉到的指令地址保存在PC中
『叄』 mcs-51單片機的數據指針DPTR是一個16位的專用地址指針寄存器,主要用來做什麼
如果是用c語言編程,可以不必注意這些問題,因為編程軟體會自動幫你分配,也不容易出錯!!
數據指針DPTR是80C51中一個功能比較特殊的寄存器。從結構DPTR是一個16位的特殊功能寄存器, 其高位位元組寄存器用DPH表示,低位位元組寄存器用DPL表示,DPTR既可以作為一個16位的寄存器來處理,也可以作為兩個獨立的8位寄存器來使用。主要功能是存放16位地址,作為片外RAM定址用的地址寄存器(間接定址),故稱數據指針。
訪問片外數據存儲器的指令為:
MOVX A,@DPTR 讀
MOVX @DPTR,A 寫
DPTR的另一個作用是變址定址,訪問程序存儲器,做查表指令:如:
以dptr為基址寄存器,將dptr的內容與累加器a的內容相加得到變址地址
movc a, @a+dptr ; (a)<-----((a)+(dptr))
『肆』 51單片機的指令PC和DPTR有什麼區別和聯系
PC寄存器是單片機的指令指針寄存器,它裡面的內容是下一條指令的地址,直接使用極易造成程序混亂而且極有可能達不到你預先的效果;
DPTR是一個16位的特殊功能寄存器, 其高位位元組寄存器用DPH表示,低位位元組寄存器用DPL表示,DPTR既可以作為一個16位的寄存器來處理,也可以作為兩個獨立的8位寄存器來使用
『伍』 單片機MCS51的DPTR
這個指令是把外部存儲單元的地址——》DPTR
movc a,@a+DPTR 才是把地址為a+DPTR 的外部程序存儲器內容給a
movx a,@dptr才是把地址為DPTR 的外部數據存儲器內容給a
movx @dptr,a才是把a內容給地址為DPTR 的外部數據存儲器
『陸』 單片機中數據指針DPTR用法的概括
在Intel MCS-51 單片機結構中 16位DPTR 寄存器能對存貯區內的各個部分進行定址使用 DPTR 定址存貯器的指令如下所示:
MOVX @DPTR,A ; 將累加器 A 的內容送到由 DPTR 定址的數據存貯區內
MOVX A @DPTR ;將由 DPTR 定址的數據存貯區內的內容送到累加器 A
805 1結構用腳 PSEN和RD 分別選通程序存貯器 只讀 和數據存貯器 MOVX 指令訪問數據存貯器(例如RD腳 數據存貯器一般是指 RAM 或存儲映像 I/O
MOVC A @DPTR ;將由 DPTR 定址的程序存貯區內的內容送到累加器 A
MOVC 指令通過訪問程序存貯器 例如PSEN 腳,以存取只讀常數(例如:數據表字元串) 程序存貯器一般是指 ROM 或EPROM
JMP @A+DPTR 轉移到由 DPTR和A 的內容相加形成的地址處
相加形成的地址送 PC寄存器 DPTR 和A 都沒有改變 這條指令常用於執行 查表功能在表內 DPTR指向表的基址 變址由A 表示,操作DPTR的指令如下所示:
INC DPTR DPTR加1
MOV DPTR #16 將16 位立即數送到 DPTR
然而DPTR 也與其他 CPU 寄存器如 A B PSW 一樣被操縱為特殊功能寄存器 SFR
所有特殊功能寄存器通過各種指令 例如 PUSH 和MOV 存取位元組 並採用 直接定址方
式
16 位DPTR可被映像成兩個特殊功能寄存器 用於位元組定址 這兩個特殊功能寄存
器即為DPH 高位位元組 地址為 83H 和DPL 低位位元組 地址為 82H 指令如下
MOV DPTR #1234H 用立即數1234H裝載DPTR
其功能等同於執行下面兩條程序 但執行程序的時間和程序大小不相等
MOV DPH #12H 將立即數12H送到 DPTR 高位元組 83H
MOV DPL #34H 將立即數 34H 送到 DPTR 低位元組 82H
『柒』 51單片機執行以下語句後DPTR的內容為什麼是39H
DPTR載入的其實是TAB的起始地址。
MAIN從0030H開始,後面5行指令,依次是2位元組、3位元組、1位元組、1位元組、2位元組,所以TAB的起始地址是 0030H+2H+3H+1H+1H+2H = 0039H。
『捌』 51單片機中程序指針PC和數據指針DPTR各自有什麼用途電路復位後,二者的值各是多 少
程序計數器PC(program Counter)
程序計數器在物理上是獨立的,它不屬於特殊內部數據存儲器塊中。PC是一個16位的計數器,
用於存放一條要執行的指令地址,定址范圍為64kB,PC有自動加1功能,即完成了一條指令的執行後,其內容自動加1。PC本身並沒有地址,因而不可定址,用戶無法對它進行讀寫,但是可以通過轉移、調用、返回等指令改變其內容,以控製程序按我們的要求去執行。
復位後為0000H(16位)
數據指針(DPTR)
數據指針為16位寄存器,編程時,既可以按16位寄存器來使用,也可以按兩個8位寄存器來使用,即高位位元組寄存器DPH和低位位元組DPL。
DPTR主要是用來保存16位地址,當對64kB外部數據存儲器定址時,可作為間址寄存器使用,此時,使用如下兩條指令:
MOVX A, @DPTR
MOVX @DPTR, A
在訪問程序存儲器時,DPTR可用來作基址寄存器,採用基址+變址定址方式訪問程序存儲器,這條指令常用於讀取程序存儲器內的表格數據。
MOVC A, @A+@DPTR
復位後為0000H(16位)
『玖』 51單片機裡面的地址指針DPTR和工作寄存器組有什麼作用都有一些什麼樣的功能都用在什麼地方
DPTR一般用於查表或訪問外部RAM或ROM.
工作寄存器組用於中斷時保存現場。
『拾』 mcs51單片機中,dptr和sp分別是()的寄存器。a、dptr和sp均為8位 b、dptr為8
選擇A
sp是8位的寄存器
匯編語言中SP是堆棧寄存器。堆棧——是一段按照後進先出(LIFO)原則組織起來的連續存儲區域。用於程序保存或恢復數據,或用於子程序調用及中斷響應時保護與恢復現場。SP是堆棧指針寄存器,存放著當前堆棧棧頂地址。
一般情況下,對SP有影響的指令,對SP的操作都是隱式的,就是說SP並不出現在指令操作數當中。
例如:
PUSH AX;累加器AX的內容壓棧保存,(SP)=(SP)-2
POP BX;堆棧內保存的累加器AX的內容彈出到BX寄存器中,(SP)=(SP)+2
使用PUSH、POP指令使用堆棧,要注意進出棧的匹配,否則將引起不可預期的後果。