单片机原理及接口技术 高职 计算机项目3

上传人:E**** 文档编号:89108504 上传时间:2019-05-18 格式:PPT 页数:75 大小:1.49MB
返回 下载 相关 举报
单片机原理及接口技术 高职 计算机项目3_第1页
第1页 / 共75页
单片机原理及接口技术 高职 计算机项目3_第2页
第2页 / 共75页
单片机原理及接口技术 高职 计算机项目3_第3页
第3页 / 共75页
单片机原理及接口技术 高职 计算机项目3_第4页
第4页 / 共75页
单片机原理及接口技术 高职 计算机项目3_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《单片机原理及接口技术 高职 计算机项目3》由会员分享,可在线阅读,更多相关《单片机原理及接口技术 高职 计算机项目3(75页珍藏版)》请在金锄头文库上搜索。

1、 单 片 机 原 理 与 接 口 技 术 东北师大出版社 主编 冯川放,单片机原理及接口技术,项目3 MCS-51单片机的指令系统和程序设计,知识目标: MCS-51单片机寻址方式。 MCS-51单片机常用指令。 MCS-51单片机汇编程序设计方法。 技能目标: 掌握MCS-51单片机7种寻址方式。 掌握MCS-51单片机指令系统的常用指令。 掌握MCS-51单片机汇编程序设计的基本方法,能够依据 本章所讲述的步骤,设计满足要求的汇编程序。 【项目导读】 MCS-51单片机软件设计的基础是汇编指令。指令系统用了7种寻址方式;MCS-51单片机的指令分五大类:传送类指令、算术运算类指令、逻辑运算

2、类指令、控制转移类指令、位操作类指令;汇编程序设计中主要包括以下5类:顺序程序设计、分支程序设计、循环程序设计、查表程序设计和子程序设计;这些将作为开发单片机应用系统得重要技能。,单 片 机 原 理 与 接 口 技 术 冯川放 主编,3.1 指令系统简介,3.1.1 指令的格式,单 片 机 原 理 与 接 口 技 术 冯川放 主编,3.1.3 指令的字节数 1单字节指令 无操作数单字节指令是只有操作码字段,没有指示操作数的字段。另外也有含有操作数寄存器号的单字节指令。 2双字节指令 操作码在前,操作数在后。操作数可以是立即数,也可为表示地址的值。 3三字节指令,单 片 机 原 理 与 接 口

3、技 术 冯川放 主编,3.1.4 指令的分类,5类: 数据传送指令 算术运算指令 逻辑操作和环移指令 控制转移指令 位操作指令,单 片 机 原 理 与 接 口 技 术 冯川放 主编,3.2 寻址方式,表3-1 指令系统的符号说明 1寄存器寻址 2直接寻址 3立即数寻址 4寄存器间接寻址 5变址寻址 6相对寻址 7位寻址,单 片 机 原 理 与 接 口 技 术 冯川放 主编,MCS-51指令的寻址方式,用何种方式寻找指令的操作数 或指令的执行地址,1、立即寻址,寻址空间:,指令形式:,程序存储器,指令的操作数存放在程序存储器中,操作数紧跟操作码OP后面,立即寻址:,在 哪 里 ?,用何种方式寻找

4、,OP #data,Immediate Addressing,指令的寻址方式:,指令的寻址方式:,MOV A,# 30H,例1:,30H,MOV DPTR,# 8000H,例2:,80H,00H,2、直接寻址,寻址空间:,指令的三种形式:,直接寻址,直接寻址是访问 SFR 的唯一方法,Direct Addressing,00H7FH 80HFFH,CPU内部,直接 间接,“与”,MOV A, 30H,例1:, ,ANL 30H,#30H,例2:, ,“结果”,3、寄存器寻址,寻址空间:,指令的三种形式:,当前选定的寄存器内容就是实际操作数,MOV A,R3,例1:,ADD A,R3,例2:,寄

