www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在指令“MOV A,#12H”中,立即數(shù)#12H是源操作數(shù),緊隨操作碼74H之后存放在ROM中。該指令執(zhí)行時,單片機(jī)先從ROM中讀取操作碼74H,對操作碼74H解碼后,確定要進(jìn)行的操作是將一個8位立即數(shù)送入累加器A,接下來單片機(jī)從緊鄰操作碼的下一個存儲單元中取得立即數(shù)12H并送入累加器A。另外,該指令的目的操作數(shù)累加器A隱含在操作碼中,沒有明確給出。

操作數(shù)是指令的處理對象,是指令的重要組成部分。尋址方式是確定操作數(shù)存放位置的方式,是正確掌握指令使用方法的基礎(chǔ)。

MCS-51單片機(jī)指令有7種尋址方式,分別是立即數(shù)尋址、寄存器尋址、直接尋址、寄存器間接尋址、位尋址、變址尋址和相對尋址。

1立即數(shù)尋址

立即數(shù)是以“#”開頭的數(shù)字,如#10、#10010B、#13H、#1256H和#0ACH等。在指令中,立即數(shù)只能是源操作數(shù),不能是目的操作數(shù)。

【例3-10】立即數(shù)尋址。指令在ROM中的存放如下:

在指令“MOV A,#12H”中,立即數(shù)#12H是源操作數(shù),緊隨操作碼74H之后存放在ROM中。該指令執(zhí)行時,單片機(jī)先從ROM中讀取操作碼74H,對操作碼74H解碼后,確定要進(jìn)行的操作是將一個8位立即數(shù)送入累加器A,接下來單片機(jī)從緊鄰操作碼的下一個存儲單元中取得立即數(shù)12H并送入累加器A。另外,該指令的目的操作數(shù)累加器A隱含在操作碼中,沒有明確給出。

2寄存器尋址

當(dāng)指令的操作數(shù)位于某一寄存器中時,該操作的尋址方式為寄存器尋址??捎糜诩拇嫫鲗ぶ返募拇嫫饔校汗ぷ骷拇嫫鱎0~R7、累加器A、數(shù)據(jù)指針寄存器DPTR,以及MUL和DIV指令中的累加器A和寄存器B。

【例3-11】寄存器尋址。指令及其在ROM中的存放如下:

在本例中,R0、R2和DPTR均為寄存器尋址的操作數(shù)。其中,指令“MOV R0,#12H”和“MOV R2,#13H”的操作碼分別是78H和7AH,單片機(jī)對操作碼進(jìn)行譯碼后即可知指令要完成的操作分別是將一個立即數(shù)送入工作寄存器R0和R2中;“INC DPTR”的操作碼中隱含了操作數(shù),其操作是將DPTR中的數(shù)加1。

3直接尋址

若指令中直接給出操作數(shù)的存儲地址,則該操作數(shù)的尋址方式是直接尋址。可以通過直接尋址方式訪問存放于片內(nèi)RAM(地址范圍為00H~7FH)和特殊功能寄存器(地址范圍為80H~FFH)中的操作,并且直接尋址操作數(shù)的地址將出現(xiàn)在指令的機(jī)器碼中。

【例3-12】直接尋址。指令及其在ROM中的存放如下:

在本例中,兩條指令的操作碼都是75H,代表指令要完成的操作是將一個立即數(shù)傳送給一個直接尋址的操作數(shù)。目標(biāo)操作數(shù)SP和10H的尋址方式均為直接尋址,其中,SP是特殊功能寄存器,其地址為81H。需要注意的是,代表地址的數(shù)字10H沒有以“#”開頭,若數(shù)字以“#”開頭即為立即數(shù)尋址。

4寄存器間接尋址

采用寄存器間接尋址的操作數(shù)均存放在存儲器中,其存儲地址在寄存器中。指令執(zhí)行時,首先要從寄存器中獲得操作數(shù)的存儲地址,然后根據(jù)該地址找到存放操作數(shù)的存儲單元,進(jìn)而實(shí)現(xiàn)操作數(shù)的訪問。在寄存器間接尋址中,寄存器的作用類似于指針,用于存放數(shù)據(jù)的地址??捎糜诩拇嫫鏖g接尋址的寄存器有R0、R1和DPTR。寄存器間接尋址方式可以用于訪問片內(nèi)RAM、片外RAM、片外I/O接口和ROM。

【例3-13】寄存器間接尋址。指令及其在ROM中的存放如下:

在本例中,目標(biāo)操作數(shù)@R0的尋址方式是寄存器間接尋址。若寄存器R0中的數(shù)值是34H,則數(shù)值12H將被傳送到片內(nèi)RAM區(qū)中地址為34H的存儲單元中。指令執(zhí)行時,單片機(jī)取得操作碼76H,對操作碼進(jìn)行譯碼后,確定需要完成的任務(wù)是將一個立即數(shù)送入一個片內(nèi)RAM存儲單元中,而該存儲單元的地址在R0中,需要傳送的立即數(shù)在ROM中并存放于操作碼之后。

