欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Holtek(合泰)单片机指令介绍.ppt

    • 资源ID:5433242       资源大小:951.50KB        全文页数:136页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Holtek(合泰)单片机指令介绍.ppt

    HOLTEK MCU,软件指令介绍,MCU概述指令系统概述HOLTEK指令系统,MCU概述指令系统概述HOLTEK指令系统,MCU概述(组成架构),MCU的基本结构由以下几个部分组成:PC(Program counter 程序计数器)ROM(Program memory 程序存储器)RAM(Data memory 数据存储器)ACC(Accumulator 累加器)ALU(Arithmetic and logic unit 算术逻辑单元)STATUS(Status register 状态寄存器)STACK(Stack register 堆栈寄存器),MCU概述指令系统概述HOLTEK指令系统,指令系统概述,分类寻址方式指令周期状态寄存器指令中的常用符号,分类,HOLTEK8位系列单片机共有63条功能强大的汇编指令。这些指令按功能可分为以下七类。数据传送指令算术运算指令逻辑运算指令控制和转移指令位操作指令读表指令其它指令,寻址方式,立即寻址:指令中直接给出操作数(立即数)例:MOV A,直接寻址:指令中给出操作数的地址,该方式只允许在存储器之间传送数据例:MOV,ACLR,33H,20H,30H,寻址方式,间接寻址:用到间接寻址寄存器(R0,R1)进行寻址操作例:MOV,A特殊寄存器寻址:针对某一特殊寄存器作运算例:CLR指针寻址:配合查表指令使用例:MOV,ATABRDC ACC,R0,WDT,TBLP,指令周期,一个指令周期包括四个系统时钟周期。指令的提取和执行呈流水线工作。,指令周期,由于采用了流水线的工作方式,因此多数指令都能在1个指令周期内执行完成。查表指令是2周期指令。(若查表所得内容的低8位送往PCL,则该指令的执行就需要3个指令周期。)凡是使程序非顺序执行的指令,其执行时间需要2个指令周期。(包括:JMP、CALL等,指令MOV PCL,A、以及SZ、SIZ等判断条件成立时。),状态寄存器,零标志,进位标志,半进位标志,溢出标志,掉电标志,WDT溢出标志,指令中的常用符号,X:8位立即数M:数据存储器地址A:累加器I:0-7位Addr:程序存储器地址:数据传送方向,MCU概述指令系统概述HOLTEK指令系统,HOLTEK指令系统,数据传送指令(3条)算术运算指令(15条)逻辑运算指令(19条)控制和转移指令(11条)位运算指令(4条)读表指令(2条)其它指令(9条),数据传送指令,数据传送指令是应用最频繁的指令助记符为MOV,其汇编语言指令格式为MOV 目的字节,源字节指令功能是将源字节的内容传送到目的字节,源字节的内容不变。这类指令不影响标志位。,MOV A,m,指令说明:,RAM,ACC,MOV m,A,指令说明:,RAM,ACC,MOV A,X,指令说明:,ROM,ACC,MOV A,50H,ACC,50H,51H,RAM,00H,10H,20H,10H,10H,55H,MOV 51H,A,MOV A,55H,例,算术运算指令,算术运算指令包括加、减、加1、减1等指令。这类指令大都影响标志位。,带进位的加法指令,ADC A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,STATUS,RAM,ACC+m+C,ADCM A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,STATUS,RAM,ACC+m+C,例,ACC,50H,51H,RAM,55H,10H,10H,66H,76H,ADC A,50H,ADCM A,51H,加法指令,ADD A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,RAM,ACC+m,ADDM A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,RAM,ACC+m,ADD A,X,指令说明:影响标志:OV,Z,AC,C,ROM,ALUShifter,ACC,ACC+X,例,ACC,60H,61H,RAM,66H,5BH,22H,C1H,E3H,ADD A,60H,ADDM A,61H,1,1,ADD A,51H,0,0,12H,1,BCD码修正指令,DAA m,指令说明:影响标志:C,若ACC低四位的值大于9或AC1,則低四位加上6;,ACC,ALUShifter,RAM,若ACC高四位的值大于9或C1,則高四位加上6;,STATUS,-,-,TO,PD,OV,Z,AC,C,例,ACC,53H,54H,RAM,12H,00H,00H,69H,E1H,MOV A,69H,ADD A,78H,DAA 53H,1,1,47H,1,带借位的减法指令,SBC A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,STATUS,RAM,SBCM A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,STATUS,RAM,STATUS,-,-,TO,PD,OV,Z,AC,C,例,ACC,70H,71H,RAM,E1H,23H,45H,BDH,78H,SBC A,70H,SBCM A,71H,1,1,1,减法指令,SUB A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,RAM,SUBM A,m,指令说明:影响标志:OV,Z,AC,C,ACC,ALUShifter,RAM,SUB A,X,指令说明:影响标志:OV,Z,AC,C,ROM,ALUShifter,ACC,STATUS,-,-,TO,PD,OV,Z,AC,C,例,ACC,80H,81H,RAM,BDH,12H,34H,ABH,77H,SUB A,80H,SUBM A,81H,1,1,SUB A,56H,1,55H,加1指令,INC m,指令说明:影响标志:Z,ALUShifter,RAM,m+1,INCA m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,m+1,减1指令,DEC m,指令说明:影响标志:Z,ALUShifter,RAM,m-1,DECA m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,m-1,STATUS,-,-,TO,PD,OV,Z,AC,C,例,ACC,90H,91H,RAM,55H,FEH,20H,FFH,00H,INC 90H,INCA 90H,1,0,DEC 91H,DECA 91H,1FH,1EH,逻辑运算指令,逻辑运算指令包括与、或、异或、循环及求反指令。它们在执行时大都影响标志位。,逻辑与指令,AND A,m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,ACC“AND”m,ANDM A,m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,ACC“AND”m,AND A,X,指令说明:影响标志:Z,ROM,ALUShifter,ACC,ACC“AND”X,例AND A,40H,运算前:ACC=19H00011001B40H=B8H10111000B运算后:ACC=18H00011000B40H=B8H,逻辑或指令,OR A,m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,ACC“OR”m,ORM A,m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,ACC“OR”m,OR A,X,指令说明:影响标志:Z,ROM,ALUShifter,ACC,ACC“OR”X,例ORM A,41H,运算前:ACC=12H00010010B41H=11H00010001B运算后:ACC=12H00010011B41H=13H,逻辑异或指令,XOR A,m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,ACC“XOR”m,XORM A,m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,ACC“XOR”m,XOR A,X,指令说明:影响标志:Z,ROM,ALUShifter,ACC,ACC“XOR”X,例XOR A,25H,运算前:ACC=33H00110011B 25H00100101B运算后:ACC=16H00010110B,取反指令,CPL m,指令说明:影响标志:Z,ALUShifter,RAM,CPLA m,指令说明:影响标志:Z,ACC,ALUShifter,RAM,例CPL 42H,运算前:42H=11H00010001B运算后:42H=EEH11101110B,移位指令,RR m,指令说明:影响标志:none,ALUShifter,RAM,RRA m,指令说明:影响标志:none,ACC,ALUShifter,RAM,RRC m,指令说明:影响标志:C,ALUShifter,STATUS,RAM,RRCA m,指令说明:影响标志:C,ACC,ALUShifter,STATUS,RAM,例RR 50H,运算前:50H=30H运算后:50H=18H,00110000B,00011000B,例RRCA 51H,运算前:ACC=01H C51H=10H00010000B1运算后:ACC=88H10001000B051H=10H,RL m,指令说明:影响标志:none,ALUShifter,RAM,RLA m,指令说明:影响标志:none,ACC,ALUShifter,RAM,RLC m,指令说明:影响标志:C,ALUShifter,STATUS,RAM,RLCA m,指令说明:影响标志:C,ACC,ALUShifter,STATUS,RAM,例RLA 52H,运算前:ACC=01H52H=10H00010000B运算后:ACC=20H00100000B52H=10H,例RLC 20H,运算前:C20H=10H00010000B1运算后:20H=21H00100001B0,控制和转移指令,控制和转移指令包括无条件转移指令、条件转移指令、循环转移指令及调用与返回指令。这类指令通过修改PC的内容(占用2个指令周期)来控制程序的执行过程,可极大的提高程序的效率,实现复杂的功能。它们在执行时不影响标志位,无条件转移指令,JMP addr,指令说明:影响标志:none,ROM,PC,將要跳往的目的地地址直接送到程序計數器內。,PC addr,例,MOV A,20H,JMP DELAY,DELAY:,MOV A,30H,条件转移指令,SZ m,指令说明:影响标志:none,ALUShifter,RAM,PC,PC+2,if m=0,SZA m,指令说明:影响标志:none,ACC,ALUShifter,RAM,PC,PC+2,if m=0,例,ACC,55H,56H,RAM,57H,58H,SZ 55H,SZ 56H,SZA 57H,SZA 58H,MOV A,00H,MOV A,01H,MOV A,02H,MOV A,03H,00H,34H,03H,循环转移指令,SDZ m,指令说明:影响标志:none,ALUShifter,RAM,PC,mm-1,PC+2,if m=0,SDZA m,指令说明:影响标志:none,ACC,ALUShifter,RAM,PC,PC+2,if(m-1=0),ACC m-1,例,ACC,60H,61H,RAM,62H,63H,LOOP1:,JMP LOOP1,LOOP2:,JMP LOOP2,SDZ 60H,SDZA 62H,MOV A,02H,04H,04H,04H,MOV A,04H,03H,02H,01H,MOV 62H,A,03H,02H,01H,00H,03H,02H,01H,02H,00H,SIZ m,指令说明:影响标志:none,ALUShifter,RAM,PC,m m+1,PC+2,if m=0,SIZA m,指令说明:影响标志:none,ACC,ALUShifter,RAM,PC,PC+2,if(m+1=0),ACC m+1,例,ACC,60H,61H,RAM,62H,63H,LOOP1:,JMP LOOP1,LOOP2:,JMP LOOP2,SIZ 61H,SIZA ACC,MOV A,55H,FEH,MOV A,FEH,FFH,FFH,00H,55H,00H,调用及返回指令,CALL addr,指令说明:影响标志:none,STACK,ROM,PC,PC+1,PCaddr,RET,指令说明:影响标志:none,STACK,PC,例,MOV A,20H,CALL 0123H,RET,ORG 0123H,MOV A,30H,PC+1值压入堆栈,返回堆栈中的PC值,RETI,指令说明:影响标志:none,该指令使用在中斷程序返回時,它同时将INTC的第0位(中斷使能位)置為1。,EMI 1,STACK,PC,RET A,X,指令说明:影响标志:none,STACK,PC,ROM,ACC,位操作指令,位操作指令包括位逻辑操作指令、位条件转移指令。指令中的操作数都是1 位的。这类指令的执行不影响标志位。,CLR m.i,指令说明:将存储器内第i位值清零。m.i 0影响标志:none,例CLR 20H.3,运算前:20H=88H 10001000B运算后:20H=80H 10000000B,SET m.i,指令说明:将存储器内第i位值置为1。m.i 1影响标志:none,例SET 20H.3,运算前:20H=10H 00010000B运算后:20H=18H 00011000B,SZ m.i,指令说明:判断存储器内第i位值是否为0,若为0则跳过下一行指令。m.i=0,PC+2影响标志:none,SNZ m.i,指令说明:判断存储器内第i位值是否为0,若不为0则程序计数器加一,跳过下一行指令。Skip if m.i0影响标志:none,例SZ20H.3运算前:PC=0100H20H=18H 运算后:PC=0101H20H=18H,例SZ30H.3运算前:PC=0100H30H=10H 运算后:PC=0102H30H=10H,例SNZ20H.4运算前:PC=0100H20H=28H运算后:PC=0101H20H=28H,例SNZ30H.4运算前:PC=0100H30H=10H运算后:PC=0102H30H=10H,读表指令,HOLTEK8位单片机的程序存储器除了存放程序外,还可以存放一些常数,称为表格。指令系统提供了2条访问程序存储器的指令,我们称为读表指令。读表指令的执行需要2个指令周期的时间。这类指令的执行不影响标志位。,TABRDC m,指令说明:查ROM当前页,由TBLP确定页内 地址。将该地址中数据的低8位 送到m,高8位送到TBLHm程序存储器低位TBLH 程序存储器高位页:一页的大小为256个字节,即PC低八位 的范围为00H-FFH 影响标志:none,TABRDL m,指令说明:查ROM最后一页,由TBLP确定 页内地址。将该地址中数据 的低8位送到m,高8位送到 TBLHm程序存储器低位TBLH程序存储器高位影响标志:none,例,MOV A,70H,TABRDC 48H,TABRDL 49H,TBLP,48H,RAM,49H,70H,78H,34H,TBLH,12H,56H,MOV TBLP,A,0170,0370,1kROM,1234H,5678H,最后页,当前页,其它指令,HOLTEK8位单片机还提供了其它指令包括空指令、清除/置位数据存储器指令、看门狗清除指令、交换指令及进入HALT模式指令。,NOP,指令说明:不做任何运算,只将程序计 数器(PC)加一。PCPC+1影响标志:none,CLR m,指令说明:将存储器内值清零。m 00H影响标志:none,例CLR 20H,运算前:20H=88H 运算后:20H=00H,SET m,指令说明:将存储器内值置为1。m FFH影响标志:none,例SET 20H,运算前:20H=88H 运算后:20H=FFH,CLR WDT,指令说明:清除WDT计时器(从0开始重 数)。WDT计时器00H影响标志:PD0,TO=0,例CLR WDT,运算前:WDT计时器88H运算后:WDT计时器00H,CLR WDT1&CLR WDT2,指令说明:这两条指令必须交替使用才 能真正起到清除WDT计时器 的作用。WDT计时器00H可能影响标志:PD0,TO=0当option选择以两条指令清看门狗时才使用。可有效的防止程序陷入死循环,例,LOOP:,CLR WDT1,CLR WDT2,SZ 60H,JMP LOOP,假设编程失误,致使LOOP中没有能让60H变化为0的语句,SWAP m,指令说明:影响标志:none,ALUShifter,RAM,SWAPA m,指令说明:影响标志:none,ACC,ALUShifter,RAM,例SWAP 20H,运算前:20H=5AH运算后:20H=A5H,HALT,指令说明:停止程序执行;关掉系统频率;保留存储器及寄存器内的值;WDT和WDT计数器被清除;电源下降位(PD)被设为1;WDT溢出位(TO)被清为0。影响标志:PD1,TO=0,其他信息,MCU的开发流程及一些常用的副程序等内容,另有详细的介绍。指令部分的内容还可参阅各款单片机规格说明书的附录部分。,指令集摘要,

    注意事项

    本文(Holtek(合泰)单片机指令介绍.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开