- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机寻址方式单片机寻址方式
单片机就是一个芯片,它内部集成有CPU,程序存储器ROM,数据存储器RAM,输入输出接口 等等,使得它的功能非常强大。
寻址方式:就是寻找操作数地址的方式。
在51系列单片机中,存放数据的存储器空间有4种:内部RAM、外部RAM、特殊功能寄存器SFR、程序存储器ROM。
1 立即寻址
指令中直接给出操作数的寻址方式称为立即寻址加“#”号
例:(A
MOV DPTR, #1234H ;H——DPTR (把立即数的高8位20H送入DPH寄存器,把低8位00H送入DPL寄存器)
2 直接寻址
直接给出操作数地址1) 片内RAM低128个字节单元(00H---7FH),在指令中以直接地址表示;2)特殊功能寄存器SFR,在指令中用寄存器名称表示。直接寻址是唯一能访问特殊功能寄存器的寻址方式!例:;内部RAM
SFR: MOV IE,#00H 中断允许寄存器IE的地址是80H,
也可以写成 MOV 80H,#00H
大家来分析下面几条指令:
MOV 60H,A
MOV A,direct
MOV direct,direct
MOV P0,#85H
3 寄存器寻址
因此指定了寄存器名称就能得到操作数。通用寄存器包括:A、BR0~R7。 B寄存器仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址MUL AB ;A,B为寄存器寻址 MOV B, R0 R0为寄存器寻址,B为直接寻址4 寄存器间接寻址 加“@”)
寄存器中内容为操作数用MOVX作为操作助记符。例:MOV @R0, A ;A—RO指向的内部RAM中
访问:外部RAM
MOVX @DPTR, A ; A——DPTR的外部RAM中 5 基址寄存器加变址寄存器间接寻址 (访问存储空间ROM)
操作数地址 = 地址地址变址寄存器 @A基址寄存器 DPTR 或 PC 者的内容相加,所得到的结果作为操作数的地址。由寄存器DPTR或PC中的内容加上A累加器内容之和形成操作数地址的寻址方式称为变址寻址。变址寻址只能对程序存储器中的数据进行寻址操作。在指令符号上采用MOVC的形式。变址寻址的指令只有三条,分别如下
例:MOVC A, @A+DPTR 把DPTR和A的内容相加,得到程序存储器的送A
MOVC A, @A+PC ;将PC的值与累加器A的值相加地址PC是固定的,它的寻址范围是256个地址单元。查询的数据在256个地址单元
JMP @A+DPTR 无条件转移指令,这条指令的意思就是DPTR加上累加器A的内容做为一个16位的地址,执行JMP这条指令,程序就转移到A+DPTR指定的地址去执行。
相对寻址
以当前程序计数器PC的内容为基址,加上指令给出的偏移量形成新的方式称为相对寻址。 =转移指令地址(pc)+转移指令字节数+rel(偏移量)
例:2000H,有一条采用相对寻址方式的两字节转移指令JC 35H
并且在执行此指令前进位CY=1,按照指令的功能应发生相对转移为两字节指令,因此在计算目的地址时,PC的当前值为下一条指令的地址2002H,偏移量为35H,因此计算出的目的地址为2037H,将它赋给PC,则程序转移到2037H地址继续运行。
7. 位寻址
的寻址方式称为位寻址。由于单片机中只有内部RAM和部分特殊功能寄存器有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。
例:SETB 20H ;1——20H位
MOV 32H, C ;进位Cy(即指令中的C)——32H位 1. 说明下列指令中源操作数采用的寻址方式。
MOV A,55H 直接寻址方式
MOV A,#55H 立即寻址方式
JMP @A+DPTR 变址寻址方式
MOV 30H,C 位寻址方式
MOV A,@R0 间接寻址方式
MOVX A,@R0 寄存器间接寻址方式(操作数
置位为1,复位为0
SETB 20H
CLR C
MOV 32H, C
ANL C,31H
原创力文档


文档评论(0)