单片机课程 第4次课.ppt

单片机课程 第4次课.ppt

ID:56529273

大小:392.50 KB

页数:46页

时间:2020-06-27

单片机课程  第4次课.ppt_第1页
单片机课程  第4次课.ppt_第2页
单片机课程  第4次课.ppt_第3页
单片机课程  第4次课.ppt_第4页
单片机课程  第4次课.ppt_第5页
资源描述:

《单片机课程 第4次课.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章MCS-51指令系统InstructionSet51系列单片机指令集含有111条指令每条指令在程序存储器ROM中占据一定的空间,以字节为单位。按指令所占字节数分类:单字节(49条)双字节(46条)3字节(16条)每条指令在执行时要花去一定的时间,以机器周期为单位。按指令执行时间分类:单周期(64条)双周期(45条)4周期(2条)按指令的功能分类,可分为5大类:数据传送类(29条)算术运算类(24条)逻辑运算及移位类(24条)控制转移类(17条)位操作类(17条)指令格式[标号:]操作码[目的操作数][,源操作数][;注释]例:Loop:MOVR0,#50H;(R

2、0)=50H方括符[]表示可选项标号代表指令所在地址,1-8个字母/数字,“:”结尾操作码就是指令功能助记符,指令实体目的操作数源操作数注释,以“;”开头常用符号Rn:工作寄存器中的寄存器R0、R1…R7之一,Ri:工作寄存器中的寄存器R0或R1#data:8位立即数#data16:16位立即数direct:片内RAM或SFR的地址(8位)@Ri:间接寻址寄存器bit:片内RAM或SFR的位地址addr11:11位目的地址addr16:16位目的地址rel:补码形式的8位地址偏移量。偏移范围为-128~127/bit:位操作指令中,该位求反后参与操作,不影响该位X:片

3、内RAM的直接地址或寄存器(X):X中的内容((X)):由X所指指出的单元中的内容→:箭头左边的内容送入箭头右边的单元内寄存器寻址立即寻址寄存器间接寻址直接寻址变址寻址(基址寄存器+变址寄存器间接寻址)相对寻址位寻址寻址方式:指令按地址获得操作数的方式七种寻址方式,一条指令可能含多种寻址方式§3.2寻址方式一、立即寻址ImmediateAddressing操作数就包含在指令代码中,称为立即数,用“#”表示。MCS-51如:MOVP1,#80HMOVR7,#0F5HMOVDPTR,#1245H操作数存在程序存储器中二、直接寻址DirectAddressing直接使用数所

4、在单元的地址找到了操作数,所以称这种方法为直接寻址。操作数在SFR、内部RAM、位地址空间。如:MOVA,00HMOVC,60HMOVA,0F0H三、寄存器寻址RegisterAddressing对选定的工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR中的数进行操作。例:MOVA,R0;将R0工作寄存器中的数据送到累加器A中去。四、寄存器间接寻址RegisterIndirectAddressing把地址放在另外一个寄存器中,根据这个寄存器中的数值决定该到哪个单元中取数据。R0,R1----8位地址,片内低128字节或片外DPTR----16位,片外64

5、KBMCS-51如:MOVA,@R0MOVXA,@R0MOVXA,@DPTR操作数在片内RAM中操作数在片外RAM中操作数在片外RAM中在51单片机中访问特殊功能寄存器SFR只能采用直接寻址方式的原因:SFR分布在80H~0FFH范围内,而52系列单片机有256字节的片内RAM,其中的80H~0FFH的RAM与SFR所占地址重叠。MOVA,90H等效于MOVA,P1属直接寻址MOVA,@R0;[事先已知(R0)=90H]执行的操作:A←(90H)属寄存器间接寻址,随意写的指令如:MOVA,85H则是非法的!于是规定:80H~0FFH范围内的RAM只能用寄存器间接

6、寻址方式,而SFR只能用直接寻址方式。从而解决了地址冲突的问题。例如:存储器配置(片内RAM)51片内RAM128字节(00H—7FH)89C52片内RAM256字节(00H—0FFH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布在80H-FFH其中92个位可位寻址80HFFH89C51128字节89C52256字节只能直接寻址只能寄存器间接寻址以DPTR或PC为基址寄存器,累加器A为变址寄存器。把两者内容相加,结果作为操作数的地址。常用于查表操作。MCS-51MOVCA,@A+DPTR;(A+DP

7、TR)→AMOVCA,@A+PC;PC+1→PC,(A+PC)→A五、变址寻址(基址+变址)Base-Register-plus-Index-Register-IndirectAddressingE0A程序存储区2040H9320E0H472041H………DPH20DPL00ALU如:MOVCA,@A+DPTR设DPTR=2000H,A=E0H20E0H47六、相对寻址RelativeAddressing当前PC值加上指令中规定的偏移量rel,构成实际的操作数地址例:SJMPrel操作:跳转到的目的地址=当前16位PC值+rel注意:1)“当前PC值

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

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

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