首页 理论教育 单片机实用教程-位寻址方法及寻址区

单片机实用教程-位寻址方法及寻址区

时间:2023-11-16 理论教育 版权反馈
【摘要】:位寻址并不能操作存储器中任何单元中的某位数,它只能操作能进行位寻址的存储单元。可位寻址的单元如下:1)数据存储器内部的位寻址区。2)SFR中一些可位寻址的寄存器。SFR中可位寻址的寄存器有11个,每个寄存器有8位,共有88位。位寻址的方法通常有以下几种:1)直接使用位地址。例如:MOV C,20H.1这条指令的含义是将20H单元的第1位数据送入PSW的CY位。3)采用“位的符号地址”形式。MCS-51系列单片机采用的七种寻址方式见表3-1。

单片机实用教程-位寻址方法及寻址区

前面的几种寻址方式都是对存储单元的整个字节进行操作,如果要对某存储单元中的某位数进行操作,就要用位寻址方式。

位寻址并不能操作存储器中任何单元中的某位数,它只能操作能进行位寻址的存储单元。可位寻址的单元如下:

1)数据存储器内部的位寻址区。该区的字节单元地址是20H~2FH,共有16个存储单元,每个单元有8位,共有128位,这128位的位地址见表2-3。

2)SFR中一些可位寻址的寄存器。SFR中可位寻址的寄存器有11个(可位寻址的寄存器见表2-4的第1列),每个寄存器有8位,共有88位。

位寻址的方法通常有以下几种:

1)直接使用位地址。

例如:MOV C,01H

这条指令的含义是将01H位(即20H单元的第1位)的数据送入程序状态字寄存器(PSW)的CY位(进位标志位)。PSW各位的功能见第2章的相关内容。

2)采用“字节地址.位序号”形式。

例如:MOV C,20H.1

这条指令的含义是将20H单元的第1位数据送入PSW的CY位。

3)采用“位的符号地址”形式。

例如:CPL AC

这条指令的含义是将PSW的AC位(辅助进位标志位)取反。CPL意为“位取反”。

4)采用“寄存器符号.位序号”形式。

例如:ANL C,PSW.0

这条指令的含义是将PSW的第0位与CY位进行相与运算,再将相与的结果保存在CY位。

MCS-51系列单片机采用的七种寻址方式见表3-1。

表3-1 七种寻址方式

978-7-111-43252-4-Chapter03-6.jpg(www.xing528.com)

【例3-1】 图3-6为单片机系统硬件图,把8个LED分成两组,分别用立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址方式实现LED0、LED2、LED4、LED6灭,LED1、LED3、LED5、LED7亮。

解答:

若LED亮,则P1口对应的位输出0,因此P1=01010101B(化成十六进制为55H)。本

978-7-111-43252-4-Chapter03-7.jpg

图3-6 例3-1硬件图及运行结果图

程序比较简单,程序流程图略,程序主体如下:

立即寻址:ORG 00H

MOV P1,#55H

END

直接寻址:MOV A,#55H

MOV P1,A

寄存器寻址:MOV R1,#55H

MOV P1,R1

寄存器间接寻址:MOV 40H,#55H

MOV R0,#40H

MOV P1,@R0

编译程序并仿真实现功能:

1)以上程序为程序主体结构,4种方式需要建立4个汇编(asm)文件分别验证,每个汇编文件均以ORG起始,以END结束。

2)将产生的4个HEX文件分别烧写,分别验证。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