计算机在热加工中的应用-第4章4[1].5单片机指令与汇编语言程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章传感器技术计算机在热加工中的应用西安工业大学材化学院主讲:王喜锋12课时本章要点1.了解数制及转换,门电路知识2.了解AT89S51单片机系统结构,组成原理,搭建简单系统。3.掌握AT89S51单片机基本指令系统,编写简单应用程序。第4章单片机系统第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用第4章目录•4.1单片机基础知识•4.2单片机基本组成与工作原理•4.3单片机汇编语言及内部RAM操作指令•4.4单片机IO端口与应用实例•4.5单片机指令与汇编语言程序设计第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用目录4.5.4、算术运算、逻辑运算和交换指令4.5.1、程序设计的基本方法与顺序程序设计4.5.2、控制转移指令与循环程序、分支程序设计4.5.3、堆栈及其操作指令4.5.5、查表指令与查表程序设计第4.5节单片机指令与汇编程序设计•本节要点1.了解单片机汇编程序几种结构及一些指令2.掌握查表指令及查表程序设计3.了解数码管显示原理及程序设计。3课时第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用一、程序设计的步骤1、分析问题,明确所要解决问题的要求,确定算法或解题思路2、画流程图起止框处理框判断框输入/输出框流程指向线第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用3、编写源程序4、汇编和调试程序书写的两种格式:第一种是完整程序格式的形式,即在上节介绍的程序一般结构。第二种就是子程序的形式。二、顺序程序设计顺序程序设计:又叫直线程序,它是按照指令的顺序依次执行的程序,它也是所有程序设计中最基本、最重要的程序。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用目录4.5.4、算术运算、逻辑运算和交换指令4.5.1、程序设计的基本方法与顺序程序设计4.5.2、控制转移指令与循环程序、分支程序设计4.5.3、堆栈及其操作指令4.5.5、查表指令与查表程序设计第4.5节单片机指令与汇编程序设计第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用一、循环程序的结构1、循环程序:主要是用来实现功能相同、反复执行的操作。Y图-循环程序的两种结构N循环体循环修改循环初值退出循环N循环体循环修改循环初值退出循环循环控制循环控制Y第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用2、加1和减1指令。(1)加1指令1)INCA;A←A+12)INCRn;Rn←Rn+13)INCdirect;(direct)←(direct)+14)INC@Ri;(Ri)←(Ri)+15)INCDPTR;DPTR←DPTR+1(2)减1指令1)DECA;A←A-12)DECRn;Rn←Rn-13)DECdirect;(direct)←(direct)-14)DEC@Ri;(Ri)←(Ri)-1第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用二、比较转移指令(1)CJNEA,#data,rel;PC←PC+3,若A=data,程序顺序执行;若A﹥data,PC←PC+rel,程序转移,Cy=0;;若A﹤data,PC←PC+rel,程序转移,Cy=1;(2)CJNERn,#data,rel;PC←PC+3,若Rn=data,程序顺序执行;若Rn﹥data,PC←PC+rel,程序转移,Cy=0;;若Rn﹤data,PC←PC+rel,程序转移,Cy=1;(3)CJNE@Ri,#data,rel;PC←PC+3,若=data,程序顺序执行;若(Ri)﹥data,PC←PC+rel,程序转移,Cy=0;;若(Ri)﹤data,PC←PC+rel,程序转移,Cy=1;(4)CJNEA,direct,rel;PC←PC+3,若A=(direct),程序顺序执行;;若A﹥(direct),PC←PC+rel,程序转移,Cy=0;;若A﹤(direct),PC←PC+rel,程序转移,Cy=1;第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用(1)循环左移指令RLA;三、循环移位指令(2)循环右移指令RRA;(3)带进位位的循环左移指令RLCA;(4)带进位位的循环右移指令RRCA;A7A0A7A0A7A0CyA7A0Cy第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用(1)判A转移指令JZrel;PC←PC+2,若A=0,则转移,;PC←PC+rel;若A≠0,则顺序执行。JNZrel;PC←PC+2,若A≠0,则转移,;PC←PC+rel;若A=0,则顺序执行。四、条件转移指令第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用(2)判Cy转移指令JCrel;PC←PC+2,若Cy=1,则转移,;PC←PC+rel;若Cy=0,则顺序执行。JNCrel;PC←PC+2,若Cy=0,则转移,;PC←PC+rel;若Cy=1,则顺序执行。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用(3)判位转移指令JBbit,rel;PC←PC+3,若(bit)=1,;则转移,PC←PC+rel;若(bit)=0,则顺序执行。JNBbit,rel;PC←PC+3,若(bit)=0,;则转移,PC←PC+rel;若(bit)=1,则顺序执行。JBCbit,rel;PC←PC+3,若(bit)=0,;则顺序执行。;若(bit)=1,则转移,;PC←PC+rel,且(bit)←0第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用五、分支程序的设计1.单分支结构程序条件成立?2.多分支结构程序S1(A)=nS0Sn…分支0分支1分支n散转程序结构图第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用目录4.5.4、算术运算、逻辑运算和交换指令4.5.1、程序设计的基本方法与顺序程序设计4.5.2、控制转移指令与循环程序、分支程序设计4.5.3、堆栈及其操作指令4.5.5、查表指令与查表程序设计第4.5节单片机指令与汇编程序设计第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用一、堆栈的概念1、堆栈是内部RAM中一段用来暂时存放数据的存储区,通常用来保护断点和现场。2、SP——堆栈指针对其进行管理,SP始终指向堆栈顶部数据的地址,SP在单片机复位后它的值是07H。3、堆栈中数据的存取方式按照先进后出、后进先出的原则进行。4、堆栈操作(1)压栈:先将SP加1,然后将要压入堆栈的数据送到SP指示的单元中。(2)弹栈:先将数据弹出,然后将SP减1,指向新的单元。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用二、堆栈操作指令1、堆栈操作指令PUSHdirect;①SP+1→SP,;②(direct)→(SP)POPdirect;①(SP)→(direct),;②SP-1→SP[例3-13]已知SP=60H,分析执行下列指令后的结果。MOVDPTR,#1234H;DPTR=1234HPUSHDPH;SP+1→SP,SP=61H,(DPH)→(SP),;(61H)=12H。PUSHDPL;SP+1→SP,SP=62H,(DPH)→(SP),;(62H)=34H。POPDPH;DPH=(SP)=(62H)=34H,SP-1→SP,;SP=61H。POPDPL;DPH=(SP)=(61H)=12H,SP-1→SP,;SP=60H。执行结果:SP=60H,两次压栈,两次出栈,SP不变;DPTR=3412H,和原来的值高低位颠倒,从本例可以看出,堆栈的操作一定要注意操作规则:先进后出、后进先出。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用(2)隐含的堆栈操作指令LCALLaddr16;①PC←PC+3,;②SP+1→SP,PC7~0→(SP);③SP+1→SP,PC15~8→(SP),;④addr16→PCACALLaddr11;①PC←PC+2,;②SP+1→SP,PC7~0→(SP);③SP+1→SP,PC15~8→(SP),;④addr11→PC10~0RET;①(SP)→PC15~8,SP-1→SP。;②(SP)→PC7~0,SP-1→SP。中断的响应与返回也会对堆栈进行操作。一般情况下,应在初始化区对SP进行设置,将堆栈设定在数据缓冲区。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用目录4.5.4、算术运算、逻辑运算和交换指令4.5.1、程序设计的基本方法与顺序程序设计4.5.2、控制转移指令与循环程序、分支程序设计4.5.3、堆栈及其操作指令4.5.5、查表指令与查表程序设计第4.5节单片机指令与汇编程序设计第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用一、算术运算指令1、加法指令(1)不带进位位的加法指令ADDA,#data;A+data→A,最高位有进位;时,Cy=1;否则,Cy=0。ADDA,Rn;A+Rn→A,最高位有进位时,;Cy=1;否则,Cy=0。ADDA,direct;A+(direct)→A,最高位;有进位时,Cy=1;否则,Cy=0。ADDA,@Ri;A+(Ri)→A,最高位有进位;时,Cy=1;否则,Cy=0。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用(2)带进位位的加法指令ADDCA,#data;A+data+Cy→A,最高位有进位;时,Cy=1;否则,Cy=0。ADDCA,Rn;A+Rn+Cy→A,最高位有进位时,;Cy=1;否则,Cy=0。ADDCA,direct;A+(direct)+Cy→A,最高位;有进位时,Cy=1;否则,Cy=0。ADDCA,@Ri;A+(Ri)+Cy→A,最高位有进;位时,Cy=1;否则,Cy=0。ADD用于首次相加,ADDC用于除首次以外的相加第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用2.减法指令SUBBA,#data;A-data-Cy→A,高位有借位;时,Cy=1,否则,Cy=0。SUBBA,Rn;A-Rn-Cy→A,高位有借位时,;Cy=1,否则,Cy=0。SUBBA,direct;A-(direct)-Cy→A,高位;有借位时,Cy=1,否则,Cy=0。SUBBA,@Ri;A-(Ri)-Cy→A,高位有借;位时,Cy=1,否则,Cy=0。减法只有带进位位的减法指令,因此第一次执行除法时,需要将Cy清0。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用3.乘法指令MULAB;A×B→BA实现两个8位的无符号数相乘4.除法指令DIVAB;A÷B的商存放在A中,余数存放;在B中,Cy=0,OV=0。第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用二、逻辑运算指令1.逻辑“与”运算指令ANLA,#data;A∧data→AANLA,Rn;A∧Rn→AANLA,direct;A∧(direct)→AANLA,@Ri;A∧(Ri)→AANLdirect,#data;(direct)∧data→AANLdirect,A;(direct)∧A→A2.逻辑“或”运算指令ORLA,#data;A∨data→AORLA,Rn;A∨Rn→AORLA,direct;A∨(direct)→A……………………第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用3.逻辑“异或”运算指令XRLA,#data;A⊕data→AXRLA,Rn;A⊕Rn→AXRLA,direct;A⊕(direct)→AXRLA,@Ri;A⊕(Ri)→AXRLdirect,#data;(direct)⊕data→AXRLdirect,A;(direct)⊕A→A第4.5节单片机指令与汇编语言程序设计计算机在热加工中应用4.位逻辑运算指令(1)位逻辑“与”运算指令ANLC,bit;C∧(bit)→CANLC,/bit;C∧(bit)→C(2)位逻辑“或”运算指令ORLC,bit;C∨(bit)→CORLC,/bit;C∨(bit)→C5.交换指令(1)字节交换指令XCHA,Rn;A←→RnXCHA,@Ri;A←→(Ri)XCHA

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功