5、存器寻址:,Register Addressing,操作数隐含,操作数显然,隐含寻址,4、寄存器间接寻址,寻址空间:,指令的三种形式:,寄存器间接寻址:,Register Indirect Addressing,上页,下页,回目录,MOV R0,A,例1:,;累加器传送指令, ,MOVX A,DPTR,例2:, ,“读”,“读”,上页,下页,回目录,5、基址寄存器加变址寄存器间接寻址,基址寄存器加变址寄存器间接寻址:,以DPTR或PC作基址寄存器,A作变址寄存器 两者相加形成操作数地址。,寻址空间:,程序存储器(A+DPTR、A+PC),指令形式:,MOVC A,A+DPTR,例:,设(A)=

6、 0FH (DPTR)= 2400H, ,“读”,“读”,MOVC A,A+DPTR,6、相对寻址,程序存储器,寻址空间:,指令的三种形式:,相对寻址,以当前PC值为基准地址,加上指令的偏移量“rel”,结果为目标地址。rel为有符号补码数,范围:-128+127,一般为双字节或三字节指令,Relative Addressing,寻址指令 执行地址 目标地址,JNZ rel,例:,; 累加器A不等零则转移 设:rel=23H,(PC)=2002H,rel=23H,修正后转移 目标地址D (PC) = 2025H,(PC) = 2 0 0 2 H,Rel = 2 3 H,),0,0,5,2,0,

7、2,H,D =,(PC)=2112H,rel=F2H,修正后转移 目标地址 D (PC) = 2104H,例:DJNZ R7,rel ;(R7) 1不为“0”则转,(PC) = 2 1 1 2 H,Rel = F 2 H,),F,F,4,0,1,2,H,D =,7、位寻址,寻址空间:,片内RAM的20H2FH字节地址 位地址:00H7FH 共128位,SFR中12个能被8整除的字节地址 位地址请参看P43 表2-16 共93位,Bit Addressing,以访问触发器的方式,对内部RAM、SFR 的位地址空间进行访问,称为位寻址。位地址 用于布尔指令。,3.3 指令系统分类介绍,3.3.1

8、数据传送类指令 数据传送是向CPU提供操作数据的最基本和最主要的操作,相当丰富,共有29条 执行数据传送类指令时不影响程序状态字的各位(奇偶位P除外) 1内部8位数据传送指令 MOV 目的操作数, 源操作数 内部数据存储器、工作寄存器之间的数据传送,共15条 以A累加器为目的字节的传送指令 MOV A, #data MOV A, direct MOV A, Rn ; n=0,7 MOV A, Ri ; i=0, 例3-1,单 片 机 原 理 与 接 口 技 术 冯川放 主编,2) 以Rn为目的字节的传送指令 MOV Rn,A ;n=0,7 MOV Rn,#data ;n=0,7 MOV Rn,

9、direct ;n=0,7 【例3-2】分析下列指令的执行结果。 MOV R0,A ;(R0) (A) MOV R1,20H ;(R1) (20H) MOV R5,#30H ;(R5)30H 3) 以直接地址为目的字节的传送指令 MOV direct1,A MOV direct1,Rn ;n=0,7 MOV direct1,#data MOV direct1,direct2 MOV direct1,Ri ;i=0,1,单 片 机 原 理 与 接 口 技 术 冯川放 主编,4) 以寄存器间接地址为目的字节的传送指令 MOV Ri,A MOV Ri,direct ;i=0,1 MOV Ri,#da

10、ta 例3-4 设(R6)=30H,(70H)=40H,(R0)=50H,(50H)=60H,(R1)=66H,(66H)=45H,执行以下指令后,结果如下: MOV A,R6 ;(A) (R6),(A)=30H MOV R7,70H ;(R7) (70H),(R7)=40H MOV 70H,50H ;(70H) (50H),(70H)=60H MOV 40H,R0 ;(40H) (R0),(40H)=60H MOV R1,#88H ;(R1)88H,(66H)=88H 216位数据传送指令 MOV DPTR,#data16,单 片 机 原 理 与 接 口 技 术 冯川放 主编,3单片机与外部

