×
单片机 > 单片机程序设计 > 详情

51单片机位寻址指令与编程

发布时间:2020-08-24 发布时间:
|

80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。


位寻址的范围,也就是哪些部份可以进行位寻址:


1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。


这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。

2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。


专用寄存器的位寻址表示方法:


下面我们以程序状态字PSW来进行说明

D7 

D6 

D5

D4


D3

D2


D1

D0

CY  

AC


F0 

RS1


RS0


OV



P

1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H 
   MOV  C,D5H

2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示  

   MOV  C,F0

3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5 

   MOV  C,D0H.5

4、专用寄存器符号加位表示:例如PSW.5

   MOV C,PSW.5 

这四种方法实现的功能都是相同的,只是表述的方式不同而已。


关键字:51单片机  位寻址 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计