新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 找到地址去送信——單片機(jī)尋址方式學(xué)習(xí)心得

找到地址去送信——單片機(jī)尋址方式學(xué)習(xí)心得

作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
剛開始學(xué)單片機(jī)時,由于沒有數(shù)字電路和微機(jī)原理的基礎(chǔ),很多概念都不是很清楚,特別是在學(xué)習(xí)單片機(jī)原理的時候,那些概念弄得煩不勝煩。尤其是什么寄存器、尋址、地址、指針……都快把我折磨得瘋掉了。想放棄又覺得不甘心,于是就硬著頭皮狂啃了幾天,才有點(diǎn)了解。現(xiàn)將心得記錄如下,能力有限,如果有錯誤或不足請指正。
CPU執(zhí)行指令過程:由程序存儲器(ROM)中讀取指令代碼,送入指令寄存器中,經(jīng)過譯碼器譯后由定時于控制電路發(fā)出相應(yīng)的控制信號,完成控制功能。
程序計(jì)數(shù)器(PC):存放即將要執(zhí)行的指令地址的地方。
寄存器:寄存器是CPU在運(yùn)算過程中用于存放操作數(shù)的地方。相當(dāng)與一個加工廠的貨物暫時存放點(diǎn)。在這貨物暫時存放點(diǎn)里存放有一些貨物即操作數(shù)。CPU沒執(zhí)行一次運(yùn)算和命令都會從里邊提取操作數(shù)執(zhí)行指令。CPU中若干個不同的寄存器??梢詮牟煌ǖ募拇嫫髦刑崛〔煌牟僮髦噶钸M(jìn)行操作。
存儲器:存儲器就相當(dāng)余個倉庫,是存儲數(shù)據(jù)的地方。CPU通過指令對存儲器進(jìn)行訪問。
指針:這真就相當(dāng)一個地址,即倉庫里邊存放貨物的地址。和我么寄信的地址一樣,通過他可以尋找到想要的數(shù)據(jù)或者指令。
立即數(shù):立即數(shù)就是存放在寄存器中的常數(shù)。
知道這些以后,對于單片機(jī)的尋址方式的理解就沒有多大問題。單片機(jī)的尋址方式主要有五種:立即數(shù)尋址、存儲器絕對尋址、寄存器直接尋址、寄存器間接尋址、寄存器變址尋址。
立即數(shù)尋址:將某一立即數(shù)直接賦予到寄存器當(dāng)中。相當(dāng)于將一份貨物拿的指定貨物暫時存放點(diǎn)上去。
存儲器絕對尋址:將存儲器地址指定的操作數(shù)賦予到寄存器當(dāng)中。這種尋址方式和立即數(shù)尋址方式不通,同樣是直接將操作數(shù)直接賦予寄存器當(dāng)中,但形式不一樣,立即數(shù)尋址是直接將操作數(shù)賦予寄存器。而直接尋址卻是拿到的只是一個操作數(shù)地址,通過這個地址,在存儲器中尋找到想要的操作數(shù)后,再將操作數(shù)賦予寄存器。這個相當(dāng)于你拿到倉庫貨物地址后,在倉庫里找到貨物,然后將貨物拿到指定的貨物暫時存放點(diǎn)上。
寄存器直接尋址:這種方式是指操作數(shù)存放在寄存器中,直接通過尋址寄存器,取出操作數(shù)。這中方式相當(dāng)直接將特定貨物暫時存放點(diǎn)里的貨物裝車進(jìn)行處理。
寄存器間接尋址:這種方式是寄存器里存放的是操作數(shù)在存儲器里存放的地址。通過那在指定的寄存器里拿到地址后,再通過地址到存儲器中尋找到相應(yīng)的操作數(shù),然后執(zhí)行操作數(shù)。這種方式相當(dāng)于該貨物暫時存放點(diǎn)存放的并不是貨物,而只是貨物在倉庫存儲的地址,我們還得通過地址到倉庫去尋找到貨物,然后再進(jìn)行加工。
寄存器變址尋址:這種尋址方式比較復(fù)雜,且很麻煩,好像是故意在繞路一樣,難為人。他首先給定一個基址寄存器,并在基址寄存器中存放一個數(shù)據(jù),然后再給你一個公式和一個操作數(shù),公式是:目的寄存器=基址寄存器中數(shù)據(jù)+給定操作數(shù)。通過計(jì)算出公式結(jié)果后才能找到目的寄存器當(dāng)中的操作數(shù)。這就相當(dāng)于找東西的游戲,不告訴你要找的東西在那你,只是給你一個謎語,你靠著這個謎語的謎底去尋找所要尋找的東西。


評論


技術(shù)專區(qū)

關(guān)閉