51单片机课程 第4次课

上传人:woxinch****an2018 文档编号:44708236 上传时间:2018-06-14 格式:PPT 页数:46 大小:432.50KB
返回 下载 相关 举报
51单片机课程  第4次课_第1页
第1页 / 共46页
51单片机课程  第4次课_第2页
第2页 / 共46页
51单片机课程  第4次课_第3页
第3页 / 共46页
51单片机课程  第4次课_第4页
第4页 / 共46页
51单片机课程  第4次课_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《51单片机课程 第4次课》由会员分享,可在线阅读,更多相关《51单片机课程 第4次课(46页珍藏版)》请在金锄头文库上搜索。

1、 成 都 理 工 大 学 工 程 技 术 学 院第三章 MCS-51指令系统Instruction Set成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统51系列单片机指令集含有111条指令 每条指令在程序存储器ROM中占据一定的 空间,以字节为单位。按指令所占字节数 分类 : 单字节(49条) 双字节(46条) 3字节(16条)成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统每条指令在执行时要花去一定的时间,以 机器周期为单位。按指令执行时间分类:单周期(64条) 双周期(45条) 4周期(2条)成 都 理 工 大 学 工 程 技 术

2、学 院第 三章 MCS-51指令系统按指令的功能分类,可分为5大类: 数据传送类(29条) 算术运算类(24条) 逻辑运算及移位类(24条) 控制转移类(17条) 位操作类(17条)成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统 指令格式标号:操作码 目的操作数 ,源操作数 ;注释例:Loop: MOV R0, #50H ;(R0)=50H方括符 表示可选项标号代表指令所在地址,1-8个字母/数字, “:”结尾操作码就是指令功能助记符,指令实体目的操作数源操作数注释,以“;”开头成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统常用符号

3、Rn:工作寄存器中的寄存器R0、R1R7之一,Ri:工作寄存器中的寄存器R0或R1#data:8位立即数#data16:16位立即数direct:片内RAM或SFR的地址(8位)Ri:间接寻址寄存器bit:片内RAM或SFR的位地址 addr11:11位目的地址addr16:16位目的地址成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统rel: 补码形式的8位地址偏移量。偏移范围为-128127/bit:位操作指令中,该位求反后参与操作,不影 响该位X:片内RAM的直接地址或寄存器(X):X中的内容(X):由X所指指出的单元中的内容:箭头左边的内容送入箭头右边的单元

4、内成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统寄存器寻址立即寻址寄存器间接寻址直接寻址变址寻址(基址寄存器+变址寄存器间接寻址)相对寻址位寻址寻址方式:指令按地址获得操作数的方式 七种寻址方式,一条指令可能含多种寻址方式3.2 寻址方式成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统一、 立即寻址 Immediate Addressing操作数就包含在指令代码中,称为立即数, 用“”表示。MCS-51如:MOV P1, #80HMOV R7, #0F5HMOV DPTR,#1245H操作数存在程 序存储器中成 都 理 工 大 学 工

5、程 技 术 学 院第 三章 MCS-51指令系统二、 直接寻址Direct Addressing直接使用数所在单元的地址找到了操作数,所以称 这种方法为直接寻址。操作数在SFR、内部RAM、位地址空间。如: MOV A,00HMOV C,60HMOV A,0F0H成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统三、 寄存器寻址Register Addressing对选定的工作寄存器R0R7、累 加器A、通用寄存器B、地址寄存器 DPTR中的数进行操作。例:MOV A,R0;将R0工作寄存 器中的数据送到累加器A中去。成 都 理 工 大 学 工 程 技 术 学 院第

6、三章 MCS-51指令系统四、 寄存器间接寻址Register Indirect Addressing 把地址放在另外一个寄存器中,根据这个寄存器中的数值 决定该到哪个单元中取数据。 R0,R1-8位地址,片内低128字节或片外 DPTR-16位,片外64KBv MCS-51如: MOV A,R0 MOVX A,R0 MOVX A,DPTR操作数在片内 RAM中操作数在片外 RAM中操作数在片外RAM 中成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统在51单片机中访问特殊功能寄存器SFR只能采用 直接寻址方式的原因:SFR分布在80H0FFH范 围内,而52系列单

7、片机有256字节的片内RAM,其 中的80H0FFH的RAM与SFR所占地址重叠。MOV A, 90H 等效于 MOV A, P1 属直接寻址 MOV A, R0 ;事先已知 (R0) = 90H 执行的操作:A (90H) 属寄存器间接寻址, 随意写的指令如:MOV A, 85H 则是非法的! 于是规定: 80H0FFH范围内的RAM只能用寄 存器间接寻址方式,而SFR只能用直接寻址方式。 从而解决了地址冲突的问题。例如:成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统 存储器配置(片内RAM) 51片内RAM 128字节(00H7FH) 89C52片内RAM 2

