版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、51單片機的尋址方式單片機的尋址方式尋址方式:指定操作數(shù)所在單元的方法。尋址方式:指定操作數(shù)所在單元的方法。在我們學習的8051單片機中,有7種尋址方法,下面我們將逐一進行分析。一、一、立即尋址立即尋址用“#”作前綴MOVA,#20H在這種尋址方式中,指令多是雙字節(jié)的。立即數(shù)就是存放在程序存儲器中的常數(shù),換句話說就是操作數(shù)(立即數(shù))是包含。立即數(shù)就是存放在程序存儲器中的常數(shù),換句話說就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。在指令字節(jié)中
2、的。例如:MOVA,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOVDPTR,#8200H在前面學單片機的專用寄存器時,我們已學過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。二、直接尋址直接尋址指令中直接給出操作數(shù)的地址。MOVA,30H;
3、這條指令中操作數(shù)就在30H單元中,也就是30H是操作數(shù)的地址,并非操作數(shù)。MOV30H,DPH在80C5180C51單片機中,直接地址只能用來表示內部數(shù)據(jù)存儲器、位地址空間以及特殊功能寄存器,單片機中,直接地址只能用來表示內部數(shù)據(jù)存儲器、位地址空間以及特殊功能寄存器,具體的說就是:1、內部數(shù)據(jù)存儲器、內部數(shù)據(jù)存儲器RAMRAM低128128單元。在指令中是以直接單元地址形式給出。單元。在指令中是以直接單元地址形式給出。我們知道低我們知道
4、低128128單元的地址是單元的地址是00H7FH00H7FH。在指令中直接以單元地址形式給出這句話的意思就是這。在指令中直接以單元地址形式給出這句話的意思就是這01270127共128128位的任何一位的任何一位,例如位,例如0位是以位是以00H00H這個單元地址形式給出、這個單元地址形式給出、1位就是以位就是以01H01H單元地址給出、單元地址給出、127127位就是以位就是以7FH7FH形式給出。形式給出。2、位尋址區(qū)。、位尋址區(qū)
5、。20H2FH20H2FH地址單元。地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令MOVMOVIEIE,#85H#85H前面的學習我們已知道,中斷允許寄存器前面的學習我們已知道,中斷允許寄存器IEIE的地址是的地址是80H80H,那么也就是此指令也可以以,那么也
6、就是此指令也可以以MOVMOV80H80H,#85H#85H的形式表述。形式表述。直接尋址是唯一能訪問特殊功能寄存器的尋址方式!直接尋址是唯一能訪問特殊功能寄存器的尋址方式!例:MOVR0,#30H;將值30H加載到R0中MOVA,@R0;把內部RAM地址30H內的值放到累加器A中MOVXA,@R0;把外部RAM地址30H內的值放到累加器A中B:大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存
7、器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數(shù)據(jù)存儲器時,我們通常就用DPTR做為間址寄存器。例:MOVDPTR,#1234H;將DPTR值設為1234H(16位)MOVXA,@DPTR;將外部RAM或IO地址1234H內的值放到累加器A中C:在執(zhí)行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH30H;把內部RAM地址30H內
8、的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會把內部RAM地址30H內的值放到RAM的61H內。那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP寄存器間接尋址范圍總結:A、內部、內部RAMRAM低128128單元。對內部單元。對內部RAMRAM低128128單元的間接尋址,應使用單元的間接尋址,應使用R0R0或R1R1作間址寄存器,其通用形式為
9、作間址寄存器,其通用形式為@Ri@Ri(i=0i=0或1)。)。B、外部、外部RAMRAM64KB64KB。對外部。對外部RAM64KBRAM64KB的間接尋址,應使用的間接尋址,應使用@DPTR@DPTR作間址尋址寄存器,其形式為作間址尋址寄存器,其形式為@DPTR@DPTR。例如MOVXA,@DPTR;其功能是把DPTR指定的外部RAM的單元的內容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區(qū),除可以用DPTR作間址寄存
10、器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVXA,@R0;這條指令的意思是,把R0指定的外部RAM單元的內容送入累加器A。C、堆棧操作指令(、堆棧操作指令(PUSHPUSH和POPPOP)也應算作是寄存器間接尋址,即以堆棧指針)也應算作是寄存器間接尋址,即以堆棧指針SPSP作間址寄存器的間接尋址方式。作間址寄存器的間接尋址方式。寄存器間接尋址方式不可以訪問特殊功能寄存器!!寄存器間接尋址方式不可以訪問特殊功能寄存器!!寄存器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七種尋址方式及單片機執(zhí)行過程
- 51單片機
- 《51單片機》教案
- 51單片機教程
- 《51單片機》教案
- 51單片機教程
- 51單片機常見的五種流水燈編寫方式
- 51單片機常見的五種流水燈編寫方式
- 51單片機管腳說明
- 51單片機自學筆記
- 初學51單片機的分享
- 51單片機引腳說明
- 單片機51測速程序
- 51單片機的休眠模式
- 基于51單片機課程設計--基于51單片機的紅外線設計
- 51單片機畢業(yè)論文---基于單片機的進制換算
- 單片機外文翻譯----51系列單片機的結構和功能
- 單片機外文翻譯 ----at89c51單片機介紹
- 51單片機課程設計--基于51單片機開發(fā)系統(tǒng)的pcb電路板
- 基于51單片機的點歌系統(tǒng)
評論
0/150
提交評論