单片机指令系统.ppt
《单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《单片机指令系统.ppt(50页珍藏版)》请在三一办公上搜索。
1、第3章 单片机指令系统,3.1 MCS51指令简介3.2 指令系统,LOOP:MOV A,R0;将R0的内容送A 标号 操作码 第一操作数 第二操作数 注释(目的操作数)(源操作数)注:白色的内容不是必须的,3.1 MCS51指令简介,一、MCS51指令格式,二、MCS51系列单片机指令系统分类 按寻址方式分为以下七种:按功能分为以下四种:1、立即立即寻址 1、数据传送指令位操2、直接寻址 2、算术运算指令3、寄存器寻址 3、逻辑运算指令4、寄存器间接寻址指令 4、控制转移类指令5、相对寻址 5、位操作指令6、变址寻址7、位寻址,三、寻址方式,寻址方式:寻找(或确定)操作数所在单元地址的方式。
2、寻址方式越多,计算机寻址能力越强,但指令系统也越复杂。说明:以下讨论的寻址方式都是针对源操作数的。但实际上目的操作数也有寻址问题。,1、寄存器寻址 MOV A,Rn 操作数在寄存器中,如R0R7,A、B、Cy(位)、DPTR 2、直接寻址 MOV A,40H 操作数直接以单元地址形式给出(也可以寄存器名称形式给出,但A B DPTR 除外)如:MOV A,P0;MOV R0,TH0,3、寄存器间接寻址 MOV A,R1 操作数是通过寄存器间接得到的。4、立即寻址 MOV A,#40H 操作数在指令中直接给出。5、基址寄存器加变址寄存器寻址 以DPTR或PC为基址寄存器,以A为变址寄存器,以两者
3、相加形成的16位地址为操作数的地址。MOVC A,A+DPTR MOVC A,A+PC,四、指令中常用符号说明,Rn当前寄存器区的8个工作寄存器R0R7(n07);Ri当前寄存器区可作地址寄存器的2个工作寄存器R0和R1(i0,1);direct8位内部数据存储器单元的地址及特殊功能寄存器的地址;#data表示8位常数(立即数);#datal6表示16位常数;add 16表示16位地址;addrll表示11位地址;rel8位带符号的地址偏移量;bit表示位地址;间接寻址寄存器或基址寄存器的前缀;()表示括号中单元的内容()表示间接寻址的内容;,五、MCS51指令简介 1.以累加器A为目的操作数
4、的指令,MOV A,data;A data MOV A,Rn;n=07,A(Rn)MOV A,Ri;i=0,1,A(Ri)MOV A,direct;A(Rn)direct为内部RAM或SFR地址 注:MOV A,Ri;以Ri的内容为地址,把该地址中 的内容送到A中去。A(Ri)MOV A,R0;将R0的内容送到A去。A(R0)MOV A,#20H;(A)=20H A的内容为20H MOV A,20H;(A)=(20H)A的内容为20H中的内容 注意以上两组指令的不同点,例:MOV R0,#30HMOV 30H,#60HMOV A,R0(A)=?,2.以Rn为目的操作数的指令,MOV Rn,A;
5、Rn(A),n=07MOV Rn,direct;Rn(direct)MOV Rn,data;Rn data,3.以直接地址为目的操作数的指令,MOV direct,A;direct(A)MOV direct,Rn;direct(Rn),n=07MOV direct,Ri;direct(Ri),i=0,1MOV direct,direct;direct(direct)MOV direct,#data;direct data,4.以寄存器间接地址为目的操作数指令,MOV Ri,A;(Ri)(A),i=0,1MOV Ri,direct;(Ri)(direct)MOV Ri,data;(Ri)data
6、,应用举例1,MOV P1,#0FEH;11111110B可以使P1.0上的发光二极管点亮MOV P1,#0F0H;11110000B可以使P1口上的上面4个发光二极管点亮,8段数码管显示,MOV P1,#00H;显示 8.MOV P1,#0F8H;显示 7MOV P1,#88H;显示 A,应用举例2,一个引脚的高低电平,可以通过“光电耦合器”控制继电器,从而以“弱电”控制“强电”。,3.2 指令系统,一、数据传送指令位操作 1.16位数据传输指令,MOV DPTR,#data16;DPTR data16 DPTR-数据指针,为SFR中(DPH)、(DPL)MOV DPTR,#2010H相当于
7、:MOV DPH,#20H MOV DPL,#10H,2、堆栈操作指令,进栈指令 PUSH direct如:(SP)=60H,(A)=30H,(B)=70H 时,执行 PUSH Acc;(SP)+1=61HSP,(A)61H PUSH B;(SP)+1=62HSP,(B)62H结果:(61H)=30H,(62H)=70H,(SP)=62H退栈指令 POP direct如:(SP)=62H,(62H)=70H,(61H)=30H 时,执行 POP DPH;(SP)DPH,(SP)1=61HSP POP DPHL;(SP)DPL,(SP)1=60HSP结果:(DPTR)=7030H,(SP)=60
8、H堆栈的存储原则:先进后出,3.累加器A与外部数据传输指令,MOVX A,DPTR;A(DPTR)地址范围64KMOVX A,Ri;A(Ri)地址范围0255MOVX DPTR,A;(DPTR)(A)MOVX Ri,A;(Ri)(A),4.查表指令,MOVC A,A+DPTR;A(A)+(DPTR)例:(DPTR)=0300H,(A)02H ROM中(0302H)=55H执行:MOVC A,A+DPTR结果:(A)=55H,MOVC A,A+PC A(A)+(pc)PC程序指针,指向下一条指令的地址例:根据A中的内容(09)查平方表,MOVC A,A+PC 例子:,地址 机器码 源程序 ORG
9、 0000H0000 7403 MOV A,#03H0002 83 MOVC A,A+PC0003 00 DB 00H0004 01 DB 01H0005 04 DB 04H0006 09 DB 09H0007 10 DB 10H0008 19 DB 19H0009 24 DB 24H 000A 31 DB 31H000B 40 DB 40H000C 51 DB 51H(顺便讲解如何查机器码)END,5.字节交换指令,XCH A,Rn;(A)(Ri)XCH A,direct;(A)(direct)XCH A,Ri;(A)(Ri)例:(A)=80H,(R7)=97H执行:XCH A,R7结果:(
10、A)=97H,(R7)=80H例:将片内RAM 60H单元与61H单元的数据交换。XCH 60H,61H 对吗?,6.半字节交换指令,XCHD A,Ri;(A)0-3(Ri)0-3例:(R0)=60H,(60H)=3EH,(A)=59H执行:XCHD A,R0结果:(A)5E H(60H)39 H,二、算术操作类指令,1.加法指令(Addtion)2.带进位加法指令3.加1指令(Increase)4.十进制调整指令5.带借位减法指令(Subtraction)6.减1指令(Decrease)7.乘法指令(Multiplication)8.除法指令(Division),PSW寄存器,Cy:进位标志
11、位AC:辅助进位标志位F0:供用户使用的标志位OV:溢出标志位P:奇偶标志位 A中数据的奇偶性。当1的个数为奇数,P=1,否则P=0。RS1 RS0 0 0 区0(地址:00H07H)0 1 区1(地址:08H0FH)1 0 区2(地址:10H17H)1 1 区3(地址:18H1FH),2.带进位加法指令,ADDC A,Rn;A(A)+(Rn)+(Cy)ADDC A,Ri;A(A)+(Ri)+(Cy)ADDC A,direct;A(A)+(direct)+(Cy)ADDC A,data;A(A)+#data+(Cy)对标志位的影响与ADD相同,3.加1指令,INC A;A(A)+1INC Ri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 指令系统
链接地址:https://www.31ppt.com/p-2222332.html