MCS单片机综合应用.pptx
上传人:王子****青蛙 上传时间:2024-09-10 格式:PPTX 页数:37 大小:274KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

MCS单片机综合应用.pptx

MCS单片机综合应用.pptx

预览

免费试读已结束,剩余 27 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

3.1.1指令系统概述一字节指令(49条)只有一个字节,操作码和操作数信息同在其中。例:INCDPTR其功能为数据指针加1,指令码为:3.1.3MCS-51单片机寻址方式1)寄存器寻址方式指令中直接给出操作数地址的寻址方式。直接寻址方式使用的是8位二进制数表示的地址,寻址范围只限于内部RAM。直接寻址方式的寻址范围包括:低128单元例如:MOVA,3AH3)寄存器间接寻址方式外部RAM64KB,使用DPTR作间接寄存器,其形式为@DPTR;外部RAM低256B,可以使用R0或R1作间接寄存器寻址,其形式为@Ri(i=0或1);例如:MOVXA,@DPTRMOVXA,@R04)立即寻址方式5)变址寻址方式程序存储器6)位寻址方式7)相对寻址方式3.2MCS-51单片机指令分类介绍3.2.1指令格式中符号意义DPTR——数据指针,可用作16位地址寄存器。bit——内部RAM或专用寄存器中的直接寻址位。A——累加器。B——专用寄存器,用于乘法和除法指令中。C——进位标志或进位位,或布尔处理机中的累加器。@——间址寄存器的前缀标志。/——加在位地址前面,表示对该位状态取反(X)——某寄存器或单元的内容。((X))——由X间接寻址的单元中的内容。——箭头左边的内容被箭头右边的内容所取代。3.2.2数据传送类指令直接地址direct3.2.2.1内部RAM数据传送指令以直接地址为目的操作数(5条)MOVdirect,#data;direct←#dataMOVdirect,A;direct←(A)MOVdirect,direct;direct←(direct)MOVdirect,Rn;direct←(Rn)MOVdirect,@Ri;direct←((Ri))以间接地址为目的操作数(3条)MOV@Ri,A;(Ri)←(A)MOV@Ri,#data;(Ri)←#dataMOV@Ri,direct;(Ri)←(direct)例如:设(30H)=6FH,R1=40H,执行MOV@R1,30H后,30H单元中数据取出送入R1间接寻址的40H单元,(40H)=6FH。以DPTR为目的操作数(1条)MOVDPTR,#data16;DPTR←#data163.2.2.2外部RAM数据传送指令字节交换XCHA,Rn;(A)<=>(Rn)XCHA,direct;(A)<=>(direct)XCHA,@Ri;(A)<=>((Ri))半字节交换XCHDA,@Ri;(A)0~3<=>((Ri))0~3SWAPA;(A)0~3<=>(A)4~71.加法指令ADDA,Rn;A←(A)+(Rn)ADDA,direct;A←(A)+(direct)ADDA,@Ri;A←(A)+((Ri))ADDA,#data;A←(A)+#data2.带进位加法指令ADDCA,Rn;A←(A)+(Rn)+(C)ADDCA,direct;A←(A)+(direct)+(C)ADDCA,@Ri;A←(A)+((Ri))+(C)ADDCA,#data;A←(A)+#data+(C)C为来自PSW状态寄存器中的进位标志位C。例如,设A=20H,R0=21H,C=1,执行指令ADDCA,R0后,A=42H。3.带借位减法指令SUBBA,Rn;A←(A)-(Rn)-(C)SUBBA,direct;A←(A)-(direct)-(C)SUBBA,@Ri;A←(A)-((Ri))-(C)SUBBA,#data;A←(A)-#data–(C)例如,设A=39H,R0=20H,(20H)=32H,C=1,执行指令SUBBA,@R0后,A=06H。4.加1指令INCA;A←(A)+1INCRn;Rn←(Rn)+1INCdirect;direct←(direct)+1INC@Ri;(Ri)←((Ri))+1INCDPTR;DPTR←(DPTR)+1例如,(30H)=22H,执行INC30H后,(30H)=23H。5.减1指令DECA;A←(A)-1DECRn;Rn←(Rn)-1DECdirect;direct←(direct)-1DEC@Ri;(Ri)←((Ri))-1例如,R0=30H,(30H)=22H,执行DEC@R0后,(30H)=21H。6.乘法指令MULAB;BA←A×BA和B中各存放一个8位无符号数,指令执行后,16位乘积的高8位在B中,低8位存A中。例如,A=30H,B=60H,执行MULAB后,A=00H,B=12H。7.除法指令DIVAB;A÷B