A. 單片機中立即定址和直接定址有什麼區別
立即定址:是把一個「常數」送到指定位置。
直接定址:是把一個「變數」送到指定位置。
打個比方吧,
立即定址:就是自己當場付現金;
直接定址:就是用別人的錢包抵賬。
B. 80c51單片機有幾種定址方式,各涉及那些存儲空間
答: 80C51 有七種定址方式:
1、立即定址,定址空間為ROM;
2、直接定址,定址空間為片內RAM的低128B和特殊功能寄存器;
3、寄存器定址,定址空間為A、B、DPTR、CY、通用工作寄存器等;
4、寄存器間接定址,片內RAM低128B、片外RAM;
5、相對定址,定址空間為ROM; .
6、變址定址,定址空間為ROM;
7、位定址,定址空間為片內RAM低128B的位尋鬧前尺址區的128個位,其位元組地址為20H~2FH; 以及部分可以位定址的特殊功能寄存器。
(2)單片機立即定址和直接定址的差別擴展閱讀
指令的定址方式有以下兩種:
1、順序定址方式
由於指令地址在內存中按順序安排,當執行一段程序時,通常是一條指令接一條指令地順序進行。悔態也就是說,從存儲器取出第1條指令,然後執行這條指令;接著從存儲器取出第2條指令,再執行第二條指令;接著再取出第3條指令。
這種程序順序執行的過程,液高稱為指令的順序定址方式。為此,必須使用程序計數器(又稱指令計數器)PC來計數指令的順序號,該順序號就是指令在內存中的地址。
2、跳躍定址方式
當程序轉移執行的順序時,指令的定址就採取跳躍定址方式。所謂跳躍,是指下條指令的地址碼不是由程序計數器給出,而是由本條指令給出。注意,程序跳躍後,按新的指令地址開始順序執行。因此,程序計數器的內容也必須相應改變,以便及時跟蹤新的指令地址。
C. 51單片機的定址方式及各自對應的定址空間有哪些CPU響應中斷時,中斷入口地址各是多少
立即定址:對應著程序存儲器ROM
直接定址:對應片內數據存儲器低128B
寄存器定址:對應片數據存儲器中的特殊功能寄存器,主要是R0-R7,A,B,^
寄存器間接定址:對應數據存儲器(片內,片外)
相對定址:ROM
變址定址:ROM
位定址:片內可以位定址的寄存器及位定址區(片內RAM20-2FH)
中斷入口地址:
外部中斷0:0003H
定時計數器0:000BH
外部中斷1:0013H
定時計數器1:001BH
串口:0023H
D. mcs-51單片機有哪幾種定址方式
51單片機有7種定址方式:
1、立即定址方式
採用立即定址的指令一般是雙位元組的。第一個位元組是指令的操作碼,第二個位元組是立即數。因此,操作數就是放在程序存儲器中的常數。立即數前面應加前綴「#」號。
2、直接定址方式
採用直接定址的指令一般是雙位元組或三位元組指令,第一位元組為操作碼,第二,三位元組為操作數的地址碼。單片機中,直接地址只能用來表示片內低128位元組單元、專用寄存器和片內RAM的位地址空間。其中專用寄存器和位地址空間只能用直接定址方式來訪問。
3、寄存器定址方式
寄存器定址方式用於訪問選定的工作寄存器R0~R7、A、B、DPTR和進位CY中的數。其中R0~R7由操作碼低三位的8種組合表示,A、B、DPTR、C則隱含在操作碼之中。
4、寄存器間接定址方式
這種定址方式中,指令指定寄存器中的內容為操作數的地址。寄存器間接定址是用於訪問片內數據存儲器或片外數據存儲器。當訪問片內RAM
或片外的低256位元組空間時,可用R0或R1做為間址寄存器;當訪問片外整個64KB的地址RAM空間時,用16位寄存器DPTR做間址寄存器。這類指令都為單位元組的指令,操作碼的最低位表示是採用R0還是R1做間址器。
(4)單片機立即定址和直接定址的差別擴展閱讀:
51單片機功能特性
1,可以模擬63K程序空間,接近64K的16位地址空間;
2,可以模擬64Kxdata空間,全部64K的16位地址空間;
3,可以真實模擬全部32條IO腳;
4,完全兼容keilC51UV2調試環境,可以通過UV2環境進行單步,斷點,全速等操作;
5,可以使用C51語言或者ASM匯編語言進行調試;
6,可以非常方便地進行所有變數觀察,包括滑鼠取值觀察,即滑鼠放在某變數上就會立即顯示出它此的值;
7,可選使用用戶晶振,支持0-40MHZ晶振頻率;
8,片上帶有768位元組的xdata,您可以在模擬時選使用他們,進行xdata的模擬;
9,可以模擬雙DPTR指針;
10,可以模擬去除ALE信號輸出.;
11,自適應300-38400bps的所有波特率通訊。
E. 51單片機六種定址方式
在深入探討51單片機的定址方式之前,我們需要明確一點,51單片機實際上擁有七種定址方式,包括寄存器定址、直接定址、立即數定址、間接定址、變址定址、相對定址以及位定址。
其中,前四種定址方式相對來說比較容易理解,但後三種則需要更深入的學習和掌握。變址定址是一種特殊的數據訪問方式,它以DPTR(直接地址寄存器)為基址,以累加器A為變址寄存器,它們的數據之和作為對ROM的訪問地址。
相對定址則是另一種特殊的數據訪問方式,它通過將當前程序計數器(PC)的值與給定的偏移量相加,來獲得新的PC值。由於PC值與程序執行的位置密切相關,因此這種定址方式是相對的。
至於位定址,它是一種針對存儲器中特定位的訪問方式。使用位定址時,需要注意不要將位地址與單元地址混淆。位地址是指特定位的位置,而單元地址則是指存儲器中的一個完整單元。
在進行位定址時,我們可以通過特定的位定址指令直接訪問存儲器中的單個位。這使得我們能夠更精確地控制硬體的狀態,提高程序的靈活性和效率。
盡管變址定址、相對定址和位定址可能看起來復雜,但它們在實際編程中卻有著廣泛的應用。通過熟練掌握這些定址方式,我們可以更好地利用51單片機的各種功能,實現更加高效和精確的程序控制。
值得注意的是,掌握這些定址方式需要一定的實踐經驗和對51單片機架構的深入理解。只有通過不斷的實踐和學習,我們才能真正掌握這些定址方式的精髓,從而更好地利用51單片機的強大功能。
通過深入理解這七種定址方式,我們可以更好地掌握51單片機的編程技巧,從而開發出更加高效和可靠的程序。
F. 請問,那位知道51單片機常用哪幾種定址方式分別在什麼情況下使用最好能舉一個例子.謝謝.
立即定址;
直接定址;
寄存器定址;
寄存器間接定址;
......
看看我的網路空間吧.
實例很多的.
G. 51系列單片機定址方式的定址方式
立即數定址,即指令中直接給出操作數的定址方式,在51系列單片機中,立即數用前面加「#」號的8位數或16位數表示。例如:MOV A, #80H;MOV DPTR, #2000H。
直接定址,指令中直接給出操作數地址(dir)的定址方式。定址對象包括內部數據存儲器和特殊功能寄存器SFR。例如:MOV A, 25H;MOV P0, #45H。
寄存器定址,以通用寄存器的內容為操作數的定址方式。通用寄存器包括A、B、DPTR、R0~R7。例如:MOV A, R0;MUL AB;MOV B, R0;PUSH ACC;ADD A, ACC。
寄存器間接定址,以寄存器中的內容為地址,該地址的內容為操作數的定址方式。能夠進行寄存器間接定址的寄存器有R0、R1、DPTR。例如:MOV @R0, A;MOVX @DPTR, A。
變址定址,由寄存器DPTR或PC中的內容加上A累加器內容之和而形成操作數地址的定址方式。變址定址只能對程序存儲器中的數據進行定址操作。例如:MOVC A, @A+DPTR;MOVC A, @A+PC。
位定址,對位地址中的內容進行位操作的定址方式。位定址只能對內部RAM和特殊功能寄存器的部分單元進行定址操作。例如:SETB 20H;MOV 32H, C。
相對定址,以當前程序計數器PC的內容為基址,加上指令給出的一位元組補碼數(偏移量)形成新的PC值的定址方式,主要用於實現程序的分支轉移。例如:SJMP 08H。