如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《单片微机原理及应用》第二讲:指令与编程指令系统分类指令系统分类(一)指令系统分类(二)ASM-51指令的格式寻址方式51单片机指令的寻址方式寄存器寻址从寄存器中读取操作数或存放操作数进寄存器例:MOVA,B;(A)←(B)MOV30H,R0;(30H)←(R0)MOVA,R1;(A)←(R1)寄存器寻址方式的寻址范围包括:通用工作寄存器——有4组共32个通用工作寄存器。部分专用寄存器——累加器A、B寄存器、DPTR寄存器。立即寻址操作数直接就出现在指令中例:MOVA,#64H;(A)←立即数64HADDA,#05H;(A)←(A)+立即数05H注意:符号“#”表明其后跟的是立即数,立即数——就是数字量本身。寄存器间接寻址寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数直接寻址直接寻址指令中直接给出了操作数所在单元的地址或名称例:MOVR1,1FH;(R1)←(1FH)MOV30H,4AH;(30H)←(4AH)在本单片机中访问特殊功能寄存器SFR只能采用直接寻址方式的原因:SFR分布在80H~0FFH范围内,而52系列单片机有256字节的片内RAM,其中的80H~0FFH的RAM与SFR所占地址重叠。变址寻址也称为:基址寄存器+变址寄存器间接寻址变址寻址示意图相对寻址相对寻址当前PC值加上指令中规定的偏移量rel,构成实际的操作数地址例:SJMPrel操作:跳转到的目的地址=当前16位PC值+rel相对转移指令操作示意图存储器配置(片内RAM)位寻址可寻址位在指令中的表示方式位寻址指令中直接给出了操作数所在的位地址。例:CLRP1.0;(P1.0)←0SETBACC.7;(ACC.7)←1CPLC;(C)←NOT(C)片内RAM中有128个位可按位寻址的位,位地址:00H—7FH分布在:20H—2FH单元;另外,在SFR中还有92个位可按位寻址MCS-51指令集MCS-51指令集(五大类功能)内部存储器间传送:(MOV——16条)外部数据存储器与累加器间传送:(MOVX——4条)程序存储器向累加器传送:(MOVC——2条)数据交换:(XCH,XCHD,SWAP——5条)堆栈操作:(PUSH,POP——2条)数据传送类指令(续)程序存储器向累加器传送指令(2条):MOVCA,@A+DPTRMOVCA,@A+PC——通常称为查表指令,寻址方式属:“基址寄存器+变址寄存器间接寻址”数据传送类指令(续)堆栈操作指令(2条):例如:设(A)=7BH;(35H)=11H并且知道(SP)=60HPUSHACC;(61H)#7BHPUSH35H;(62H)(35H)即:(62H)#11H(二)算术运算类指令(6种/24条)(二)算术运算类指令(续)(二)算术运算类指令(续)(二)算术运算类指令(续)若(A)3~09或(AC)=1则(A)3~0(A)3~0+6;若(A)7~49或(CY)=1则(A)7~4(A)7~4+6;若(A)3~09或(AC)=1则(A)3~0(A)3~0+6;若(A)7~49或(CY)=1则(A)7~4(A)7~4+6;(三)逻辑运算及移位类指令(5种/24条)逻辑运算及移位类指令(续)逻辑运算指令的常见用法逻辑运算及移位类指令(续)(四)控制转移类指令(4种/17条)控制转移类指令(续)控制转移类指令(续)条件转移(续)控制转移类指令(续)(五)位操作类指令(17条)位操作类指令(续)位操作类指令(续)任务一:控制一盏灯点亮任务一:控制一盏灯点亮小结:MCS-51指令集(五大类功能)内部存储器间传送:(MOV——16条)外部数据存储器RAM与累加器间传送:(MOVX——4条)程序存储器ROM向累加器传送:(MOVC——2条)数据交换:(XCH,XCHD,SWAP——5条)堆栈操作:(PUSH,POP——2条)(二)算术运算类指令(6种/24条)(三)逻辑运算及移位指令(5种/24条)(四)控制转移类指令(4种/17条)(五)位操作类指令(4种17条)汇编语言与简单程序设计汇编语言程序设计中的数汇编语言编程基本规则汇编程序的伪指令汇编程序的常用伪指令汇编程序的常用伪指令(续)程序的顺序/分支/循环三种基本结构编程要点:两字节BCD码数范围为:0000H—9999H调用BCD2B子程序实现“千位,百位”转为二进制,并乘100;再调BCD2B子程序实现“十位,个位”转为二进制;最后,对位相加。例:将R5R4中的两字节BCD码数转为二进制数存于R5R4中ORG2000HVAREQU30H;定义缓存单元FUNCEQU31H;书中缺此二句BR1:MOVA,VAR;取出变量“X”JZ