11、数据存储器数据传送指令 MOVX A,DPTR MOVX A,Ri ;i=0,1 MOVX DPTR ,A MOVX Ri,A ;i=0,1 例3-5 把累加器A中的数传送到外部数据存储器2000H单元中。 MOV DPTR,#2000H ;(DPTR)2000H MOVX DPTR,A ;(DPTR)(A) 例3-6 将外部数据存储器2040H单元中的数取出,并传送到外部数据存储器2560H单元中。 MOV DPTR,#2040H MOVX A,DPTR MOV DPTR,#2560H MOVX DPTR,A,单 片 机 原 理 与 接 口 技 术 冯川放 主编,4单片机与程序存储器传送数据

12、指令 MOVC A,A+PC MOVC A,A+DPTR 这两条指令又称为查表指令 指令MOVC A, A+DPTR允许数表存放在程序存储器64KB的任意单元 指令MOVC A, A+PC只允许数表存放在该指令以下的256个单元,单 片 机 原 理 与 接 口 技 术 冯川放 主编,5交换与查表类指令,1) 字节交换指令 XCH A,Rn ;n=07 XCH A,direct XCH A,Ri ;i=0,1 2) 半字节交换指令 XCHD A,Ri ;i=0,1 3) 累加器A中高4位和低4位交换 SWAP A 6堆栈操作指令 压栈(进栈)指令:PUSH direct;其功能是先将堆栈指针SP

13、加1,然后将源地址direct单元中的数传送到SP所指示的单元中去 弹出(出栈)指令:POP direct;其功能是先将堆栈指针SP所指示的单元中的数据弹出,传送到目标地址direct单元中去,然后SP减1,单 片 机 原 理 与 接 口 技 术 冯川放 主编,3.3.2 算术运算类指令,加、减、乘、除、加1和减1指令 算术运算结果将影响PSW中的进位C、半进位AC、溢出位OV三个标志位 加1和减1指令不影响这些标志位。,单 片 机 原 理 与 接 口 技 术 冯川放 主编,1加法指令 不带进位加法指令 ADD A,Rn ;n=0,7 ADD A,direct ADD A,Ri ;i=0,1

14、ADD A,#data 2) 带进位加法指令 ADDC A,Rn ;n=0,7 ADDC A,direct ADDC A,Ri ;i=0,1 ADDC A,#data,单 片 机 原 理 与 接 口 技 术 冯川放 主编,【例3-11】设(A)=53H,(R0)=0FCH,执行指令ADD A,R0以后,各寄存器值如何变化? 解 (A)=4FH,C=1,AC=0,OV=0,P=1。 【例3-12】设(A)=85H,(20H)=0FFH,C=1,执行指令ADDC A, 20H以后,各寄存器值如何变化? 解 (A)=85H,C=1,AC=1,OV=0,P=1。 【例3-13】 将(31H)、(30H

15、)和(41H)、(40H)中的两个双字节无符号数相加,结果送 (52H)、(51H)、(50H)单元(高位字节在前)。 解程序如下。 MOV A,30H ADD A, 40H MOV 50H,A MOV A,31H ADDC A,41H MOV 51H,A MOV A,#00H ADDC A,#00H MOV 52H,A,单 片 机 原 理 与 接 口 技 术 冯川放 主编,2带借位的减法指令 SUBB A,Rn ;n=0、7 SUBB A,direct SUBB A,Ri ;i=0、1 SUBB A,#data 【例3-14】设(A)=0C9H,(R2)=54H,C=1,执行指令SUBB A,R2以后,各寄存器值如何变化? 解 (A)=74H,C=0,AC=0,OV=1,P=0。 1 带进位的加法指令和带借位的减法指令主要用于多字节加减法运算。 2 在进行多字节加、减法运算时,加法运算最低字节用不带进位的加法运算指令。 3 减法运算时,最低位相减前,要先清除PSW中的C之后再执行减法指令。其他字节 相加减时,需要使用带进位的加法或带借位的减法指令。,单 片 机 原 理 与 接 口 技 术 冯川放 主编,3加1、减1指令 加1指令 INC A INC Rn ;n=0,7 INC dir

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

当前位置:首页 > 高等教育 > 其它相关文档

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