導航:首頁 > 操作系統 > 單片機定址提問

單片機定址提問

發布時間:2022-11-18 15:49:35

① 51單片機的定址方式

親,你好。MCS-51系列單片機定址方式共有七種:寄存器定址、直接定址、立即數定址、寄存器間接定址、變址定址、相對定址、位定址。 寄存器定址是指操作數存放在某一寄存器中,指令中給出寄存器名,就能得到操作數。 寄存器可以使用寄存器組R0~R7中某一個或其它寄存器 (A,B,DPTR等)。 在指令中直接給出操作數所在的存儲單元的地址,稱為直接定址方式。 在8051中,使用直接定址方式可訪問片內RAM的128個單元以及所有的特殊功能寄存器 (SFR),對於特殊功能寄存器,既可以使用他們的地址,也可以使用他們的名字。 MOV A, 90H ; 90H是P1口的地址。 指令操作碼後面緊跟的是一位元組或兩位元組操作數,用 # 號表示,以區別直接地址。 例如: 寄存器中的內容是一個地址,由該地址單元定址到所需的操作數.

② 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做間址器。

(2)單片機定址提問擴展閱讀:

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的所有波特率通訊。

③ 8051 單片機 定址問題。 設A=40H,執行指令 1000H:MOVC A,@A+PC後,把存儲器_______單元內容送入累加器A.

把存儲器1041H的單元內容送到A.
解題過程沒有什麼復雜的,只是有一個陷井而已。
1000H:MOVC A,@A+PC

大家都會認為,執行這條的時候,PC的數值應該是 1000H,其實是錯誤的,是1001H,因為指令MOVC A,@A+PC本身佔有一個位元組的地址空間,這條指令的位置才是1000H

④ 單片機中的定址是什麼意思

單片機中的定址就是單片機指令中提供的操作數的形式。也就是尋找操作數或操作數所在地址的方式。

在51系列單片機中,存放數據的存儲器空間有4種:內部RAM、特殊功能寄存器SFR、外部RAM和程序存儲器ROM。其中,內部RAM和SFR統一編址,外部RAM和程序存儲器是分開編址的。為了區別指令中操作數所處的地址空間,對於不同存存儲器的數據操作,採用不同的定址方式。

(4)單片機定址提問擴展閱讀

定址方式

1、立即數定址

立即數定址又稱立即定址,即指令中直接給出操作數的定址方式稱為立即數定址。在51系列單片機指令系統中,立即數用前面加「#」號的8位數表示(#data,如#30H)或16位數(#data16,如#2052H)表示。舉例說明立即數定址方式,以傳送指令為例。

2、直接定址

指令中直接給出操作數地址(dir)的定址方式稱為直接定址。定址對象為:1 內部數據存儲器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。

3、寄存器定址

以通用寄存器的內容為操作數的定址方式稱為寄存器定址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器僅在乘法、除法指令中為寄存器定址,在其它指令中為直接定址。A寄存器可以寄存器定址,又可以直接定址(此時寫作ACC)。

直接定址和寄存器定址的差別在於,直接定址是操作數所在的位元組地址(佔一個位元組),寄存器定址是寄存器編碼出現在指令碼中。寄存器定址速度比直接定址要快。除上面所指的幾個寄存器外,其它特殊功能寄存器一律為直接定址。

參考資料來源:網路-51系列單片機定址方式

⑤ 單片機I/O定址的問題

這是單片機的絕對定址方式。這樣可以把
DAC0832
當做是一個外部存取器進行操作。當單片機訪問
外部存儲器
時,單片機的一些引腳會產生一定是時序,例如ALE腳、RD腳和WD腳,而這個時序正好讓DAC0832進行D/A轉換。當要DAC0832進行D/A轉換時只需執行
DAC0832
=
Temp;這條語句就可以了,而不要去用普通引腳模擬DAC0832的時序了。

⑥ 單片機定址方式提問

MCS-51單片機有21個特殊功能寄存器,它們的地址是離散的分布在在80H~FFH范圍中。
訪問特殊功能寄存器,必須使用直接定址,這是Intel公司規定的。
A是特殊功能寄存器嗎?
--是的,它的地址是E0H。
為什麼A寄存器的定址方式是寄存器定址?
--沒有聽說過。使用名稱R0~R7,才是寄存器定址;A,不是寄存器定址。

⑦ 單片機 定址方式

單片機有七種定址方式分別是: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;

⑧ 單片機關於可位定址和不可位定址的一些疑問,求大神解答!

可以的,這里可位操作的都有個名字,因此 T0IF = 0;就是將寄存器 INTF的bit0 置數;

另外,你可以通過調試運行然後觀察 INTF的值的變化來加深理解;

⑨ 51單片機的位定址區問題

51單片機的位定址區問題書上寫著位定址區是20H-2FH,位地址00H-7FH,這不是超過這個位定址區了嘛,這兩個區域是什麼意思的?


是這樣的,請你參考:

  1. 「51單片機的位定址區問題書上寫著位定址區是20H-2FH」,這里的20H~2FH指的是片內RAM低128位元組的「20H存儲單元~2FH存儲單元」,每個單元是一個位元組,所以這里是16個位元組,每個單元的地址分別是20H~2FH;

  2. 「位地址00H-7FH」,上面的16個位元組,每個位元組8位,總共128位,對這128各位又進行了編址,每個位的地址分別是00H~7FH;

  3. 位地址和單元地址雖然在數字上有所重復(00H~7FH包含有20H~·FH),但是在匯編指令上是能去分開的;比如:CLR20H 這條指令是對位20H進行清零,不會對20H單元清零,因為對位元組清零的匯編指令只有一條 CLRA,這是對累加器A進行清零。

  4. 所有的指令都能把位地址和單元地址去分開,上邊只是個例子,不必擔心。


希望對你有所幫助!!!!!

閱讀全文

與單片機定址提問相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163