基本信息
文件名称:《单片机》第3章 指令系统及汇编程序设计-教学课件(非AI生成).ppt
文件大小:451 KB
总页数:29 页
更新时间:2025-05-24
总字数:约6.73千字
文档摘要

8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*ConversepositionlogicExclusive-ORLogic8051指令系统和程序设计*//P67,把片外从30H开始的数块传送到片内40H开始的位置,直到出现0为止。movr0,#30hmovr1,#40hloop:movxa,@r0mov@r1,aincr0incr1jnzloopsjmp$8051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*17、位操作(1)使ACC.0置1(2)清除ACC高4位(3)清除ACC.3、4、5、68051指令系统和程序设计*8051指令系统和程序设计*8051指令系统和程序设计*#define K1 P1.0#define K2 P1.1#define K3 P1.2#define RED_LED P3.0#define GREEN_LED P3.1#define YELLOW_LED P3.2#define LED_ON SETB#define LED_OFF CLR#define IF_KEY_ON JNB#define IF_KEY_OFF JBLP:ROUT1: IF_KEY_OFFK1,ROUT2LED1: LED_ONRED_LED SJMP$ROUT2: IF_KEY_OFFK2,ROUT3LED2: LED_ONGREEN_LED SJMP$ROUT3: IF_KEY_OFFK3,LPLED3: LED_ONYELLOW_LED SJMP$END#includereg51.hsbitK1=P1^0;sbitK2=P1^1;sbitK3=P1^2;sbitLED1=P3^0;sbitLED2=P3^1;sbitLED3=P3^2;main(){ LED1=1;LED2=1;LED3=1;//初始化,使LED1~3熄灭 while(1){ if(K1==0){LED1=0;while(1);} elseif(K2==0){LED2=0;while(1);} elseif(K3==0){LED3=0;while(1);} } }8051指令系统和程序设计*8051指令系统和程序设计*第3章指令系统及

汇编程序设计*本章内容3.1指令格式3.2寻址方式3.3指令系统3.4常用伪指令3.5汇编程序设计 3.6程序设计实例*机器语言用二进制数表示指令,难以记忆。为了便于记忆,人们使用助记符、符号和数字表示指令。指令格式:Label:指令操作数1,操作数2,操作数3;注释说明: #data—表示立即数 Ri----i=0,1,表示内部RAM指针 Rn---n=0~7,表示工作寄存器 @---表示指针变量,如@R0,@DPTR3.1指令格式*3.2.1七种寻址方式1、立即寻址:MOVA,#332、寄存器寻址:数据在寄存器(A、B、Rn、DPTR)中,如MOVx,R0 ADDA,R0 3、直接寻址:给出片内RAM的地址 如 MOVA,40H4、寄存器间接寻址(指针Ri、DPTR) 指针指向片外RAM或外设 如:MOVA,@R0 MOVXA,@DTPR3.2寻址方式*5、变址寻址 用于取ROM中的常数,也称为查表指令: MOVCA,@A+DPTR;6、位寻址 只能用于位资源,如: SETB20H; CLR20H.07、相对寻址 只用于相对转移指令中,如SJMPrel JCrel3.2寻址方式(续)*MSC-51的111条指令分成五类:数据传送类指令(28条)算术运算类指令(24条)逻辑操作类指令(25条)控制转移类指令(17条)位操作类指令(17条)3.38051指令系统*指令符号有MOV、MOVC、MOVX、PUSH、POP、XCH、XCHD1.A为目的数 MOVA,Rn; M