51单片机寻址方式

51单片机寻址方式

ID:14047522

大小:101.50 KB

页数:23页

时间:2018-07-25

51单片机寻址方式_第1页
51单片机寻址方式_第2页
51单片机寻址方式_第3页
51单片机寻址方式_第4页
51单片机寻址方式_第5页
资源描述:

《51单片机寻址方式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、思考题与习题部分参考答案51单片机的寻址方式寻址方式:指定操作数所在单元的方法。在我们学习的8051单片机中,有7种寻址方法,下面我们将逐一进行分析。一、立即寻址用“#”作前缀MOVA,#20H在这种寻址方式中,指令多是双字节的。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。例如:MOV A,#3AH这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。MOV DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组

2、成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。16思考题与习题部分参考答案二、直接寻址指令中直接给出操作数的地址。MOV   A,30H;这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。MOV 30H,DPH在80C51单片机中,直接地址只能用来表示内部数据存储器、位地址空间以及特殊功能寄存器,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-12

3、7共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH形式给出。2、位寻址区。20H-2FH地址单元。3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令MOV IE,#85H前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是此指令也可以以MOV 80H,#85H的形式表述。16思考题与习题部分参考答案直接寻址是唯一能访问特殊功能寄存器的寻址方式!大家来分析下面几条指令:MOV 65H,A     ;将A的内容送入内部RAM的65H单元地址

4、中MOV A,direct   ;将直接地址单元的内容送入A中MOV direct,direct;将直接地址单元的内容送直接地址单元MOV IE,#85H     ;将立即数85H送入中断允许寄存器IE前面我们已学过,数据前面加了“#”的,表示后面的数是立即数(如#85H,就表示85H就是一个立即数),数据前面没有加“#”号的,就表示后面的是一个地址地址(如,MOV65H,A这条指令的65H就是一个单元地址)。3、寄存器寻址操作数存放在工作寄存器R0~R7中,或寄存器B中。MOVA,R216思考题与习题部分参考答案寄存器寻址的寻址范围是:1、4个工作寄存器组共有32个通

5、用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专用寄存器的学习中,我们已知道,是由程序状态字PSW中的RS1和RS0来确定的),因此在使用前常需要通过对PSW中的RS1、RS0位的状态设置,来进行对当前工作寄存器组的选择。2、部分专用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和进位位CY。寄存器寻址方式是指操作数在寄存器中,因此指定了寄存器名称就能得到操作数。例如:MOVA,R0这条指令的意思是把寄存器R0的内容传送到累加器A中,操作数就在R0中。INCR3这条指令的意思是把寄存器R3中的内容加1从前面的学习中我们应可以理解到,其实寄存

6、器寻址方式就是对由PSW程序状态字确定的工作寄存器组的R0-R7进行读/写操作。4、寄存器间接寻址指令中寄存器的内容作为操作数存放的地址,指令中间接寻址寄存器前用“@”表示前缀。寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。16思考题与习题部分参考答案A:MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元。为什么会是256个单元呢?我们知道,R0或者R1都是一个8位的寄存器,所以它的寻址空间就是2的八次方=256。例:MOV R0,#30H ;将值30H加

7、载到R0中   MOV A,@R0    ;把内部RAM地址30H内的值放到累加器A中   MOVXA,@R0   ;把外部RAM地址30H内的值放到累加器A中B:大家想想,如果用DPTR做为间址寄存器,那么它的寻址范围是多少呢?DPTR是一个16位的寄存器,所以它的寻址范围就是2的十六次方=65536=64K。因用DPTR做为间址寄存器的寻址空间是64K,所以访问片外数据存储器时,我们通常就用DPTR做为间址寄存器。例:MOV   DPTR,#1234H ;将DPTR值设为1234H(16位)   MOVX  A,@DPTR      

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。