单片机教案(指令系统)

上传人:woxinch****an2018 文档编号:56900721 上传时间:2018-10-17 格式:PPT 页数:101 大小:481KB
返回 下载 相关 举报
单片机教案(指令系统)_第1页
第1页 / 共101页
单片机教案(指令系统)_第2页
第2页 / 共101页
单片机教案(指令系统)_第3页
第3页 / 共101页
单片机教案(指令系统)_第4页
第4页 / 共101页
单片机教案(指令系统)_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《单片机教案(指令系统)》由会员分享,可在线阅读,更多相关《单片机教案(指令系统)(101页珍藏版)》请在金锄头文库上搜索。

1、,计算机硬件技术基础,计算机科学与软件学院计算机基础教学部,第三章 MCS-51指令系统,本专题是全书的重点, 是汇编语言程序设计的基础。,学习指令系统重点要掌握以下几点:1、指令功能2、寻址方式3、操作数的位数和存储结构4、对PSW的影响5、指令与存储区的对应关系6、各类指针及其指向的地址范围7、转移指令的转移范围8、指令字节数和机器周期数, 本章主要介绍单片机的寻址方式及指令系统,是必须掌握的内容。 一台计算机所有指令的集合,称为该计算机的指令系统。 各种计算机都有专用的指令系统。,第三章 单片机的指令系统,第三章 单片机的指令系统,3.1 MCS-51 指令系统概述 3.2 寻址方式 3

2、.3 MCS-51 单片机的指令系统,3.1 MCS-51 指令系统概述,3.1.1 指令格式 3.1.2 指令字长和指令周期 3.1.3 指令分类,汇编语言指令格式 机器语言指令格式,3.1.1 指令格式,一条用助记符表示的汇编语言指令,操作码,操作数,指令的功能,指令的操作对象,ADD A , #10H ;ADD为操作码,A及#10H为操作数,汇编语言指令,汇编语言指令格式,标号:操作码助记符 目的操作数,源操作数;注释例如:Loop:MOV A,R0; (R0) -(A),机器语言指令格式,双字节:,单字节:,操作码,操作码 操作数或寻址方式,操作码,操作数或寻址方式,例:ADD A ,

3、 #10H,或,指令字长有三种:单字节 RET双字节 MOV A,#68H三字节 MOV 30H,46H,3.1.2 指令字长和指令周期,指令周期是指执行一条指令所需要的时间1 机器周期指令 2 机器周期指令4 机器周期指令,P318附录II 附表1,3.1.3 指令分类,按指令功能分类,按指令字长分类,按指令执行时间分类,3.2 寻址方式,寻址方式:7种 寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 变址间接寻址 相对寻址 位寻址 寻址方式与寻址空间 MCS-51单片机的两个突出特点,寻址:1、寻找操作数2、为PC指针寻找目标地址,寄存器寻址操作数存放在寄存器中,MOV A,R0 MOV

4、R0,#01001111B,工作寄存器(00H1FH)RS1 RS0 寄存器组 片内RAM地址 寄存器0 0 第0组 00H07H R0R70 1 第1组 08H0FH R0R71 0 第2组 10H17H R0R71 1 第3组 18H1FH R0R7,SETB RS0 MOV R3,#56H,寄存器为 R0R7,A,DPTR,C,例如:MOV A , R3 ;机器码为 0EBH 指令功能是把当前R3中的操作数送累加器A。指令执行示意图如图33所示。设(R3)=12H,直接寻址指令中直接给出操作数的地址,功能最强,可访问种地址空间 内部数据存储器地址空间(): MOV A,00HMOV 30

5、H,20H 特殊功能寄存器地址空间,唯一方式 MOV A,90H MOV A,B 位地址空间 MOV C,00H,例: MOV A ,30H;机器码为E530H指令功能是把直接地址30H单元的内容送累加器A,即(30H) (A)如图31所示。,34H,34H,寄存器间接寻址,将指定的寄存器的内容为地址,由该地址所指定的单元内容作为操作数。mov A,R0,(R0)=31H,(R0)=(31H),(A)=02H,指针,例如: MOV A ,R1 ;机器码 E7H设(R1)=60H , (60H)=50H , 执行结果(A)=50H,该指令执行过程如图34所示。,立即寻址在指令中直接给出操作数,例

6、: MOV A,#7Ah; 747AH 把立即数7AH送累加器A,指令执行示意图如图3-2所示。,例: MOV DPTR,#1234h(DPH)=12H (DPL)=34H,注意:立即数前加“ # ”号,以区别直接地址。 例如: MOV A,#30H ;(A) 30HMOV A, 30H ; (A) (30H),变址间接寻址,基址寄存器变址寄存器的间接寻址方式DPTR/PC AMOVC A, A+DPTR(A) (DPTR) + (A)MOVC A, A+PC(A) (PC) + (A) )JMP A+DPTR(PC)=(A)+(DPTR),MOVC A ,A+PC ;83H 设执行指令之前(

