① 單片機定址范圍
16位數最大定址范圍就是64K 也就是2的16次方。如果是17位數定址范圍就是是128K
② 單片機的幾種定址方式
51單片機有7種定址方式:
1、立即數定址
2、直接定址
3、寄存器定址
4、寄存器間接定址
5、變址定址
6、位定址
7、相對定址
③ 單片機位定址
90H不是剛剛好可以被8整除嗎?
一般,都是1樓的那個說法。因為我們的腦子習慣10進制。16進制的XXX0H都可以被8整除。就像10進制的XXX0都可以被5整除一樣。
除法運算還需要再理解一下,我們做除法的時候,是這么做的:
12345÷10
1234.5
10 12345.0
-10 實際上這里在小數點前省略了3個0,說明12345減去1000個10
23 還剩2345,這里省略了45
-20 實際上這里在小數點前省略了2個0,說明2345減去200個10
34 還剩345,這里省略了5
-30 實際上這里在小數點前省略了1個0,說明345減去30個10
45 還剩45
-40 說明45減去4個10
50 還剩5.0
-50 減去5.0
0 至此算完
你會發現,除法實際上我們都是換算成減法運算的,也就是12345=10000+2000+300+40+5,然後分別減去除數。除數的放大,是因為我們比起除法來,更會算乘法,尤其是乘10。我們將除數放大1000倍再做減法,就等於減了1000次。
下面說為什麼舉例除數=10,因為通過結果我們會發現:10進制的除法中,除以10就是將小數點向左移動一位。
同樣的演算法,在2進制中也可應用。在2進制中,10進制的8,就是二進制的10×10×10即1000。如果你列式子計算,會發現,2進制中的除法運算,除以2就是將小數點向左移動1位。
而以0結尾的16進制數換算成2進制一定是XXXX0000;以8結尾的16進制數換算成2進制一定是XXXXX000。這樣,向左移動三次,即除以1000(10進制的8)後,一定還是整數。
不知道我又沒有表述清楚,希望對你有幫助。
④ 單片機中立即定址和直接定址有什麼區別
立即定址:是把一個「常數」送到指定位置。
直接定址:是把一個「變數」送到指定位置。
打個比方吧,
立即定址:就是自己當場付現金;
直接定址:就是用別人的錢包抵賬。
⑤ 單片機中位定址和位元組定址的區別
一、作用不同:
位元組定址:把數據直接寫入當前地址,或者把當前地址的內容讀出。
位定址是位操作命令,寫入和讀出的是一個位bit變數。
二、傳遞不同:
MOV A,00H和MOV C,00H,前者是將RAM中地址為00H的8位內容傳遞給A,後者是將位定址區(20H-2FH)中的地址為00H的1位內容傳遞給C。這兩個00H不是在同一個地址。
三、命令不同:
地址本身是8位二進制,但區別是前面的命令。如果命令是位元組定址,則這個位元組就是位元組地址,相應地如果命令是位定址則這個位元組就是位地址。
(5)單片機定址擴展閱讀:
對位元組地址中的位地址進行定址的定址方式稱為位定址。
採用位定址方式的指令,其操作數是8位二進制數中的某一位,在指令中要給出的是內部RAM單元中的某一位,即位地址,其在指令中用bit表示。
8051單片機內部有1個可位定址區,地址為20H~2FH,共16個單元。其中每個單元中的每一位都可單獨作為操作數,共128位。如果SFR的地址值能被8整除,則該SFR也可以進行位定址。可位定址的SFR有ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON。
⑥ 單片機 定址方式
單片機有七種定址方式分別是: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;
⑦ 單片機 間接定址 直接定址
指令中直接給出操作數地址(dir)的定址方式稱為直接定址。定址對象為:1
內部數據存儲器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。
以寄存器中的內容為地址,該地址的內容為操作數的定址方式稱為寄存器間接定址。能夠進行寄存器間接定址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器間接定址的存儲空間包括內部數據存儲器和外部數據存儲器。由於內部數據存儲器共有128位元組,因此用一位元組的R0和R1可間接定址整個空間。而外部數據存儲器最大可達64K,僅R0或R1無法定址整個空間,為此需要由P2埠提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同定址64K位元組范圍。也可用16位的DPTR寄存器間接定址64K位元組存儲空間。
其實,如果是入門的話,這些知識你不必深究,先學會怎麼應用即可,等你的知識深度到達一定層次的時候,你就會明白是什麼意思了。如果想完全了解的話,建議你去看看《微機原理》吧,上面說的很詳細,很清楚!
⑧ 單片機中的定址是什麼意思
單片機中的定址就是單片機指令中提供的操作數的形式。也就是尋找操作數或操作數所在地址的方式。
在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系列單片機定址方式
⑨ 什麼是單片機定址方式
單片機的定址方式就是MCU根據指令中給出的地址信息來尋找物理地址的方式,是確定本條指令的數據地址以及下一條要執行的指令地址的方法。