日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> MCS-51單片機(jī)有幾個(gè)工作寄存器?

MCS-51單片機(jī)有幾個(gè)工作寄存器?

關(guān)鍵字:MCS 51單片機(jī) 工作寄存器 作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:10

工作寄存器有4組,每組都是8個(gè)工作寄存器R0~R7,通過PSW中的RS1、RS0兩位來選擇使用哪一組,如果不選,默認(rèn)是選擇第0組。

RS1RS0組合為00時(shí),選中第0組工作寄存器,R0~R7地址為00H~07H;

RS1RS0組合為01時(shí),選中第1組工作寄存器,R0~R7地址為08H~0FH;

RS1RS0組合為10時(shí),選中第2組工作寄存器,R0~R7地址為10H~17H;

RS1RS0組合為11時(shí),選中第3組工作寄存器,R0~R7地址為18H~1FH。

類似arm的usr模式svc模式irq模式fiq模式,

psw.4 psw.3

0 0 0區(qū) r0-r7獨(dú)立

0 1 1區(qū) r0-r7獨(dú)立

1 0 2區(qū) r0-r7獨(dú)立

1 2 3區(qū) r0-r7獨(dú)立

上邊的每個(gè)區(qū)都由相同的名字r0-r7寄存器引用,但數(shù)據(jù)空間卻不同,所以各自獨(dú)立,

每組寄存器在物理上是獨(dú)立的,也就是說,一共有32個(gè)寄存器。上電后默認(rèn)是第0組,但四組寄存器的功能、優(yōu)點(diǎn)完全相同。r0-r7支持豐富的尋址方式,可以大大提高運(yùn)行效率。

所以,如果你有四個(gè)程序段(或者說線程)要交叉運(yùn)行,都想使用到效率很高的r0-r7,就可以讓它們各占一組,只要切換區(qū)域就行了,而不必頻繁地保護(hù)現(xiàn)場(chǎng)。

尋址方式:

51單片機(jī)有7種尋址方式。

1、寄存器尋址:前面提到了內(nèi)部RAM中的00H-1FH地址單元作為工作寄存器使用。一共是有32各地址單元,分成四組,每組有8個(gè)寄存器,命名為R0-R7,每次可以使用其中的一組。當(dāng)使用R0-R7來表示操作數(shù)時(shí),就屬于寄存器尋址方式。

例如:MOV A,R0;把寄存器R0的內(nèi)容送入累加器A中

2、直接尋址:在指令中直接給出操作數(shù)地址,就屬于直接尋址方式。此時(shí)指令的操作數(shù)部分直接是操作數(shù)的地址。

例如:MOV A,2AH ;把RAM地址2AH的內(nèi)容送入累加器A中

3、立即尋址:

例如:MOV A,#3AH ;該指令就是表示把立即數(shù)3AH送入累加器A中,立即數(shù)前加上一個(gè)#,和直接尋址方式區(qū)分

4、寄存器間接尋址:若以寄存器的名稱直接給出操作數(shù)的地址,則稱為寄存器間接尋址。

例如:MOV A,@R0 ;該指令是把RO里的內(nèi)容作為地址,這個(gè)地址的數(shù)據(jù)送入累加器A,注意前面需要加@

5、變址尋址:變址尋址是以某個(gè)寄存器的內(nèi)容為基本的地址,然后在這個(gè)基址上加以地址的偏移量,才是真正的操作數(shù)地址。

例如:MOV A,@A+DPTR ;地址是A+DPTR的值,這個(gè)地址的內(nèi)容送如累加器A

6、相對(duì)尋址:相對(duì)轉(zhuǎn)移指令需要用到相對(duì)尋址方式,此時(shí)操作數(shù)部分給出的是地址的相對(duì)偏移量部分。

目的地址 = 源地址 + 指令字節(jié)數(shù) + rel(rel可正可負(fù))

例如:SJMP rel

7、位尋址:概念就不做解釋了。還是把reg52.h這個(gè)頭文件貼出來說。

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

长阳| 太原市| 岑巩县| 珲春市| 保靖县| 保靖县| 普宁市| 岱山县| 陵川县| 象州县| 沈阳市| 墨脱县| 新余市| 谢通门县| 资溪县| 精河县| 安庆市| 陆川县| 桑日县| 鄂托克前旗| 永清县| 和龙市| 建瓯市| 桓台县| 滨海县| 汾阳市| 延庆县| 香河县| 墨竹工卡县| 长顺县| 汶川县| 通化市| 微博| 平乐县| 建阳市| 黄骅市| 巴里| 龙山县| 庐江县| 华亭县| 云和县|