版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自动化核心专业课单片机及接口技术Single-ChipMicrocomputer&InterfaceTechnologyCH3MCS-51单片机指令系统及汇编程序设计(第5讲)主讲人:于水娟主要内容§3-4MCS-51单片机指令系统3.4.4控制转移类指令思考练习题3.4.5位操作指令3.4.4控制转移类指令(17条)控制程序转移指令主要是修改程序计数器PC的内容。大多不影响标志位。分四类:(一)无条件转移指令(4条)(二)条件转移指令(8条)(三)子程序调用与返回指令(4条)(四)空操作指令(1条)§3-4MCS-51单片机指令系统
1、长转移指令LJMP addr16功能:PC←addr16
00000010a15…………a8a7…………a0指令格式:三字节(一)无条件转移指令(4条)
程序执行到这条指令一定要转移!由于addr16是16位,转移的目标地址范围是程序存储器的0000~FFFFH,达64KB。§3-4MCS-51单片机指令系统2、绝对转移指令AJMPaddr11指令格式:双字节
a10a9a800001a7…………a0指令中只给出要转移的11位地址功能:①(原PC)+2→PC②PC10~0←addr11,(PC15~11)不变§3-4MCS-51单片机指令系统例题:LOOP:AJMPaddr11已知:addr11=00111110000B(1)当LOOP为1030H时,指令存放在1030H和1031H,指令执行后程序转移到?例题:LOOP:AJMPaddr11已知:addr11=00111110000B(条件同前)(2)当LOOP为3030H时,程序转移到?3、短转移指令(相对转移指令)
SJMPrel
指令给出转移地址的偏移量rel
10000000rel
PC←(原PC)+2+rel功能:指令格式:双字节:§3-4MCS-51单片机指令系统例1:LOOP:SJMPrel;
已知:LOOP=2000H,rel=54H
相对寻址过程如图:正数表示正向(向前)转移偏移量rel的含义和计算:rel是8位二进制补码表示的带符号数范围:-128~+1270~+127对应表示:00H~7FH-128~-1对应表示:80H~FFH目的地址=转移地址=(原PC)+2+rel目的地址=转移地址=(当前PC)+rel
rel
=目的地址-(当前PC)§3-4MCS-51单片机指令系统例2:LOOP:SJMPrel
已知LOOP=2000H,转移目的地址=2000H计算rel:rel=目的地址-(当前PC)=2000H-2002H=-2H(FEH)另一种汇编格式: LOOP:SJMP2000H
LOOP:SJMPrel(2000H:SJMP2000H)
执行过程负数表示反向(向后)转移4、长相对转移指令(又称散转指令)
JMP @A+DPTR
单字节指令:
01110011功能:PC←(A)+(DPTR)DPTR内容为基址,A的内容作变址(A是8位无符号二进制数)。只要把DPTR的值固定,而给A赋以不同的值,即可实现程序的多分支转移。可代替众多的判别跳转指令。§3-4MCS-51单片机指令系统当(A)=0时,转到2000H单元
当(A)=1时,转到2002H单元例:键盘上有四个操作键,用来控制电机的运转,请编出键盘译码程序。键功能键值处理程序正转0ZZ反转1FZ快速2KS慢速3MS指令表指令地址指令2000HAJMPZZ2002HAJMPFZ2004HAJMPKS2006HAJMPMS当(A)=0时,转2000H单元
当(A)=1时,转2002H单元MOVDPTR,#2000H;2000H为基址MOVA,#NUMB;取键值RLA;完成乘2操作JMP@A+DPTR;转操作键处理程序AJMPZZ;转正转程序AJMPFZ;转反转程序AJMPKS;转快速程序AJMPMS ;转慢速程序…………2000H2002H2004H2006H由于AJMP是两字节指令,在散转前对A的内容乘2思考:若将AJMP换成LJMP,则如何改写程序?(二)条件转移指令(8条)
都是相对转移指令条件转移指令是:程序执行到这条指令时若满足条件就转移;不满足条件就不转移,仍按原来顺序继续执行下一条指令。§3-4MCS-51单片机指令系统1、累加器判零转移指令(2条)
JZrel
当(A)=0,则转移PC=(原PC)+2+rel当(A)≠0,则程序顺序执行(原PC)+2→PCJNZrel
当(A)≠0,则转移PC=(原PC)+2+rel当(A)=0,则程序顺序执行(原PC)+2→PC
§3-4MCS-51单片机指令系统例题:0100H:JZ LAB1
0102H:DECA
0103H:JZ LAB2设(A)=01H,LAB1=01B0H,LAB2=0150H计算2个偏移量确定程序转向1)rel1=01B0H-0102H=AEH2)rel2=0150H-0105H=4BH3)程序转向LAB2=0150H2、比较不相等转移指令〔两数不等转移指令〕(4条)CJNEA,direct,rel CJNEA,#data,rel CJNERn,#data,relCJNE@Ri,#data,rel
都是三字节指令!§3-4MCS-51单片机指令系统格式:
CJNE(左操作数),(右操作数),rel功能:(左操作数)-(右操作数)①比较两数是否相等不相等:转移为(原PC)+3+rel→目的PC相等:顺序执行(原PC)+3→PC②比较大小若(左操作数)>
(右操作数)则置Cy=0,否则Cy=1指令执行后操作数不变!§3-4MCS-51单片机指令系统3、循环转移指令〔减1不为0转移指令〕(2条)操作:(Rn)-1→Rn若Rn≠0,循环转移到(原PC)+2+rel→PC若Rn=0,顺序执行(原PC)+2→PC功能:用于控制程序的循环次数,Rn作循环次数计算器。1)DJNZRn,rel
操作码rel
占两个字节§3-4MCS-51单片机指令系统2)DJNZdirect,rel操作:(direct)-1→direct若direct≠0,循环转移(原PC)+3+rel→PC若direct=0,顺序执行(原PC)+3→PC功能:用于控制程序的循环次数。direct作循环次数计算器。11010101directrel三个字节3、循环转移指令(2条)〔减1不为0转移指令〕§3-4MCS-51单片机指令系统例:将内部RAM从40H开始的连续20个单元的数据,传送到外部RAM从2000H开始的连续单元中。解:ORG 1000HMOV R1,#20 ;置循环次数 MOV R0,#40H MOV DPTR,#2000H LOOP:MOV A,@R0 MOVX @DPTR,A INCR0 INCDPTR DJNZ R1,LOOP SJMP $
END思考:遇到第一个0,立刻停止传送?(三)子程序调用和返回指令(4条)为何引入子程序?在程序设计中,常出现几个地方都需要进行功能完全相同的处理,为减少程序编写和调试的工作量,使某一段程序能被公用,于是引入了主程序和子程序的概念。
什么叫子程序?常把具有一定功能的公用程序段作为子程序而单独编写,当主程序需要引用这一子程序时,可利用调用指令CALL对子程序进行调用。在子程序末尾安排一条返回指令RET,使子程序执行结束后能返回主程序。§3-4MCS-51单片机指令系统返回2返回1第2次调用第1次调用子程序DELAY主程序断点断点主程序调用子程序以及从子程序返回示意图§3-4MCS-51单片机指令系统1、长调用指令LCALLaddr16
指令存储格式:占3个字节指令功能:1)当前PC{断点地址(PC+3)}压栈;2)16位子程序入口地址addr16→PC。
※LCALL可调用程序存储器64kB范围内任一子程序。00010010a15…….a8a7…….a0§3-4MCS-51单片机指令系统例:执行指令LCALLSUB
设:(SP)=40H,(PC)=1200H,子程序入口地址SUB为5500H。(PC)=5500H执行结果:2、绝对调用指令ACALLaddr11
指令存储格式:占2个字节功能:1)当前PC{断点地址(PC+2)}压栈;2)11位子程序入口地址addr11→PC10~0,(PC15~11)不变。※只可调用在ACALL指令后2kB范围内的子程序。a10a9a810001a7…………a0§3-4MCS-51单片机指令系统例:执行指令: ACALLSUB
设:(SP)=40H,(PC)=2200H,子程序入口地址SUB为2355H。(PC)=0010
001101010101B=2355H因为:SUB=2355H=00100
01101010101执行结果:3、子程序返回指令:RET定义:返回指令是使CPU从子程序返回到主程序的指令。功能:从堆栈中自动弹出断点地址(栈顶两个连续元)→PC。PC15~8←((SP)),SP←(SP)-1PC7~0←((SP)),SP←(SP)-1§3-4MCS-51单片机指令系统4、中断返回指令RETI(了解)定义:该指令除了执行RET指令的操作外,还清除内部相应的中断优先级有效触发器。因此,中断服务程序必须以RETI为结束指令。功能:从栈顶两个连续单元弹出断点地址→PC清除内部相应的中断优先级有效触发器§3-4MCS-51单片机指令系统(四)空操作指令:NOP
操作:(原PC)+1→PC功能:仅使PC加1,然后继续执行下条指令,无任何其它操作。00000000作用:延时程序中产生一个机器周期的延迟调试程序中用为单周期、单字节指令§3-4MCS-51单片机指令系统3.4.5位操作类指令(17条)MCS-51单片机内设置了独立的布尔处理器,它具有相应的一套位操作指令。位存储器:在进行位操作时,进位标志Cy作位累加器C。片内RAM字节地址为20H~2FH的连续128位(00H~7FH)能被8整除的SFR的83位(80H~FFH)位操作指令可实现传送、逻辑运算、控制程序转移等功能§3-4MCS-51单片机指令系统位地址的5种表示方式:直接位地址:0~255或00H~FFH。位名称:F0(PSW的),TI(SCON的),EA(IE的)单元地址.位:25H.0→28H,20H.0→00H专用寄存器符号.位:P0.5,PSW.5伪指令定义的符号:USR:BITF0§3-4MCS-51单片机指令系统(一)位传送指令(2条)MOVC,bit;(bit)→Cy MOVbit,C;(Cy)→bit 双字节Bit是位地址,可有5种表示方式。§3-4MCS-51单片机指令系统(二)位置位清0指令(4条)清0:CLR C ;C←0CLR bit ;bit←0置1:SETB C ;C←1SETB bit ;bit←1§3-4MCS-51单片机指令系统(三)位逻辑运算指令(6条)位逻辑”与”运算ANLC,bit;(Cy)∧(bit)→CyANLC,/bit;(Cy)∧(/bit)→Cy 位逻辑”或”运算ORLC,bit ;(Cy)∨(bit)→CyORLC,/bit ;(Cy)∨(/bit)→Cy取反CPL C ;C←/(C)CPL bit ;(bit)←/(bit)§3-4MCS-51单片机指令系统已知:(21H)=FEH,(24H)=80H,(P1)=00HCLR CCPL 08HCLR 27HCPLCMOV 20H,CSETB P1.7(C)=(21H)=(24H)=(P1)=1FFH01H80H分析下面位操作指令顺序执行后的结果:§3-4MCS-51单片机指令系统例:编写实现下列逻辑操作的程序段若(P1.0)=1,(ACC.7)=1,且(OV)=0时,将位累加器CY置1,程序如下:MOVC,P1.0ANLC,ACC.7ANLC,/OV执行结果:当满足给定的条件,必将CY置1。§3-4MCS-51单片机指令系统(四)位条件转移指令(5条)功能:分别检测指定位是1还是0。若条件符合,则转移;条件不符合,则顺序执行。§3-4MCS-51单片机指令系统1、以CY内容为条件的转移指令(2条)
JCrel若(Cy)=1,则转移(原PC)+2+rel→PC若(Cy)=0,则顺序执行(原PC)+2→PCJNCrel若(Cy)=0,则转移(原PC)+2+rel→PC若(Cy)=1,则顺序执行(原PC)+2→PC§3-4MCS-51单片机指令系统2、以位地址内容为条件的转移指令(3条)(3字节)
JBbit,rel若(bit)=1,则转移(PC)+3+rel→PC若(bit)=0,则顺序执行(PC)+3→PCJNBbit,rel若(bit)=0,则转移(PC)+3+rel→PC若(bit)=1,则顺序执行(PC)+3→PCJBCbit,rel(判位变量并清0转移指令)若(bit)=1,则转移(PC)+3+rel→PC且0→bit若(bit)=0,则顺序执行(PC)+3→PC§3-4MCS-51单片机指令系统1.将外部数据存储器RAM从1000H开始的连续单元的数据,传送到内部RAM从40H开始的连续单元,所传送的数据为零时,传送停止。 MOV DPTR,#1000H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年部编版历史八年级下册第一、二单元综合评估卷(含答案)
- 2024年度煤矿智能化控制系统集成合同
- 04版不锈钢水箱购销合同-食品级不锈钢材料
- 04版工程分包合同文件
- 2024年度技术转让合同技术内容详细描述及转让费用具体条款
- 2024年度叉车物流信息化建设合同
- 2024年度不锈钢电视墙安装合同
- 2024年度北京车牌租赁合同(标准版官方发布)
- 2024年度健身俱乐部教练服务承包合同
- 2024年度健身服务合同标的及服务项目
- 100 米运动员的专项体能训练内容和计划
- 青少年科技创新活动和创新大赛项目指导
- (6.5)-第五章遵守道德规范 锤炼道德品质
- 国开管理英语1学习行为表现的心得
- 积极心理学:塑造刚健自信的中国青年智慧树知到课后章节答案2023年下上海思博职业技术学院
- 糖尿病中医药知识健康讲座
- 钢结构框架厂房工程施工方法及技术措施
- 老年人静脉血栓栓塞症防治中国专家共识(2023版)解读
- 挂篮验收记录表
- 加油站特殊作业安全管理制度
- 中华优秀传统文化智慧树知到课后章节答案2023年下浙江金融职业学院
评论
0/150
提交评论