⑴ 單片機 定址方式
單片機有七種定址方式分別是: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;
⑵ 單片機怎麼算位地址
1、51單碼鏈伏片機的位地址寄存器為20H~2FH,從20H.0到2FH.8,地址分別遲攜為00H~7FH。
2、51單片機的特殊功能寄存器80H~FFH,能被8整除的寄存器喚友,可以位定址,這樣位地址即為80H~FFH。
⑶ 單片機求解地址范圍
地址都是:xxx0 0000 0000 0000~xxx1 1111 1111 1111(如果x默認為1,則地址為:E000H~FFFFH)
⑷ 簡述51單片機並行匯流排擴展應如何計算晶元地址
一般來說: P2 輸出晶元地址的高八位,P0 接鎖存器輸出晶元地址的低八位。 看看晶元的片選端,接在何處,即可分析出來晶元的地址。
地址匯流排
P0口作為低八位地址,P2口作為高八位地址,兩者共同構造地址匯流排。由此可見,單片機最多可以有16條地址線,因此最大定址范圍為64 KB(0000H~FFFFH)。地址匯流排是單向的,只能由單片機向外發送。
數據匯流排
數據匯流排由P0口構成,雙向。
需要注意的是P0口兼作地址匯流排的低八位,所以需要將這低八位地址先鎖存起來。
控制匯流排
單片機方面,根據不同的擴展情況使用PSEN,ALE,RD,WR等作為控制匯流排。
RAM的OE和WE分別接單片機的RD和WR。
ROM只能讀不能寫,OE接PSEN。
地址鎖存器的使能信號接單片機的ALE。
地址分配
有線選法和解碼法。線選法連線簡單,無需解碼器,但是地址不連續。解碼法(部分解碼、全解碼)使用解碼器的解碼輸出作為存儲器的片選信號。
常用晶元
74LS373:74LS373是帶三態緩沖輸出的8D鎖存器。74LS373的鎖存控制端G直接與單片機的鎖存控制信號ALE相連,在ALE的下降沿鎖存低8位地址。
74LS138:3-8線解碼器。
ROM晶元:(27-EPROM)2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。(28-EEPROM):2816(2K×8)、2864(8K×8)。
RAM晶元:6116(2K×8位)、6264(8K×8位)、62256(32K×8位)
⑸ 單片機中的定址是什麼意思
單片機中的定址就是單片機指令中提供的操作數的形式。也就是尋找操作數或操作數所在地址的方式。
在51系列單片機中,存放數據的存儲器空間有4種:內部RAM、特殊功能寄存器SFR、外部RAM和程序存儲器ROM。其中,內部RAM和SFR統一編址,外部RAM和程序存儲器是分開編址的。為了區別指令中操作數所處的地址空間,對於不同存存儲器的數據操作,採用不同的定址方式。
(5)單片機求地址擴展閱讀
定址方式
1、立即數定址
立即數定址又稱立即定址,即指令中直接給出操作數的定址方式稱為立即數定址。在51系列單片機指令系統中,立即數用前面加「#」號的8位數表示(#data,如#30H)或16位數(#data16,如#2052H)表示。舉例說明立即數定址方式,以傳送指令為例。
2、直接定址
指令中直接給出操作數地址(dir)的定址方式稱為直接定址。定址對象為:1 內部數據存儲器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。
3、寄存器定址
以通用寄存器的內容為操作數的定址方式稱為寄存器定址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器僅在乘法、除法指令中為寄存器定址,在其它指令中為直接定址。A寄存器可以寄存器定址,又可以直接定址(此時寫作ACC)。
直接定址和寄存器定址的差別在於,直接定址是操作數所在的位元組地址(佔一個位元組),寄存器定址是寄存器編碼出現在指令碼中。寄存器定址速度比直接定址要快。除上面所指的幾個寄存器外,其它特殊功能寄存器一律為直接定址。
參考資料來源:網路-51系列單片機定址方式
⑹ 單片機求晶元地址范圍
1)圖示可知,P0口對應著6264、8255的D0-D7數據口,同時P0則通過373給6264、8255輸出地址數據;
因為6264晶元沒有地址鎖存功能,就是說在訪問6264時地址線數據必須保持不變,才能正確讀寫數據;
對於單片機來說,訪問外部存儲器是通過P0、P2來提供16位地址數據,P0輸出低8位、P2輸出高8位地址數據,同時通過時分方式,P0也就同時作為數據介面。那麼在訪問時要保持地址線數據不變,則高位地址P2可以保持不變,但是低位地址就只能通過373來保持,這樣才能釋放P0用來傳輸數據;
2)ALE---地址鎖存信號,當地址數據輸出後,內部電路自動產生ALE信號,把P0數據鎖存到373中,在後續的讀寫周期中,373與P2的數據是不變的;
3)如圖示
⑺ 單片機入口地址怎麼算
如果單片機應用程序不打算使用任何中斷,可以不指定主程序的入口地址,編譯器默認程序從0000H這個地址開始執行程序。但如果應用程序使用了任何一個中斷,主程序MAIN的入口地址就需要另行安排。普通51單片機5個中斷源的入口地址分別為0003H、000BH、0013H、001BH、0023H,為了防止主程序MAIN的入口與中斷入口發生沖突,必須避開中斷入口地址,而將MAIN安排在一個合適的位置,當然,不一定要在0100H,也可以是0030H、0040H或其它。舉例說明,如果應用程序只使用外部中斷,那麼也可以這樣:
ORG 0000H
AJMP MAIN
ORG 0003H;外部中斷入口地址
LJMP INTER1;LJMP的3位元組指令佔用了0003H、0004H和 0005H
ORG 0006H;那麼主程序可以從這里開始
MAIN:------------------------