8、56字节(00H0FFH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布在 80H-FFH其中92个 位可位寻址80HFFH89C51 128字节89C52 256字节 只能直接寻址只能寄存器间接寻址成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统以DPTR或PC为基址寄存器,累加器A为变址寄存 器。把两者内容相加,结果作为操作数的地址。常用于查表操作。 v MCS-51MOVC A, A+DPTR ;(A+DPTR) A MOVC A, A+PC ; PC+1 PC, (A+PC)A五、 变址寻址

9、(基址+变址)Base-Register-plus-Index-Register-Indirect Addressing成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统E0A程序存储区2040H 9320E0H 472041H DPH 20 DPL 00ALU如:MOVC A,A+DPTR 设DPTR=2000H,A=E0H20E0H47成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统六、 相对寻址Relative Addressing当前PC值加上指令中规定的偏移量 rel,构成 实际的操作数地址 例: SJMP rel 操作:跳转到的

10、目的地址 = 当前16位PC值 + rel成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统注意: 1)“当前PC值”指程序中下一条指令所在的首 地址,是一个16位数; 2)符号“rel”表示“偏移量”,是一个带符号的 单字节数,范围是:-128+127(80H7FH), 在实际编程中,“rel” 通常用标号代替成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统程序存储区ALU如:JC 23H1025H1000H 401025H 451001H 23 1024H 471002H 3023H1002H当前PC成 都 理 工 大 学 工 程 技

11、术 学 院第 三章 MCS-51指令系统对片内RAM的位寻址区和某些可位寻址的特殊功能寄存器进行位操作时的寻址方式。如: SETB 3DH; 将27H.5位置1CLR C ;Cy位清0七 位寻址 Bit Addressing操作数在片内 RAM位地址区或 SFR某些位中成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统 寻址方式涉及的存储器空间寻址方式寻址空间(操作数存放空间)立即寻址程序存储器直接寻址片内RAM低128字节、SFR寄存器寻址工作寄存器R0R7,A,B,DPTR寄存器间接寻址片内RAM:R0,R1,SP 片外RAM:R0 ,R1,DPTR 变址寻址程序

12、存储器:A+PC,A+DPTR相对寻址程序存储器256字节范围内:PC+偏移量位寻址片内RAM的位寻址区(20H2FH字节地址) 某些可位寻址的SFR成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统3.3 数据传送类指令(29条)Data Transfer Instruction成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统MCS-51 助记符:助记符:MOV、MOVX、MOVC XCH、XCHD、SWAP PUSH、POP 源操作数寻址方式(5种):立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址。目的操作数寻址方式(3种):

13、直接寻址、寄存器寻址、寄存器间接寻址; 除 了目的操作数为ACC的指令影响奇偶标志P外, 一般不影响标志位。成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统Acc 累加器Direct 直接寻 址Ri 间接寻址Rn 寄存器#data 立即数Rn: R0R7Ri: R0,R1#data:8位立即数#data16:16位立即数direct:直接地址rel: 8位带符号偏移量内部存储器间传送指令 (16条): MOV 类指令的操作方向总是后面的操作数 指向前面的操作数! 例:MOV A,30H (A)(30H) 成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS

14、-51指令系统MOV A, R0MOV A, directMOV A, RiMOV A, data这组指令的功能是:把源操作数的内容送 入累加器A。 例如: MOV A, 10H; 该指令执行时将立即数 10H送入累加器A中。 1. 数据传送到累加器A的指令(4条)成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统2. 数据传送到工作寄存器Rn的指令(3条)MOV Rn, AMOV Rn, directMOV Rn, data成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统这组指令的功能是: 把源操作数的内容送入当前工作寄存器区的R0R7中

15、的某一个寄存器。指令中Rn在内部数据存储器中的地址由当前的工作寄存器区选择位RS1、RS0 确定, 可以是 00H07H、08H0FH、10H17H、18H1FH。 例如: MOV R0, A, 若当前RS1、RS0 设置为 00 (即工作寄存器 0 区), 执行该指令时,将累加器A中的数据传送至工作寄存器R0(内部RAM 00H)单元中。 成 都 理 工 大 学 工 程 技 术 学 院第 三章 MCS-51指令系统 3. 数据传送到内部RAM单元或特殊功能寄存器SFR的指令(8条)MOV direct, AMOV direct, RnMOV direct, directMOV direct, RiMOV direct, dataMOV Ri, AMOV

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号