




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章指令系统及
汇编程序设计2本章内容3.1指令格式3.2寻址方式3.3指令系统3.4常用伪指令3.5汇编程序设计 3.6程序设计实例3机器语言用二进制数表示指令,难以记忆。为了便于记忆,人们使用助记符、符号和数字表示指令。指令格式:Label:指令操作数1,操作数2,操作数3;注释说明: #data—表示立即数 Ri----i=0,1,表示内部RAM指针 Rn---n=0~7,表示工作寄存器 @---表示指针变量,如@R0,@DPTR3.1指令格式43.2.1七种寻址方式1、立即寻址:MOVA,#332、寄存器寻址:数据在寄存器(A、B、Rn、DPTR)中,如MOVx,R0 ADDA,R0
3、直接寻址:给出片内RAM的地址
如 MOVA,40H4、寄存器间接寻址(指针Ri、DPTR) 指针指向片外RAM或外设 如:MOVA,@R0
MOVXA,@DTPR3.2寻址方式55、变址寻址 用于取ROM中的常数,也称为查表指令: MOVCA,@A+DPTR
;6、位寻址 只能用于位资源,如: SETB20H; CLR20H.07、相对寻址 只用于相对转移指令中,如SJMPrel
JCrel3.2寻址方式(续)6MSC-51的111条指令分成五类:数据传送类指令(28条)算术运算类指令(24条)逻辑操作类指令(25条)控制转移类指令(17条)位操作类指令(17条)3.38051指令系统7指令符号有MOV、MOVC、MOVX、PUSH、POP、XCH、XCHD1.A为目的数
MOVA,Rn; MOVA,direct MOVA,@Ri; MOVA,#data2.Rn为目的数
MOVRn,A; MOVRn,direct MOVRn,#data例:(A)=78H,(R5)=47H,(70H)=0F2H MOVR5,A MOVR5,70H MOVR5,#0A3H 3.38051指令系统-数据传送类指令(1/4)83.直接地址为目的数
MOVdirect,A; MOVdirect,Rn MOVdirect,direct; MOVdirect,@Ri MOVdirect,#dada4.@Ri为目的数
MOV@Ri,A; MOV@Ri,direct MOV@Ri,#data5.DPTR为目的(16位数)
MOVDPTR,#data163.38051指令系统-数据传送类指令(2/4)93.38051指令系统-数据传送类指令(3/4)106.片外RAM(外设)传送指令,属于总线操作指令
MOVXA,@DPTR
MOVX@DPTR,A7.
ROM数据查表指令
MOVCA,@A+DPTR9.数据交换指令
XCH;累加器与RAM数据互换
SWAPA;累加器高低4位互换10.堆栈指令
PUSHACC
POPACC3.38051指令系统-数据传送类指令(4/4)11主要指令:ADD(加法)、ADDC(带进位加法)、SUBB(带借位减法)INC(自加1)、DEC(自减1) DAA;BCD加法调整 MULAB;A*B,积高8位在B中,低8位在A中 DIVAB;A/B,商在A中,余数在B中规定:1、所有双目算术指令均要通过A;2、INC、DEC用于指针加减1,不影响CY,对DPTR只有加1,不能减1;3、DAA只对A内容作BCD调整。例1:十进制加法调整指令设(A)=56H,(R0)=67H,CY=1 ADDCA,R0 DAA3.38051指令系统-算术运算类指令12主要指令:1、两数逻辑操作(典型形式为A与变量)
ANL逻辑与、ORL逻辑或、XRL逻辑异或
例:ANLA,x;设x中内容为55H,A为0xF2、对累加器A的清零、求反指令
CLR A(A清零) CPL A(A取反)3、累加器A移位指令
RL
A(循环左移) RR A(循环右移)
RLC
A(带进位循环左移) RRC A(带进位循环右移)
3.38051指令系统-逻辑操作类指令131、无条件转移:AJMP、LJMP、SJMP、JMP@A+DPTR(间接转移)2、条件转移: JZ:判断A值为0转移、JNZ:判断A值不为0转移
3、比较不相等转移CJNE
CJNEA,#DATA,LP; CJNEA,DATA,LP CJNERn,#DATA,LP; CJNE@Ri,#DATA,LP3.38051指令系统-控制转移类指令(1/2)144、循环控制DJNZRn,rel
DJNZ主要用于循环结构控制,如延时程序5、子程序调用LCALL,ACALL子程序返回指令RET
中断返回指令RETI3.38051指令系统-控制转移类指令(2/2)15例1:设计一个约1ms的延时子程序。
movr7,#2 //1个周期Lp: movr6,#0 //1个周期 djnzr6,$ //2个周期,内层循环,256*2个周期
djnzr7,lp //2个周期,外层循环,2(256*2+1)个周期
RET //2个周期共花费了____个机器周期?观察延时程序在keil中的运行时间3.38051指令系统-控制转移类指令1ms的延时子程序16主要指令:1、位传送指令:MOVC,BIT MOVC,/BIT ;取反再传送
MOVBIT,C2、位修正指令:CLR、SETB、CPL(取反)3、位与ANL、位或ORL,都要CY参与
ANLC,BIT ANLC,/BIT ;取反再逻辑与4、位转移指令 JC--CY=1转移;JNC--CY=0转移; JBbit,LP;bit为1转移
JNBbit,LP;bit为0转移主要用于控制开关量,如LED、电机等。例:3.38051指令系统-位操作类指令17汇编语言中的对象18指令系统小结通过典型实例,掌握MCS-51的常用指令,初步学习用流程图设计程序。常用指令: 传送类: MOV、MOVX、MOVC、PUSH、POP
算术类: ADD、ADDC、INC、DEC
逻辑类: ANL、ORL、RL、RLC、CPL
控制转移类:SJMP、LJMP、JB(JNB)、JC (JNC)、DJNZ、CJNE、 LCALL、RET、RETI
位操作类:SETB、CLR、CPL191、常用ORG、END、$等符号或伪指令组织程序
ORG100H中的的数字表示后面指令在ROM中的起始地址。2、用EQU定义常量,在KEIL中用DEFINE定义宏由指令和数据(即变量或常量)组成。3、ROM常数定义DB:定义1个或多个ROM字节型常数DW:定义1个或多个ROM双字节型常数,高在先,低在后3.4常用伪指令204、RAM数据定义字节变量、数组由伪指令data定义片内RAM变量,如xdata20h片外RAM变量,如yxdata1000h位变量由伪指令bit定义如k1_statusbit20h3.4常用伪指令(续)213.5汇编程序设计开发一个完整工程的过程:建立、修改一个或多个源文件汇编连接调试3.5程序设计---程序结构(1/3)程序结构:顺序结构、循环结构、分支结构。 对应指令:JB、JNB、DJNZ等
C51:if、while编写程序的依据:算法、流程图。3.5程序设计---程序结构(2/3)单片机程序从宏观看,是一个无限循环。对应指令:SJMP、LJMP。C51:while(1)3.5程序设计---程序结构(3/3)三种典型的程序结构流程图。253.6程序设计实例(1/3)例:
抢答器1.K1、K2、K3分别接P1.0、P1.1、P1.2,低电平代表按键闭合。2.发光二极管D1、D2、D3分别接P3.0、P3.1、P3.2,高电平驱动LED发光。26例:
抢答器-符号定义方法(2/3)#define K1 P1.0#define K2 P1.1#define K3 P1.2#define RED_LED P3.0#define GREEN_LED P3.1#define YELLOW_LED P3.2#define LED_ON SETB#define LED_OFF CLR#define IF_KEY_ON JNB#define IF_KEY_OFF JB定义一个符号替代另一个符号(包括指令、常数、SFR、SBIT等)SETB-位置1CLR-位清0JB-位为1则跳转JNB-位为0则跳转27例1抢答器-源程序(3/3)LP: IF_KEY_ONK1,LED1 IF_KEY_ONK2,LED2 IF_KEY_ONK3,LED3 SJMP LPLED1: LED_ONRED_LE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病原体检测技术-深度研究
- 量子算法研究前沿-深度研究
- 建筑历史与文化传承-深度研究
- 终端变量在优化算法中的应用-深度研究
- 能源储备体系建设-深度研究
- 花画工艺品市场风险预警-深度研究
- 跨界合作与运营管理创新-深度研究
- 26《我的“长生果”》(教学设计)-2024-2025学年语文五年级上册统编版
- 福利政策与家庭发展-深度研究
- 青年导演创作研究-深度研究
- 2020智能变电站调试规范
- 2025年江苏航运职业技术学院单招职业适应性考试题库带答案
- 2025年云南省中考语文试题解读及复习备考指导(深度课件)
- 7.2.3 平行线的性质与判定的综合运用(专题:巧解平行线中的拐点问题)课件-2024-2025学年新教材七年级下册数学
- 二零二五年度聘用级建造师施工技术指导聘用协议
- 2025年江苏农牧科技职业学院单招职业倾向性测试题库带答案
- 《DeepSeek入门宝典》第4册·个人使用篇
- 水渠模板工程专项施工方案
- 小班语言活动《莴苣姑娘》课件
- 2025年苏州农业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 加油站的流程优化
评论
0/150
提交评论