下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
8課:單片機尋址方式與指令系統(tǒng)通過前面的學(xué)習(xí),我們已經(jīng)了解了單片機內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機,讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開始,我們將要系統(tǒng)地學(xué)習(xí)8051單片機的指令部份。一、概述1、指令的格式我們已知,要讓計算機做事,就得給計算機以指令,并且我們已知,計算機很“笨”,只能懂得數(shù)字,如前面我們寫進機器的75H,90H,00H等等,所以指令的第一種格式就是機器碼格式,也說是數(shù)字的形式。但這種形式實在是為難我們?nèi)肆?,太難記了,于是有另一種格式,助記符格式,如MOVP1,#0FFH,這樣就好記了。這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價,只是形式不一樣而已。2、匯編我們寫指令使用匯編格式,而計算機和單片機只懂機器碼格式,所以要將我們寫的匯編格式的指令轉(zhuǎn)換為機器碼格式,這種轉(zhuǎn)換有兩種辦法:手工匯編和機器匯編。手工匯編實際上就是查表,因為這兩種格式純粹是格式不一樣,所以是一一對應(yīng)的,查一張表格就行了。不過手工查表總是嫌麻煩,所以就有了計算機軟件,用計算機軟件來替代手工查表,這就是機器匯編。二、單片機的尋址讓我們先來復(fù)習(xí)一下我們學(xué)過的一些指令:MOVP1,#0FFH,MOVR7,#0FFH這些指令都是將一些數(shù)據(jù)送到對應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個因為送入的數(shù)能讓燈全滅掉,第二個是為了要實現(xiàn)延時,從這里我們能看出來,在用單片機的編程語言編程時,經(jīng)常要用到數(shù)據(jù)的傳遞,事實上數(shù)據(jù)傳遞是單片機編程時的一項重要工作,一共有28條指令(單片機共111條指令)。下面我們就從數(shù)據(jù)傳遞類指令開始吧。分析一下MOVP1,#0FFH這條指令,我們不難得出結(jié)論,第一個詞MOV是命令動詞,也就是決定做什么事情的,MOV是MOVE少寫了一個E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個“源”也就是你要送什么數(shù),必須要有一個“目的”,也就是你這個數(shù)要送到什么地方去,顯然在上面那條單片機指令中,要送的數(shù)(源)就是0FFH,而要送達的地方(目的地)就是P1這個寄存器。在數(shù)據(jù)傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。這條指令中,送給P1是這個數(shù)本身,換言之,做完這條指令后,我們能明確地知道,P1中的值是0FFH,但是并不是任何時候都能直接給出數(shù)本身的。例如,在我們前面給出的單片機延時程序例是這樣寫的:MAIN:SETBP1.0;(1)LCALLDELAY;(2)CLRP1.0;(3)LCALLDELAY;(4)AJMPMAIN;(5);以下子程序DELAY:MOVR7,#250;(6)D1:MOVR6,#250;(7)D2:DJNZR6,D2;(8)DJNZR7,D1;(9)RET;(10)END;(11)表1-----------------------------------------------------MAIN:SETBP1.0;(1)MOV30H,#255LCALLDELAY;CLRP1.0;(3)MOV30H,#200LCALLDELAY;(4)AJMPMAIN;(5);以下子程序DELAY:MOVR7,30H;(6)D1:MOVR6,#250;(7)D2:DJNZR6,D2;(8)DJNZR7,D1;(9)RET;(10)END;(11)表2這樣一來,我每次調(diào)用延時程序延時的時間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時時間為0.13S燈滅,燈滅后延時0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們能把延時程序改成這樣(見表2):調(diào)用則見表2中的主程,也就是先把一個數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過來的數(shù)確定。這樣就能滿足要求。從這里我們能得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時候,這個數(shù)并不能直接給出,需要變化,這就引出了一個概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱這種辦法為直接尋址。除了這種辦法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱之為寄存器尋址。例:MOVA,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個問題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來,MOVA,00H,和MOVA,R0不就沒什么區(qū)別了嗎?為什么要加以區(qū)別呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過程不一樣,執(zhí)行第一條指令需要2個周期,而
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年建筑施工合同執(zhí)行細則
- 勞務(wù)派遣補充合同范本2024年
- 2024專業(yè)版代理操盤合同
- 2024裝修協(xié)議合同范本
- 2024設(shè)備轉(zhuǎn)讓合同范本設(shè)備購買合同范本2
- 南京銀行學(xué)生貸款合同
- 城市軌道工程施工借款合同
- 2024蘇州市全日制勞動合同
- 2024小賣部承包合同
- 2024自費養(yǎng)老合同范文
- 2024年二手物品寄售合同
- 2023年遼陽宏偉區(qū)龍鼎山社區(qū)衛(wèi)生服務(wù)中心招聘工作人員考試真題
- 三年級數(shù)學(xué)(上)計算題專項練習(xí)附答案集錦
- 高一期中家長會班級基本情況打算和措施模板
- 歷史期中復(fù)習(xí)課件七年級上冊復(fù)習(xí)課件(部編版2024)
- 專題7.2 空間點、直線、平面之間的位置關(guān)系(舉一反三)(新高考專用)(學(xué)生版) 2025年高考數(shù)學(xué)一輪復(fù)習(xí)專練(新高考專用)
- 7.2.2 先天性行為和學(xué)習(xí)行為練習(xí) 同步練習(xí)
- 2024-2025學(xué)年八年級物理上冊 4.2光的反射說課稿(新版)新人教版
- 《現(xiàn)代管理原理》章節(jié)測試參考答案
- 2024秋期國家開放大學(xué)專科《高等數(shù)學(xué)基礎(chǔ)》一平臺在線形考(形考任務(wù)一至四)試題及答案
- TPO26聽力題目及答案
評論
0/150
提交評論