1樓:匿名使用者
微控制器有七種定址方式分別是:1.暫存器定址例如:
mov a,r0;2.直接定址例如: mov a,4fh;3.
暫存器間接定址 mov a,@r04.立即數定址 mov a,#0ffh5.變址定址(典型的是查表指令) mov a,@a+dptr6.
相對定址 sjmp 7.位定址 setb ; mov 60h,40h;是屬於直接定址;(直接用記憶體單元的位址來尋找對應的內容) mov a, #58hmov ro, #0b0hmov @ro, amov 0b0h, #28h而執行完以上指令後結果是:
(0b0h)=p3=28h;因為在8051微控制器中p3口是特殊功能暫存器(也佔一記憶體)它的位址剛好是0b0h;程式的最後給0b0h賦了立即數28h;
2樓:匿名使用者
微控制器的定址方式就是mcu根據指令中給出的位址資訊來尋找實體地址的方式,是確定本條指令的資料位址以及下一條要執行的指令位址的方法。
微控制器中的定址是什麼意思
3樓:你的合夥人
微控制器中的定址就是微控制器指令中提供的運算元的形式。也就是尋找運算元或運算元所在位址的方式。
在51系列微控制器中,存放資料的儲存器空間有4種:內部ram、特殊功能暫存器sfr、外部ram和程式儲存器rom。其中,內部ram和sfr統一編址,外部ram和程式儲存器是分開編址的。
為了區別指令中運算元所處的位址空間,對於不同存儲存器的資料操作,採用不同的定址方式。
4樓:
定址就是解決尋找運算元的問題。
1.暫存器定址 運算元在暫存器中。
2.直接定址 運算元在ram中。
3.立即數定址 運算元是指令的一部分存放在rom中。
4.暫存器間接定址 運算元的位址存放在暫存器中5.變址定址 相對定址 位定址 要複雜一點,但都是把運算元換了個地方存起來,以便用在不同的場合。
5樓:物理狂人
你應該學過數位電路吧,微控制器的記憶體空間(ram)相當於乙個暫存器陣列,給其中的暫存器編號,就是位址,定址就是沿著這個編號取對應暫存器中儲存的資料。
mov a,30h;直接定址,把位址(編號)30h對應的暫存器單元中的資料傳遞給a暫存器。
mov a,#30h;立即定址,把a暫存器直接寫入資料30h。
mov a,@r0;暫存器間接定址,功能同「直接定址」,只是r0可以改變,實現自動改變位址取資料的功能。
帶「#」的數字是立即數,由計算機在執行當前立即定址時產生,它不是由記憶體單元取出的,用完就沒有了,所以叫「立即」,如果所有的操作都是記憶體單元到記憶體單元的操作,那記憶體單元怎麼置數呢?所以就要用到立即數了。
不帶任何符號的數字是位址,在命令當中根據此位址尋找位址所對應的記憶體單元中的數進行操作。
6樓:匿名使用者
就是尋找資料或者指令的儲存位址。
微控制器 定址方式
7樓:匿名使用者
mov 60h, 40h 是直接定址方式方式mov a, #58hmov ro, #0b0hmov @ro, amov 0b0h, #28h結果是:(0b0h)=28h;p3=58h(這個不太確定)內部ram七種方法都可以的啊,外部資料儲存器只能和a累加器進行資料傳送。
8樓:匿名使用者
微控制器有七種定址方式分別是:1.暫存器定址例如:
mov a,r0;2.直接定址例如: mov a,4fh;3.
暫存器間接定址 mov a,@r04.立即數定址 mov a,#0ffh5.變址定址(典型的是查表指令) mov a,@a+dptr6.
相對定址 sjmp $7.位定址 setb ; mov 60h,40h;是屬於直接定址;(直接用記憶體單元的位址來尋找對應的內容) mov a, #58hmov ro, #0b0hmov @ro, amov 0b0h, #28h而執行完以上指令後結果是:
(0b0h)=p3=28h;因為在8051微控制器中p3口是特殊功能暫存器(也佔一記憶體)它的位址剛好是0b0h;程式的最後給0b0h賦了立即數28h;
微控制器一共有多少種定址方式
9樓:匿名使用者
51微控制器有5中定址方式。
10樓:abc湯吉強
7種,暫存器定址,直接定址,暫存器間接定址,立即定址,變址須知,相對定址,位定址。
微控制器怎麼學,關於定址方式?
11樓:網友
首先你要好好看書,然後把各種定址方式都記住,那些指令要熟記於心,不要希望有什麼捷徑,不要考試想幾天通過了。
12樓:潘達
微控制器通常不裝系統,所以使用微控制器最重要的是特殊功能暫存器的使用方法(不同微控制器不同)。。定址方式一般分直接定址,間接定址,立即數定址,程式定址,片外定址。。。如果你學過c語言就好解釋了。。。
直接定址就是直接對位址操作,相當於c語言給變數賦值,如mov 20h,30h,可以把20和30看成兩個變數,a,b,執行的就是a=b 。。20h就是位址為20h的儲存器單元。。。
間接定址就是通過暫存器中存的位址間接定址,相當於c語言的指標,mov @r0,30h,同樣假設r0和30h是,a,b。。。執行的就是*a=b;
立即數定址,mov 20h #30h, 就相當於c語言的a=30;立即數不佔資料儲存單元,他的值在程式裡。。。
程式定址,用movc就是在程式儲存器裡定址;
片外定址,在片外也沒有辦法直接定址,所以都是間接定址,和普通間接定址不同的是,因為定址範圍很大,定址用的暫存器通常是固定的,而且位數多,比如51微控制器普通r0間接定址存8位數,定址範圍片內256bit,外部定址暫存器dptr是16位的,定址範圍64k 尋找外部位址。。。
13樓:做而論道
先背下來微控制器的儲存空間分布圖。
搞清楚,你有多少空間可以使用。
對這些空間,讀、寫資料時,用什麼方法,才能找到這個位置呢?
這就是「定址方式」。
學微控制器,入門的期間,就是學硬體。
要把c語言的概念拋開,才會深入進去。
14樓:川越時空o等你
定址方式就是尋找運算元的方式。很簡單的。只要定下心來認真乙個乙個體會。彙編不會象傳說中的那麼複雜難懂。希望能幫到你。
15樓:匿名使用者
看相關資料,多做實驗,書面上的理論你再學得好不用實驗驗證也沒用。
51系列微控制器定址方式的定址方式
16樓:網友
mov a, r1 ;把暫存器r1中的內容給a暫存器相對定址: mov a ;@r1 ,把r1中的內容作為位址,再把位址中的內容給a
相對定址: djnz a , rel ;a=0時,轉向pc+2+rel為相對定址。
變址定址: movc a, @a+dptr ;只能用movc位定址: jb acc.
0, rel ; 1時轉向pc+3+rel,判斷一位如屬於位定址。
請問微控制器中的「定址」到底是什麼意思啊?直接定址、間接定址、分頁定址到底是什麼意思啊?
17樓:匿名使用者
定址的意思就是根據儲存位址找到儲存的資料,簡單的說就是通過門牌號碼找人,呵呵。
指令中直接給出運算元位址(dir)的定址方式稱為直接定址。定址物件為:1 內部資料儲存器,在指令中以直接位址表示;2特殊功能暫存器sfr,在指令中用暫存器名稱表示。
以暫存器中的內容為位址,該位址的內容為運算元的定址方式稱為暫存器間接定址。能夠進行暫存器間接定址的暫存器有:r0、r1、dptr,用前面加@表示,如@r0、@r1、@dptr。
暫存器間接定址的儲存空間包括內部資料儲存器和外部資料儲存器。由於內部資料儲存器共有128位元組,因此用一位元組的r0和r1可間接定址整個空間。而外部資料儲存器最大可達64k,僅r0或r1無法定址整個空間,為此需要由p2埠提供外部ram高8位位址,由r0或r1提供低8位位址,由此共同定址64k位元組範圍。
也可用16位的dptr暫存器間接定址64k位元組儲存空間。
分頁定址我不太清楚,好像這是linux記憶體空間的一種定址方式,51微控制器是沒有的,51只有7中定址方式。
其實,如果是入門的話,這些知識你不必深究,先學會怎麼應用即可,等你的知識深度到達一定層次的時候,你就會明白是什麼意思了。如果想完全了解的話,建議你去看看《微機原理》吧,上面說的很詳細,很清楚!
18樓:匿名使用者
直接定址:位址暫存器中放的就是 目標位址。
間接定址:位址暫存器中放的是 目標位址的 位址。
分頁定址一般用不到啦,二樓說的就沒錯啦。
19樓:寒島
間接定址尋到的是位址的位址。
直接定址尋到的就是位址。
分頁定址就是先尋到頁碼 然後再定址。
20樓:
不用管它,多找些例項,拿個開發板,多學著程式設計才是核心。
微控制器LED,微控制器中程式中,LED LED是什麼意思?
雖然你這樣的電路仍然可以實現這些功能,但不值得推薦,你了解一下動態掃瞄吧,如果能掌握動態掃瞄就很簡單了,因為按你這個樣子,如果顯示5位數的話,那微控制器io口豈不是都不夠用了啊,你只要把數碼管的段顯示部分 2個數碼管的左邊七個引腳 都接在p2口就行,也就是再多的數碼管都接在乙個 8位 口上,例如 p...
微控制器問題,微控制器的問題
是 51 微控制器問題?正負數分開存放。零,放在正數一起。main mov 20h,21h 設定存放正數的起始位址mov 60h,61h 設定存放負數的起始位址mov r0,40h 資料源位址mov r2,20 資料個數lp mov a,r0 jnb acc.7,zh mov r1,60h 取負數位...
微控制器問題,微控制器的問題
希望你學會的是一些技巧,一些方法,那麼你以後不管學什麼技術 主要是講控制這方面的 你都會很容易上手的。這是真的。你僅僅只是做了單個模組嗎?那麼你最好做乙個小的系統,綜合了多個功能的系統。學程式設計主要是一種思想,這種思想對其他微控制器是一樣的,只是語言的寫法有些區別。如果你做了乙個綜合了多種功能的小...