MCS-51單片機的工作寄存器介紹
工作寄存器有4組,每組都是8個工作寄存器R0~R7,通過PSW中的RS1、RS0兩位來選擇使用哪一組,如果不選,默認是選擇第0組。
RS1RS0組合為00時,選中第0組工作寄存器,R0~R7地址為00H~07H;
RS1RS0組合為01時,選中第1組工作寄存器,R0~R7地址為08H~0FH;
RS1RS0組合為10時,選中第2組工作寄存器,R0~R7地址為10H~17H;
RS1RS0組合為11時,選中第3組工作寄存器,R0~R7地址為18H~1FH。
類似arm的usr模式svc模式irq模式fiq模式,
psw.4psw.3
000區(qū)r0-r7獨立
011區(qū)r0-r7獨立
102區(qū)r0-r7獨立
123區(qū)r0-r7獨立
上邊的每個區(qū)都由相同的名字r0-r7寄存器引用,但數據空間卻不同,所以各自獨立,
每組寄存器在物理上是獨立的,也就是說,一共有32個寄存器。上電后默認是第0組,但四組寄存器的功能、優(yōu)點完全相同。r0-r7支持豐富的尋址方式,可以大大提高運行效率。
所以,如果你有四個程序段(或者說線程)要交叉運行,都想使用到效率很高的r0-r7,就可以讓它們各占一組,只要切換區(qū)域就行了,而不必頻繁地保護現(xiàn)場。
尋址方式:
51單片機有7種尋址方式。
1、寄存器尋址:前面提到了內部RAM中的00H-1FH地址單元作為工作寄存器使用。一共是有32各地址單元,分成四組,每組有8個寄存器,命名為R0-R7,每次可以使用其中的一組。當使用R0-R7來表示操作數時,就屬于寄存器尋址方式。
例如:MOVA,R0;把寄存器R0的內容送入累加器A中
2、直接尋址:在指令中直接給出操作數地址,就屬于直接尋址方式。此時指令的操作數部分直接是操作數的地址。
例如:MOVA,2AH;把RAM地址2AH的內容送入累加器A中
3、立即尋址:
例如:MOVA,#3AH;該指令就是表示把立即數3AH送入累加器A中,立即數前加上一個#,和直接尋址方式區(qū)分
4、寄存器間接尋址:若以寄存器的名稱直接給出操作數的地址,則稱為寄存器間接尋址。
例如:MOVA,@R0;該指令是把RO里的內容作為地址,這個地址的數據送入累加器A,注意前面需要加@
5、變址尋址:變址尋址是以某個寄存器的內容為基本的地址,然后在這個基址上加以地址的偏移量,才是真正的操作數地址。
例如:MOVA,@A+DPTR;地址是A+DPTR的值,這個地址的內容送如累加器A
6、相對尋址:相對轉移指令需要用到相對尋址方式,此時操作數部分給出的是地址的相對偏移量部分。
目的地址=源地址+指令字節(jié)數+rel(rel可正可負)
例如:SJMPrel
7、位尋址:概念就不做解釋了。還是把reg52.h這個頭文件貼出來說。
- 電源線你是否都了解他們的使用方法?
- 面對如此眾多的花樣繁多的帶插頭的電源線你是否都了解他們的使用方法,是不是只是隨便找個插座就插上了呢?其實這就是電器隱患啊。在眾
- 01-02 關注:141
- 施工用電安全距離與外電防護
- 一、用電管理:
⒈臨時用電必須按“《施工現(xiàn)場臨時用電安全技術規(guī)范》JGJ46-88”編制用電施工組織設計制定安全用電技術措
- 01-02 關注:135
- 施工現(xiàn)場必須采用“三相五線制”供電
- 施工現(xiàn)場必須采用“三相五線制”供電,井必須符合下列要求:
l.由中性點直接接地的專用變壓器供電的施工現(xiàn)場,必須采用T
- 01-02 關注:241
- 電表箱裝飾畫的特點
- 電表箱裝飾畫,也叫做配電箱裝飾畫、電閘盒裝飾畫、電源開關裝飾畫等多個名字,這些都是根據其使用功能來命名的,電表箱裝飾畫的主要作
- 01-02 關注:135
- 電器裝置的四個裝設原則
- 施工現(xiàn)場離不開用電,工程設備、施工機具、現(xiàn)場照明、電氣安裝等,都需要電能的支持。隨著建設工程項目的科技含量和智能化的加強,施工
- 01-02 關注:290
- 家用電器的漏電保護須知
- 在當前的生活當中,家用電器的選擇是越來越多,像電熱水器,電磁爐,微波爐等等,無論是哪一種家用電器,在漏電保護上要做到全面保障,
- 01-02 關注:123
- 電氣工作人員必須熟悉施工用電
- 1. 電氣工作人員必須熟悉施工用電安全技術規(guī)程,必須具備必要的技術理論知識和實際操作技能,并經考試合格,方可持證上崗工作。
- 01-02 關注:138