A. 求大神知道,單片機就要期末考試了,什麼都不會兒,單片機什麼地址之類,到底是什麼意思,單片機原理到底
1. 寄存器定址
寄存器定址是指將操作數存放於寄存器中,寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR等。例如,指令MOV R1,A的操作是把累加器A中的數據傳送到寄存器R1中,其操作數存放在累加器A中,所以定址方式為寄存器定址。
如果程序狀態寄存器PSW的RS1RS0=01(選中第二組工作寄存器,對應地址為08H~0FH),設累加器A的內容為20H,則執行MOV R1,A指令後,內部RAM 09H單元的值就變為20H。
2. 直接定址
直接定址是指把存放操作數的內存單元的地址直接寫在指令中。在MCS-51單片機中,可以直接定址的存儲器主要有內部RAM區和特殊功能寄存器SFR區。
例如,指令MOV A,3AH執行的操作是將內部RAM 中地址為3AH的單元內容傳送到累加器A中,其操作數3AH就是存放數據的單元地址,因此該指令是直接定址。
3. 立即數定址
立即數定址是指將操作數直接寫在指令中。
例如,指令MOV A,#3AH執行的操作是將立即數3AH送到累加器A中,該指令就是立即數定址。
4. 寄存器間接定址
寄存器間接定址是指將存放操作數的內存單元的地址放在寄存器中,指令中只給出該寄存器。執行指令時,首先根據寄存器的內容,找到所需要的操作數地址,再由該地址找到操作數並完成相應操作。
在MCS-51指令系統中,用於寄存器間接定址的寄存器有R0、R1和DPTR,稱為寄存器間接定址寄存器。
設R0=3AH,內部RAM 3AH中的值是65H,則指令MOV A,@R0的執行結果是累加器A的值為65H。
B. 單片機上MOV B,A怎麼解釋
單片機上MOV B,A相當於定義了A,B兩個變數後;B=A;即將A的值賦給B。
MOV指令,能實現以下操作:
① CPU內滲指部廳讓寄存器之間數據的任意傳送(除了碼段寄存器CS和指令指針IP以外)。
② 立即扮喊局數傳送至CPU內部的通用寄存器組(即AX、BX、CX、DX、BP、SP、SI、DI),給這些寄存器賦初值。
③ CPU內部寄存器(除了CS和IP以外)與存儲器(所有定址方式)之間的數據傳送,可以實現一個位元組或一個字的傳送。
④ 能實現用立即數給存儲單元賦初值。
C. 單片機中寄存器A和B有什麼區別
單片機中寄存器A和B區別為:使用不同、存放不同、他用不同。
一、使用不同
1、寄存器A:輸入/輸出指令必須通過寄存器A使用。
2、寄存器B:輸入/輸出指令不通過寄存器B,在乘法和除法運算中配合寄存器A使用。
二、存放不同
1、寄存器A:寄存器A用於存放參與算術或邏輯運算的低位元組執作數及運算結果。
2、寄存器B:寄存器B用於存放參與算術或邏輯運算的高位元組執作數及運算結果。
三、他用不同
1、寄存器A:寄存器A也可在循環和串操作中充當累計器。
2、寄存器B:寄存器B也可用作間接定址的地址寄存器和基地址寄存器。
D. 單片機微型計算機原理
DPTR是16位寄存器,由兩個8位寄存器組成(DPH、DPL),用於存放16位外部存儲器地址;
A為累加器,用於+-x/運算時存放其中一個操作數,B寄存器用於乘法、除法;
通常加法減法運算結果存放在累加器A中,乘法運算結果高8位存放在A,低8位存入B寄存器;除法整數結果存放在A寄存器,B寄存器存放余數;
除此之外A、B寄存器可當作通用寄存器使用。