1. 單片機中 直接定址與位定址怎麼判斷
是的,C是一個特殊寄存器---程序狀態寄存器(PSW)---中的一位Cy---進位標記位;
既然 C只是一位,那麼 mov c,20h 語句就是位定址了;
在單片機指令集中,能夠位定址的傳輸指令就只有包含 C 的指令,這個好記,自然也好判斷了;
2. 單片機I/O定址的問題
這是單片機的絕對定址方式。這樣可以把
DAC0832
當做是一個外部存取器進行操作。當單片機訪問
外部存儲器
時,單片機的一些引腳會產生一定是時序,例如ALE腳、RD腳和WD腳,而這個時序正好讓DAC0832進行D/A轉換。當要DAC0832進行D/A轉換時只需執行
DAC0832
=
Temp;這條語句就可以了,而不要去用普通引腳模擬DAC0832的時序了。
3. 單片機中的地址和相對應的定址是怎麼回事呢
地址,顧名思義,可以想像成單片機是一個又一個的寄存器組成的(當然有的是能操作的有的是不能操作的,單片機也不只是寄存器,這里為理解方便,因為定址就是針對寄存器的),每個寄存器就給他分配一個標號,就是地址。
定址,就是你來操作某一個寄存器時使用的方式,直接關繫到你可以怎麼寫程序,不同的單片機支持的定址方式不一樣,那麼結果是你的程序中可以用的操作語句不一樣。
比如有一個寄存器是存放數據用的,比如存了一個數0X55,而寄存器的地址是0XFF(這個地址是單片機固化好的),這個寄存器也會有一個名字,比如叫RST1。
想讀這個寄存器里邊的數據,需要用一個操作語句,比如說是READ(我忘了),那麼寫成READ [0XFF],就是說在語句中直接寫了這個寄存器的地址,那麼這就是直接定址。
寄存器定址,就是在操作語句中寫上寄存器的名字,比如還是上面例子,改為READ RST1就是寄存器定址。
間接定址,接上面的例子,上面的寄存器地址是0XFF,而這個地址0XFF又存在另外一個寄存器中,比如在RST2中,操作語句寫成這樣READ [RST2],意思是讀寄存器RST2里存的那個數為地址的那個寄存器裡面的數,亂吧,所以叫間接定址;間接寄存器定址。
還有一個立即數定址,比如語句MOV BX 0XAA,在這里0XAA就是代表一個數,就是把0XAA這個數寫到BX中,而不是像上例一樣代表一個地址,那麼這就叫立即數定址。
以上,其他的定址方式更為復雜,但你明白以上4種之後,其他的就好理解了。
4. 什麼是單片機定址方式
單片機的定址方式就是MCU根據指令中給出的地址信息來尋找物理地址的方式,是確定本條指令的數據地址以及下一條要執行的指令地址的方法。
5. 51單片機的定址方式
親,你好。MCS-51系列單片機定址方式共有七種:寄存器定址、直接定址、立即數定址、寄存器間接定址、變址定址、相對定址、位定址。 寄存器定址是指操作數存放在某一寄存器中,指令中給出寄存器名,就能得到操作數。 寄存器可以使用寄存器組R0~R7中某一個或其它寄存器 (A,B,DPTR等)。 在指令中直接給出操作數所在的存儲單元的地址,稱為直接定址方式。 在8051中,使用直接定址方式可訪問片內RAM的128個單元以及所有的特殊功能寄存器 (SFR),對於特殊功能寄存器,既可以使用他們的地址,也可以使用他們的名字。 MOV A, 90H ; 90H是P1口的地址。 指令操作碼後面緊跟的是一位元組或兩位元組操作數,用 # 號表示,以區別直接地址。 例如: 寄存器中的內容是一個地址,由該地址單元定址到所需的操作數.
6. 單片機中位定址和位元組定址的區別
一、作用不同:
位元組定址:把數據直接寫入當前地址,或者把當前地址的內容讀出。
位定址是位操作命令,寫入和讀出的是一個位bit變數。
二、傳遞不同:
MOV A,00H和MOV C,00H,前者是將RAM中地址為00H的8位內容傳遞給A,後者是將位定址區(20H-2FH)中的地址為00H的1位內容傳遞給C。這兩個00H不是在同一個地址。
三、命令不同:
地址本身是8位二進制,但區別是前面的命令。如果命令是位元組定址,則這個位元組就是位元組地址,相應地如果命令是位定址則這個位元組就是位地址。
(6)單片機定址理解擴展閱讀:
對位元組地址中的位地址進行定址的定址方式稱為位定址。
採用位定址方式的指令,其操作數是8位二進制數中的某一位,在指令中要給出的是內部RAM單元中的某一位,即位地址,其在指令中用bit表示。
8051單片機內部有1個可位定址區,地址為20H~2FH,共16個單元。其中每個單元中的每一位都可單獨作為操作數,共128位。如果SFR的地址值能被8整除,則該SFR也可以進行位定址。可位定址的SFR有ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON。
7. 單片機定址從物理本質上說是在做什麼
個人理解,單片機定址的本質就是根據指令解碼器解析出地址碼找到目標數據的存儲單元。
8. 單片機 定址方式
單片機有七種定址方式分別是: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;
9. 單片機中立即定址和直接定址有什麼區別
立即定址:是把一個「常數」送到指定位置。
直接定址:是把一個「變數」送到指定位置。
打個比方吧,
立即定址:就是自己當場付現金;
直接定址:就是用別人的錢包抵賬。