资源描述:
《片机学习04(传送指令)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.4AT89C51指令系统分类介绍111条指令,按功能分类,可分为下面5大类:(1)数据传送类(28条)(2)算术操作类(24条(3)逻辑运算类(25条)(4)控制转移类(17条)(5)位操作类(17条)指令中符号的意义:Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7)。Ri当前寄存器区中可作间接寻址寄存器的R0、R1(i=0,1)。Direct直接地址,内部RAM或SFR的8位字节地址。如0E0H#data包含在指令中的8位立即数。如#0EH#data16包含在指令中的16位立即数。如#0A85E
2、Hrel相对转移指令中的偏移量,为8位的带符号补码数。DPTR数据指针,可用作16位的数据地址寄存器。bit内部RAM或特殊功能寄存器中的直接寻址位。C(或Cy)进位标志位或位处理机中的累加器。addr1111位目的地址addr1616位目的地址@间接寻址寄存器前缀,如@Ri,@A+DPTR(X)X中的内容。如(40H)((X))由X寻址的单元中的内容。如((R0))也可(R0)→箭头右边的内容被箭头左边的内容所取代。P.33~342.4.2内部数据存储器空间(RAM:随机存取存储器,可读可写,断电丢失)12
3、8个单元,每单元8位即1字节(8b=1B),字节地址为00H~7FH。R7..R0R7..R0R7..R0R7..R0由PSW中的RS1、RS0位选择四个区之一的8个单元兼作工作寄存器R0~R7使用RS1RS01110010007H...位地址...00H7FH...位地址...78H(共128个位)寄存器寻址Rn位地址bit(00H~7FH)直接地址direct寄存器间接寻址@Ri(00H~7FH)128个片内RAM字节单元(@R0、@R1)(R0~R7)■寻址方式:指令中指明操作数的方式P.16表2-4S
4、FR的名称及其分布2.4.3特殊功能寄存器(SFR)(CPU寄存器及各接口电路控制寄存器)直接地址direct(80H...F0H)21个SFR字节单元符号指令中可用SFR名暂代其地址数据指针寄存器DPTR(16位)累加寄存器A乘除寄存器AB位地址bit(80H..F7H)字节地址为X0H或X8H的SFR可位寻址!符号指令中可用位名等暂代其位地址P.17√√√√√√累加器SFR名为ACC(SFR名)■寻址方式:指令中指明操作数的方式3.4.1数据传送类指令(1)传送指令是使用最频繁的一类指令通用格式:MOV<
5、目的操作数>,<源操作数>属“复制”,而不是“搬家”;数据传送指令(1)其他例:【例B3-4】R0内容送R7:MOVA,R0MOVR7,A【例B3-5】(36H)单元内容送(40H)~(43H)单元。MOV40H,36HMOV41H,36HMOV42H,36HMOV43H,36H4条指令,12字节长MOVA,36HMOV40H,AMOV41H,AMOV42H,AMOV43H,A5条指令,10字节长MOVA,36HMOVR0,#40HMOV@R0,AINCR0MOV@R0,AINCR0MOV@R0,AINCR0
6、MOV@R0,A9条指令,11字节长,可通过循环程序实现用R0间接寻址通过A转送均用直接地址传送PC(程序计数器,程序指针):始终存放着下一条CPU要取出执行的指令在程序存储器中的地址。始终指向要取出执行的下一条指令代码存放单元,2000HPCPCPC:16位可预置加1计数器每取一个字节指令代码,自动加1执行跳转指令时将目标地址置入PC数据传送类指令(2)例:MOVSP,#6FH;设定栈底指针……PUSHACC;将ACC、B内容保存到堆栈(保护现场)PUSHB……POPB;恢复原B、ACC内容(恢复现场)(后
7、进先出)POPACC源操作数目的操作数变址寻址用交换指令方法:START:MOVA,3AH;取原3AH单元数据到A中XCHA,3BH;A中原3AH单元数据与原3BH单元数据交换XCHA,3AH;将A中原3BH单元数据交换到3AH单元中用堆栈实现交换:START:PUSH3AH;将原3AH单元数据压栈PUSH3BH;将原3BH单元数据压栈POP3AH;从栈顶弹出原3BH单元数据给3AH单元POP3BH;从栈顶弹出原3AH单元数据给3BH单元P52-14用栈交换ACC与B内容?【例B3-6】编程将片外数据存储器2
8、380H单元的内容传送到片内30H单元。ORG0800HMOVDPTR,#2380H;DPTR指向片外2380H单元MOVXA,@DPTR;读取2380H单元内容送入AMOV30H,A;存入片内30H单元LP:SJMPLP;自循环【例B3-7】编程将片外数据存储器2040H单元的内容传送到A1F8H单元。ORG0600HMOVDPTR,#2040H;DPTR指向片外2040H单元MOVXA,@DPT