A. 單片機定址是什麼意思啊
【答案】:定址就是尋找操作數的地址。
80C51單片機指令系統共有七種定址方式:
1)立即定址;定址范圍:ROM 0000H~FFFFH;
2)直接定址;定址范圍:內RAM 00H~FFH;
3)寄存器定址;定址范圍:R0~R7,A,AB,DPTR,Cy;
4)寄存器間接定址;定址范圍:內RAM 00H~FFH,外RAM 0000H~FFFFH;
5)變址定址;定址范圍:ROM 0000H~FFFFH;
6)相對定址;定址范圍:ROM PC~128B~PC+127B;
7)位定址;定址范圍:內RAM 20H~2FH(位地址00H~FFH)和SFR中可定址位。
B. 單片機中的位定址是怎樣的
單片機從20H到2FH的16個位元組單元,共128位可以按位定址,對應位定址空間00H到7FH,所以位地址為40H的單元地址為40H/8+20H=28H。
另外特殊功能寄存器中,有16個可以位定址,查一下表格就行了88H對應的位元組地址也為88H。同理2AH-20H=0AH,0AH*8=50H。
單片機片內RAM的20H~2FH,這十六位元組,可以按照「位」來定址。
這裡面共有128個「位地址」,分別為00H~7FH。
例如位地址4EH,是在「位元組地址為29H的位元組單元」中的第6位。
(2)南京單片機定址擴展閱讀
單片機的RAM存儲器詳解
8051共有4組寄存器,每組8個寄存單元(各為8),各組都以R0~R7作寄存單元編號。寄存器常用於存放操作數中間結果等。由於它們的功能及使用不作預先規定,因此稱之為通用寄存器,有時也叫工作寄存器。
4組通用寄存器占據內部RAM的00H~1FH單元地址。在任一時刻,CPU 只能使用其中的一-組寄存器,並且把正在使用的那組寄存器稱之為當前寄存器組。到底是哪一-組,由程序狀態字寄存器PSW中RS1、RSO位的狀態組合來決定。
位定址區:
內部RAM的20H~2FH單元,既可作為一般RAM單元使用,進行位元組操作,也可以對單元中每一位進行位操作,因此把該區稱之為位定址區。
位定址區共有16個RAM單元,計128位,地址為00H~7FH。MCS-51具有布爾處理機功能,這個位定址區可以構成布爾處理機的存儲空間。這種位定址能力是MCS-51的一個重要特點。
C. C51單片機對位定址的原理和編程方法
原理:
位定址是一種使用單片機實現程序控制位邏輯操作的方法,通過一系列指令在單位元組的內存空間中的一個特定的位 (bit 位) 上進行操作。它用於控制亂拿只有兩狀態的I/O埠。
編程方法:
1. 用 ORL A, #data 命令將某個指定的位置位,即把單位元組內部某個指定的位置1。
2. 用 ANL A, #data 命令清除某個指定衡槐的位置位,即咐陪友把單位元組內部某個指定的位置0。
3. 用 CLR C 命令將某個指定的位置位清零,即把單位元組內指定的位置置零。
4. 用 MOV C, bit 命令將某個指定的位置位置1,即把單位元組內部某個指定的位置1。
D. mc-51單片機4種定址方式
1. 立即定址:在這種方式下,操作數直接包含在指令代碼中,位於操作碼之後,通常用「#」符號來表示。
2. 直接定址:通過使用存儲單元的地址直接找到操作數,這種方式因此得名。操作數可能位於SFR、內部RAM或位地址空間。
3. 寄存器定址:選擇R0至R7工作寄存器、累加器A、通用寄存器B或地址寄存器DPTR中的一個進行操作。
4. 寄存器間接定址:使用另一個寄存器中的地址值來確定要訪問的數據單元。
5. 變址定址(基址+變址):以DPTR或PC作為基址寄存器,累加器A作為變址寄存器。將兩者的內容相加,得到的和作為操作數的地址。
6. 相對定址:將程序計數器(PC)中的當前內容與指令的第二位元組相加,結果用於跳轉指令的目標地址。
7. 位定址:針對片內RAM的位定址區和某些可位定址的特殊功能寄存器執行位操作時的定址方式。
E. 單片機一共有多少種定址方式
51單片機有5中定址方式
F. 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做間址器。
(6)南京單片機定址擴展閱讀:
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的所有波特率通訊。
G. 單片機位定址區的作用
答:位定址區位於數據存儲器20F至2FH區間。此區間的寄存器可以位定址,可以對它們進行位操作、位運算。
主要是要注意寄存器「本身」的地址與該寄存器「每一位」對應的位地址的關系,此是最易發生錯誤之處。20H對應的位地址為20H到27H。即:20H的第零位位地址是20H,第一位位地址是21H,以此類推。21H(我指的是寄存器,不是20H的第一位位地址)的位地址是從28H到2FH;22H(寄存器)對應的位地址 30H到37H;以此類推。
明白否?
可見,某寄存器某一位的位地址有可能和另一個寄存器的直接地址重合,但在使用時對位地址操作的指令與對直接地址的操作是不同的,所以不會混淆。
在使用上可以用位地址存儲某個開關量(只有0,1兩個值),將位地址數值做邏輯運算,或傳遞給特殊功能寄存器等等。
特殊功能寄存器里有許多也可位運算。置位,置零等等。這就可以僅對該位操作而不影響其他位。
H. 單片機中的定址是什麼意思
單片機中的定址就是單片機指令中提供的操作數的形式。也就是尋找操作數或操作數所在地址的方式。
在51系列單片機中,存放數據的存儲器空間有4種:內部RAM、特殊功能寄存器SFR、外部RAM和程序存儲器ROM。其中,內部RAM和SFR統一編址,外部RAM和程序存儲器是分開編址的。為了區別指令中操作數所處的地址空間,對於不同存存儲器的數據操作,採用不同的定址方式。
(8)南京單片機定址擴展閱讀
定址方式
1、立即數定址
立即數定址又稱立即定址,即指令中直接給出操作數的定址方式稱為立即數定址。在51系列單片機指令系統中,立即數用前面加「#」號的8位數表示(#data,如#30H)或16位數(#data16,如#2052H)表示。舉例說明立即數定址方式,以傳送指令為例。
2、直接定址
指令中直接給出操作數地址(dir)的定址方式稱為直接定址。定址對象為:1 內部數據存儲器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。
3、寄存器定址
以通用寄存器的內容為操作數的定址方式稱為寄存器定址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器僅在乘法、除法指令中為寄存器定址,在其它指令中為直接定址。A寄存器可以寄存器定址,又可以直接定址(此時寫作ACC)。
直接定址和寄存器定址的差別在於,直接定址是操作數所在的位元組地址(佔一個位元組),寄存器定址是寄存器編碼出現在指令碼中。寄存器定址速度比直接定址要快。除上面所指的幾個寄存器外,其它特殊功能寄存器一律為直接定址。
參考資料來源:網路-51系列單片機定址方式
I. 單片機 定址方式
單片機有七種定址方式分別是:1.寄存器定址例如: MOV A,R0;2.直接定址例如: MOV A,4FH;3.寄存器間接定址 MOV A,@R04.立即數定址 MOV A,#0FFH5.變址定址(典型的是查表指令) MOV A,@A+DPTR6.相對定址 SJMP $7.位定址 SETB P0.0; MOV 60H,40H;是屬於直接定址;(直接用內存單元的地址來尋找對應的內容) MOV A, #58HMOV RO, #0B0HMOV @RO, AMOV 0B0H, #28H而執行完以上指令後結果是:(0B0H)=P3=28H;因為在8051單片機中P3口是特殊功能寄存器(也佔一內存)它的地址剛好是0B0H;程序的最後給0B0H賦了立即數28H;