北方工业大学单片机课件1
- 格式:ppt
- 大小:1.35 MB
- 文档页数:24
3.1 指令和指令程序指令和助记符:计算机能直接识别和执行的命令称为指令。
一台计算机所能执行的全部指令的集合称为这台计算机的指令系统。
MCS-51单片机的指令系统包含了111条指令。
机器语言:01110100 ;(740AH)把10送累加器A0000101000100100 ;(2414H)A加20,结果仍在A中00010100上述指令的汇编形式:(740AH) MOV A, #0AH(2414H) ADD A, #14H指令的字节数:1字节指令—既含操作码也含操作数(49条):①指令的含义和对象明确eg. 10100011INC DPTR;②用一个字节中的几位来表示操作数eg.1101rrr MOV A,Rn2字节指令—一个字节表示操作码,另一个字节表示操作数(45条):eg. 01110100 操作数;MOV A, #data3字节指令—一个字节表示操作码,两个字节表示操作数3.2 寻址方式MCS-51系统中, 操作数的寻址方式有7种:①寄存器寻址——直接用寄存器名;寄存器指R0~R7=>用Rn表示;eg. MOV A,R0 ADD A,R5②直接寻址——直接给出操作数地址→内部RAM包括21个SFR的地址=>用direct表示;对于特殊功能寄存器,使用其定义名称和直接地址效果完全相同。
eg. MOV A,3AH MOV A,PCON <=> MOV A,87H③立即寻址——直接给出8位或16位的数值=>用#data或#data16表示;eg. MOV A,# 3AH; MOV DPTR,# 3A87H→系统仅此一条16位立即数传指令;④寄存器间接寻址——仅R0; R1及DPTR可用作间址寄存器=>用@Ri及@DPTR表示;用此寻址方式可访问内部RAM和外部RAM,但不能访问SFR; 当被访问的是内部RAM或外部RAM的低256位时, 可用@Ri; 要访问全部64k外部RAM时,用@DPTR;eg. MOV A,@R0 MOVX A,@R1 MOVX A,@DPTR3.2 寻址方式⑤变址寻址——@DPTR+A; @PC+A=>主要用于访问ROMeg. MOVC A,@A+DPTRMOVC A,@A+PCJMP @A+DPTR⑥相对寻址(给出偏移量; 只出现在相对转移指令中=>用rel 表示偏移量→带符号数:-128~127)eg. JZ 3AH (目的地址= 源地址+ 转移指令字节数+ rel)⑦位寻址——给出位地址=>用bit表示;eg. MOV C,07H位地址有下列几种表示方法:直接用位地址: 07H; (00H~F7H中再剔除CxH, D8~DF;合计224bit)采用第几单元.第几位: 25H . 5;SFR名.位数: TCON. 3;用伪指令定义: eg. A1 BIT P1.0 ; A2 BIT 20H3.3 数据传送指令MCS-51指令系统中的指令,可分为五大类:①数据传送指令28条②算术运算指令24条③逻辑运算及移位指令25条④控制转移指令25条⑤位操作(布尔操作)指令17条=>合计111条一. 内部RAM之间的数据传送指令(15条)1.立即寻址(4条)MOV A, # data; MOV Rn, # data; MOV @Ri, # data;MOV direct, # data2.直接寻址(5条)MOV A, direct; MOV direct, A MOV Rn, direct MOV @Ri, direct MOV direct2, direct1;3.间接寻址(3条)MOV A, @Ri MOV @Ri, A; MOV direct, @Ri4.寄存器寻址(3条)MOV A, Rn MOV Rn, A MOV direct, Rn3.3 数据传送指令MOV指令(15条)图解基本规律:两两互访,两例外:①立即数只能作为源操作数;②@Ri与Rn无联系两特例:①direct可自访;②@Ri不能访问SFR3.3 数据传送指令二. 涉及外部存储器的数据传送指令1. 16位地址传送指令(仅此一条16位数传指令)MOV DPTR,# data16 (data16----16位立即数,通常是外部RAM或ROM的地址)2. 访问ROM的指令MOVC A,@A+DPTR ;A←(A+DPTR)MOVC A,@A+PC ;PC ←PC+1, A←(A+PC)3. 访问外部RAM的指令MOVX A,@Ri ;只能寻址外部RAM的0000H~00FFH;比较: MOV A,@RiMOVX @Ri,AMOVX A,@DPTRMOVX @DPTR,A三. 堆栈操作指令PUSH direct ;SP←SP+1, (SP)←(direct)POP direct ;(direct)←(SP), SP←SP-1四.数据交换指令XCH A,RnXCH A,directXCH A,@RiXCHD A,@Ri ;ACC.0~ACC.3与(Ri)0~3交换, 高位保持不变;***数传指令不影响各标志位,仅P标志受A内容的影响;数据传送类指令课堂练习11.如何用MCS-51指令实现以下的数据传送1)R1内容传送到R02)外部RAM 20H单元内容送R03)外部RAM 20H单元内容送内部RAM 20H单元4)外部RAM 1000H单元内容送内部RAM 20H单元5)ROM 2000H单元内容送R06)ROM 2000H单元内容送内部RAM 20H单元7)ROM 2000H单元内容送外部RAM 20H单元数据传送类指令课堂练习22.设内部RAM的30H单元的内容为40H, 即(30H)=40H, 还知(40H)=10H, (10H)=00H,端口P1=CAH,问执行以下指令后,各有关存储单元、寄存器及端口的内容?MOV R0, #30H ;R0=30HMOV A, @R0 ;A=40HMOV R1, A ;R1=40HMOV B, @R1 ;B=10HMOV @R1, P1 ;(40H)=CAHMOV P2, P1 ;P2=CAHMOV 10H, #20H ;(10H)=20HMOV 30H, 10H ;(30H)=20H3.4 算术运算指令此类指令分为6组, 每组4条; 四条指令的目的操作数是累加器A时,源操作数采用‘寄存器’; ‘直接’; ‘间接’和‘立即数’四种寻址方式。