资源描述:
《第2章 51系列单片机的指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章51单片机的指令系统单片机原理、接口及应用内容提要★寻址方式★数据传送与交换指令★算术运算、逻辑运算指令★控制转移指令★位操作指令计算机通过执行程序完成人们指定的任务,程序由一条一条指令构成,能为CPU识别并执行的指令的集合就是该CPU的指令系统。MCS-51单片机汇编语言指令格式:操作符目的操作数,源操作数操作符指明该指令完成什么操作;操作数是指明该指令的操作对象。目的操作数是存放结果的。指令中操作数提供的方式称为寻址方式。指令中的常用符号Rn:n=(0~7),表示当前工作寄存器R0~R7中的一个Ri:i=(0、1),代表R0和R1寄
2、存器中的一个,用作间接寻址寄存器dir:8位直接字节地址(片内RAM和SFR)#data:8位立即数,即8位常数。可以为2进制(B)、10进制、16进制(H)、字符(‘’)#data16:表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFHaddr16:表示16位地址addr11:表示11位地址rel:相对偏移量(为一字节补码)用于相对转移指令中bit:位地址,在位地址空间中。$:表示当前指令的地址。2.1寻址方式1、立即寻址指令中直接给出操作数的寻址方式。在51系列单片机的指令系统中,立即数用一个前面加“#“号的8位数(#
3、data,如#30H)或16位数(#data16,如#2052H)表示。立即寻址中的数,称为立即数。例如指令:MOVA,#30H2、直接寻址操作数的地址直接出现在指令中。寻址对象:①内部数据存贮器:使用它的地址。②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。41H78H40H56H41H78H40H78H例:MOVA,40H;A=56H机器码E540MOVP0,#45H;45H→P0,P0为直接寻址的SFR,其地址为80H,机器码为758045MOV40H,41H;机器码为854140内部RAM(41H)→(40H)(40H)=
4、(41H)=78H3、寄存器寻址操作数存放在寄存器中。寻址对象:A,B,DPTR,R0~R7。B仅在乘除法指令中为寄存器寻址,在其他指令中为直接寻址。A可以寄存器寻址又可以直接寻址,直接寻址时写作ACC例如:MOVA,R0;R0→A,A、R0均为寄存器寻址,机器码E8MULAB;A*B→BA,A、B为寄存器寻址,机器码A4MOVB,R0;R0→B,R0为寄存器寻址,B为直接寻址机器码88F0,其中F0为B的字节地址(见表1-2)PUSHACC;A的内容压入堆栈机器码C0E04、寄存器间址操作数存放在以寄存器内容为地址的单元中。例如:MOVR0
5、,#20HMOV@R0,A;A→(20H)地址的内部RAMMOVXA,@R1;外部RAM(地址为P2R1)的内容→AMOVX@DPTR,A;A→以DPTR内容为地址的外部RAM5、变址寻址以DPTR或PC寄存器内容为基地址,和A的内容为相加形成操作数的地址。其中累加器A内容是可变的。例如:MOVCA,@A+DPTR6、相对寻址相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。例如:JZ61H7、位寻址对片内RAM中20H~2FH中的128个位地址及SFR中的可位寻址的位地址寻址。例如:MOVC,20H;
6、20H位的内容送CY标志位,C称为位累加器。MOVA,20H;字节寻址,将内部RAM中20H单元中的内容送给累加器A。以上两条指令均为寻址,究竟是位寻址还是字节寻址,根据两操作数类型一致的原则,由另一个操作数决定。dir@RiRn#dataAMOVA,Rn#datadir@RiMOVdir,ARn@Ri#datadirMOVRn,MOV@Ri,Adir#data1、内部RAM、SFR之间的传送MOV指令Adir#data2.2数据传送与交换指令2.2.1传送类指令例R1=20H,(20H)=55H,指令MOVA,@R1执行后,A=55H。例(
7、40H)=30H,指令MOVR7,40H执行后,R7=30H。例MOVR7,#40H执行后,R7=40H。例判断下列指令的正误:MOV29H,R7MOV25H,P1MOV56H,#70HMOV34H,28HMOVR3,R7MOV@R3,R7MOVR3,#D2HMOV#34H,28HMOVA,#280HMOVP3,P1编程将R3的内容送R1。MOVA,R3MOVR1,A√√×√×√√××√A外部数据存储器程序存储器@Ri,A@DPTR,AA,@RiA,@DPTRMOVXMOVCA,@A+PCA,@A+DPTR2、外部存储器和A累加器之间的传送M
8、OVXMOVCMOVX指令举例例:实现片外数据存储器数据传送(2000H)→(2100H)。MOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#2