5位尋址

前幾種尋址方式均用于訪問字節(jié)型數(shù)據(jù),屬于字節(jié)數(shù)據(jù)尋址可以對單獨(dú)一位進(jìn)行訪問,所采用的尋址方式為位尋址。位尋址可用于訪問片內(nèi)RAM的位尋址區(qū)和可以按位尋址的特殊功能寄存器的位。

片內(nèi)RAM位尋址區(qū)中位的表達(dá)方式有以下兩種:①位地址值(00H~0F7H);②字節(jié)地址.位序號。

可以按位尋址的特殊功能寄存器位的表達(dá)方式有以下四種:①位地址值(80H~0F7H);②位名稱;③特殊功能寄存器字節(jié)地址.位序號;④特殊功能寄存器名稱.位序號。另外,特殊功能寄存器名稱是特殊功能寄存器地址的符號表示,它們是等價的。

需要特別注意的是:在表示累加器A中的位的位地址時,不能用“A.位序號”,只能用“ACC.位序號”。

【例3-14】片內(nèi)RAM中的位尋址。指令如下:

6變址尋址

變址尋址是“基址寄存器加變址寄存器間接尋址”的簡稱。在這種尋址方式中,基址寄存器是16位的程序計(jì)數(shù)器(PC)或16位的數(shù)據(jù)指針寄存器(DPTR),變址寄存器是累加器A。指令執(zhí)行時,基址寄存器內(nèi)的數(shù)與變址寄存器內(nèi)的數(shù)相加構(gòu)成16位的源操作數(shù)地址。這種尋址方式只能用于程序存儲器的訪問。另外,因?yàn)槌绦虼鎯ζ髦械膬?nèi)容無法改變,所以這種尋址方式只適用于源操作數(shù)。

采用變址尋址方式的指令共有三條,包括:“MOVC A,@A+PC”、“MOVC A,@A+DPTR”和“JMP@A+DPTR”。下面僅以指令“MOVC A,@A+DPTR”為例介紹變址尋址方式。

【例3-16】變址尋址MOVC指令。指令如下:

MOVC A,@A+DPTR;以(A)+(DPTR)為地址,從ROM中取1個字節(jié)數(shù)據(jù)送入累加器A

在本例中,指令“MOVC A,@A+DPTR”的機(jī)器碼是93H,其中隱含了源操作數(shù)和目標(biāo)操作數(shù),該指令執(zhí)行時,單片機(jī)取得操作碼93H并對其譯碼后,即知要完成的操作是以(A)+(DPTR)為地址,從ROM中取1個字節(jié)數(shù)據(jù)送入累加器A。若該指令執(zhí)行之前,(A)=30H、(DPTR)=2000H,則該指令執(zhí)行時,源操作數(shù)在程序存儲器的地址為30H+2000H=2030H。該指令執(zhí)行后,程序存儲器中地址為2030H的字節(jié)單元中的數(shù)據(jù)將被傳送給累加器A。

7相對尋址

相對尋址主要用于相對轉(zhuǎn)移指令,相對轉(zhuǎn)移指令執(zhí)行時程序?qū)l(fā)生跳轉(zhuǎn)。根據(jù)計(jì)算機(jī)的工作原理,程序執(zhí)行之前被存放在存儲器中,程序執(zhí)行時計(jì)算機(jī)將以程序計(jì)數(shù)器中的值為地址到相應(yīng)的存儲器單元中取指令,取得的指令將被譯碼并執(zhí)行。因此,跳轉(zhuǎn)指令之所以能使程序發(fā)生跳轉(zhuǎn),是因?yàn)槠淠苁褂?jì)算機(jī)不按存儲順序取指令。

在相對尋址中,目標(biāo)地址=程序計(jì)數(shù)器(PC)的當(dāng)前值+地址偏移量rel。指令執(zhí)行后,目標(biāo)地址被送入PC,使得單片機(jī)到目標(biāo)地址所指向的程序存儲器單元中取指令,從而改變程序的執(zhí)行順序。需要注意的是:①程序計(jì)數(shù)器(PC)的當(dāng)前值(可簡稱為當(dāng)前PC值)是相對轉(zhuǎn)移指令的下一條指令在程序存儲器中的存放地址,可以由轉(zhuǎn)移指令本身的存放地址加上轉(zhuǎn)移指令本身的字節(jié)長度獲得;②地址偏移量rel是8位有符號數(shù)(-128~+127)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個多世紀(jì)以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對應(yīng)開發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級等不同場景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對單片機(jī)予以介紹,如果你想對它的詳細(xì)情況有所認(rèn)識,或者想要增進(jìn)對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對單片機(jī)的了解,和小編一起來看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)韱纹瑱C(jī)的有關(guān)報道,通過閱讀這篇文章,大家可以對它具備清晰的認(rèn)識,主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認(rèn)識和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來,單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號 模擬信號
關(guān)閉