7、A)= 50H 指令功能是把该指令当前地址PC值与A累加器内容相加形成操作码地址3F51H,3F51H中的内容37H送A累加器。,PC 当前值,相对寻址,以当前的PC值为基准,加上指令中给出的相对偏移量(rel)形成有效的转移地址。jc Loop;,rel,补码 -128,127,JC rel; 4085H 设rel=85H ,Cy=1,目标地址,PC当前值,位寻址 bit,位寻址范围:1、内部RAM的位寻址区,共16个单元的128位,字节地址为20H2FH,位地址为00H7FH。可用直接位地址或字节地址加位的表示方法。,例如: MOV C , 7AH 或 MOV C , 2FH2,2、特殊功

8、能寄存器SFR可供位寻址的专用寄存器共11个,实有位地址位83位。位地址有4种表达方式 。以对程序状态寄存器PSW辅助进位位AC进行操作为例: PSW Cy AC F0 RS1 RS0 OV P D0HD7H D6H D0H,1)直接使用位地址 3)单元地址加位的表示法MOV C ,0D6H MOV C ,0D0H6 2)位名称表示法 4)专用寄存器符号加位的表示法MOV C , AC MOV C , PSW6,寻址方式与寻址空间,1、内部数据存储器的寻址方式1) 00H1FH 寄存器寻址 4组R0 R7 Rn直接寻址 direct寄存器间接寻址 R0,R1例:(01H) (02H)MOV 0

9、2H,01H ;源寻址和目的寻址均为直接寻址MOV R2,01H ;源寻址为直接寻址,目的寻址为寄存器寻址MOV R0,#01HMOV 02H,R0;源寻址为寄存器间接寻址,目的寻址为直接寻址,内部数据存储器与内部I/O口统一编址,T1,2) 20H 2FH 可位寻址区的寻址方式字节寻址方式: 直接寻址 direct寄存器间接寻址R0,R1位寻址: bit 直接寻址 例: MOV 26H,C ; 位寻址 (26H)1位MOV 26H,A ;字节寻址(26H)8位,3) 30H 7FH 数据缓冲区的寻址方式字节寻址方式: 直接寻址 direct寄存器间接寻址R0,R1 例:MOV 56H,A ;

10、字节寻址(56H)8位 MOV R0,#66HMOV R0,#56H可以将用户堆栈设在该区内,堆栈指针SP,2、SFR 及I/O口的操作只能直接寻址例: P1 口 90H MOV A,90H MOV A,P1MOV P1,A 3、关于A累加器有两种寻址方式:MOV A,#23H ; A寄存器寻址 PUSH ACCPOP 0E0H,;直接寻址,统一编址,4、可做片内RAM的指针有:R0,R1, 四个组共有8个预先设置RS1、RS0,以选定组。SETB RS0CLR RS1; 1组MOV R0,#34H ;R0的地址是?SETB RS1 ; 3组MOV R0,#68H ; R0的地址是?R0/R1

11、指向的地址范围:00H7FH,片外数据存储区和外部扩展的I/O口的寻址方式 指针:R0,R1 8位DPTR 16位 指令助记符: MOVX 例: MOV DPTR,#2000HMOV A,#34HMOVX DPTR,A,MOV P2,#20H MOV R0,#00H MOV A,#34H MOVX R0,A,外部数据存储器的地址,或I/O口的地址 16位,只能寄存器间接寻址,或,高8位地址,低8位地址,统一编址,R0/R1指向的地址范围:00H0FFH,T2,3.3 MCS-51 单片机的指令系统,指令描述符号简介 指令分类: 数据传送类指令(29)传送类指令举例 算术运算类指令(24) 逻辑

12、运算类指令(24) 控制转移类指令 (17) 布尔处理类指令(17),指令描述符号(1) P68,Rn-R0R7 工作寄存器R0R7,n=07 direct- 8位直接地址,表示直接寻址方式 Ri- 只能是R0或R1,所以i=0,1 #data - 8位立即数,数据范围00HFFH #data16 - 16位立即数,数据范围0000HFFFFH addr16 - 16位目标地址 addr11 - 低11位目标地址,指令描述符号(2),rel 8位带符号地址偏移量 , -128,127补码 bit 位地址 $ 当前指令地址 ( ) ( ( ) ),数据传送类指令(1) 内部,A 累加器,dire

13、ct 直接 寻址,Ri 间接 寻址,Rn 寄存器,data 立即数,数据传送类指令(2),mov A,Rn ; (A) (Rn) n=07 mov A,direct ; (A) (direct) mov A, Ri ; (A) (Ri) i=0,1 mov A,#data ; (A) #data mov Rn,A ; (Rn) (A) mov Rn,direct ; (Rn) (direct) mov Rn,# data; (Rn) #data,数据传送类指令(3),mov direct,A ; (direct) (A) mov direct,Rn ; (direct) (Rn) n=07 m

14、ov direct,direct ; (direct) (direct) mov direct, Ri ; (direct) (Ri) i=0,1 mov direct,#data ; (direct) #data mov Ri,A ; (Ri) (A) mov Ri,direct; (Ri) (direct) mov Ri,# data ; (Ri) #data,MOV R1,R0,MOV R3,R0,MOV R1, R0,MOV R1, R0,数据传送类指令(4) 交换指令,xch A, Rn ; (A) (Rn) n=07 xch A,direct ; (A) (direct) xch A, Ri ; (A) (Ri) i=0,1 xchd A,Ri ; (A 03 ) ( (Ri)03 ) swap A; (A 03 ) (A 47 ),

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

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

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