您好,欢迎访问三七文档
《单片机原理与应用》教学课件位操作类指令主要内容:1、位的基本概念(位数据、位地址、位存储单元)2、可以位操作的存储单元3、位操作指令《单片机原理与应用》教学课件一、位的基本概念位存储单元:存放一位二进制数存储单元。位数据:一位二进制数。位地址:位存储单元的地址。位数据位地址位存储单元《单片机原理与应用》教学课件二、可位操作的存储单元单片机内部数据存储器单元存放8位二进制数,进行的都是8位数据的操作,这样的存储单元称为字节存储单元。但是,有一部分字节存储单元比较特殊,每个字节存储单元可以作为8个位存储单元使用,进行1位二进制数操作。可位操作存储单元20H-2FH位寻址区可位寻址特殊寄存器(A、B、PSW、P0、P1、P2、P3)《单片机原理与应用》教学课件1、位寻址区20H-2FH共16个字节单元,每个字节单元为8个位存储单元,共有16×8=128个位存储单元,对应的位地址00H-7FH。对于2FH字节单元2FHD0D1D2D3D4D5D5D778H79H7AH7BH7CH7DH7EH7FHD0D1D2D3D4D5D5D720H07H06H05H04H03H02H01H00H例如:对于20H字节单元《单片机原理与应用》教学课件2、位寻址寄存器可位寻址寄存器共有11个,常用的有累加器A、寄存器B、状态寄存器PSW、端口寄存器P0、P1、P2、P3等。例如:对于累加器AD0D1D2D3D4D5D5D7ACC.0ACC.1ACC.2ACC.3ACC.3ACC.5ACC6ACC.7A对于状态寄存器PSWP-OVRS0RS1F0ACCYPSW.0PSW.1PSW.2PSW.3PSW.3PSW.5PSW.6PSW.7PSW《单片机原理及应用》教学课件三、位操作类指令(17条)位操作类指令以位为单位进行逻辑运算及操作,可分为4种:位传送:(MOV——2条)位清零/置位:(CLR,SETB——4条)位逻辑与/或/非运算:(ANL,ORL,CPL——6条)位条件转移:(JC,JNC,JB,JNB,JBC——5条)《单片机原理及应用》教学课件位传送指令(2条):MOVC,bit——(C)(bit)MOVbit,C——(bit)(C)注:bit表示位地址位清零/置位指令(4条):CLRbit(或C)——(bit或C)“0”SETBbit(或C)——(bit或C)“1”位逻辑与/或/非指令(6条):ANLC,bit(或/bit)ORLC,bit(或/bit)CPLbit(或C)注:“/bit”表示对bit位先取反然后再参加运算《单片机原理及应用》教学课件判位条件转移指令(5条):JCrel——(Cy)=“1”就跳转;否则不跳转JNCrel——(Cy)“1”就跳转;否则不跳转JBbit,rel——(bit)=“1”就跳转;否则不跳转JNBbit,rel——(bit)“1”就跳转;否则不跳转JBCbit,rel——(bit)=“1”就先将其清零再跳转;否则,不动此位也不跳转。《单片机原理与应用》教学课件(1)位传送指令注意:位存储单元之间的数据传递要通过进位标志CY来完成。例如:MOVC,P0.0;(CY)=(P0.0)MOVACC.3,C;(ACC.3)=(CY)MOV05H,C;(05H)=(CY)指令格式:MOVC,bit指令功能:C表示进位标志CY,bit表示CY以外的位存储单元。将位存储单元中的数据存入进位标志CY中,位存储单元保持不变。1位二进制数在位存储单元之间传递。三、主要指令重点分析《单片机原理与应用》教学课件(2)位状态设置指令例如:ORG0000HCLRC;(CY)=0CLRB.0;(B.0)=0CLRP2.0;(P2.0)=0CLR7FH;(7FH)=0NOPEND1、位清0指令指令格式:CLR位存储单元指令功能:指定位存储单元的数为0。设置位存储单元的数值。《单片机原理与应用》教学课件2、位置1指令指令格式:SETB位存储单元指令功能:指定位存储单元的数为1。例如:ORG0000HSETBC;(CY)=1SETBRS1;(RS1)=1SETBRS0;(RS0)=1SETBP3.0;(P3.0)=1SETB60H;(60H)=1NOPEND《单片机原理与应用》教学课件3、位取反指令指令格式:CPL位存储单元指令功能:将位存储单元的数取反。例如:ORG0000HSETBC;(CY)=1CLRP3.0;(P3.0)=0CPLC;(CY)=0CPLP3.0;(P3.0)=1NOPEND《单片机原理与应用》教学课件(3)位转移指令指令格式:JBbit,指令标号指令功能:bit表示CY之外的位存储单元。当(bit)=1时,程序跳转至标号位置;当(bit)=0时,不跳转,程序向下继续执行。指令格式:JC指令标号指令功能:(CY)=1时,程序跳转至标号位置;(CY)=0时不跳转,程序顺序向下执行。以位存储单元的数值状态为条件控制程序转移。《单片机原理与应用》教学课件例如:ORG0000HMOVA,#00110111BJBACC.1,LOOP1MOVB,#4SJMPLOOP2LOOP1:MOVB,#5LOOP2:SJMPLOOP2END程序功能:根据ACC.1的状态,设定B的值。《单片机原理与应用》教学课件(4)位逻辑运算指令实现一位二进制数的逻辑运算。1、位逻辑与指令指令格式:ANLC,bit指令功能:将位存储单元bit中的数与进位标志CY作逻辑与运算,结果存入CY中,bit位存储单元保持不变。例如:ORG0000HCLRP3.2;(P3.2)=0SETBCY;(CY)=1ANLC,P3.2;(CY)=0,(P3.2)=0NOPEND《单片机原理与应用》教学课件2、位逻辑或指令指令格式:ORLC,bit指令功能:将位存储单元bit中的数与进位标志CY作逻辑或运算,结果存入CY中,bit位存储单元保持不变。例如:ORG0000HCLRC;(CY)=0SETBP3.2;(P3.2)=1ORLC,P3.2;(CY)=1,(P3.2)=1NOPEND《单片机原理与应用》教学课件四、编程举例1、LED闪烁编程单片机P0端口引脚外接LED发光二极管电路。P0.0—P0.7接D1—D7输出高电平—LED灭输出低电平—LED亮编程:控制D3发光二极管闪烁。《单片机原理与应用》教学课件分析:开始D3亮延时D3灭延时结束跳转循环P0.2输出低电平P0.2输出高电平《单片机原理与应用》教学课件源程序:ORG0000H;开始START:CLRP0.2;(P0.2)=0,亮MOVR6,#200;延时DE1:MOVR7,#200;DE2:DJNZR7,#DE2;DJNZR6,#DE1;SETBP0.2;(P0.2)=1,灭MOVR6,#200;延时DE3:MOVR7,#200;DE4:DJNZR7,DE4;DJNZR6,DE3;SJMPSTART;循环END;结束《单片机原理与应用》教学课件2、按键与LED单片机的P3端口引脚外接按键开关。开关闭合,输入低电平信号;开关断开,输入高电平信号。《单片机原理与应用》教学课件单片机P0端口引脚外接LED发光二极管电路。P0.0—P0.7接D1—D7输出高电平—LED灭输出低电平—LED亮《单片机原理与应用》教学课件编程:K1按键闭合,D4发光二极管灭;K1按键断开,D4发光二极管亮。第一种方法分析:K1按键状态与D4状态相反。开始K1按键输入取反传递给D4结束跳转循环P3.0接K1P0.3接D4《单片机原理与应用》教学课件ORG0000H;程序开始START:SETBP3.0;(P3.0)=1,允许输入MOVC,P3.0;(CY)=(P3.0)CPLC;CY取反MOVP0.3,C;(P0.0)=(CY)SJMPSTART;循环END;结束源程序一:《单片机原理与应用》教学课件第二种方法分析:利用位转移指令。开始获取K1按键输入D4灭D4亮K1断开?结束Y循环跳转N循环跳转《单片机原理与应用》教学课件源程序二:ORG0000H;程序开始LOOP1:SETBP3.0;(P3.0)=1,允许输入JBP3.0,LOOP2;(P3.0)为1,按键断开,跳转SETBP0.3;(P0.3)=1,灭SJMPLOOP1;循环LOOP2:CLRP0.3;(P0.3)=1,亮SJMPLOOP1;循环END;结束
本文标题:35 位操作类指令
链接地址:https://www.777doc.com/doc-3737457 .html