《单片机逻辑运算指令PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《单片机逻辑运算指令PPT讲稿.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机逻辑运算指令1第1页,共16页,编辑于2022年,星期五异或运算:异或运算:符号符号AZB记作记作Z=A+B输入信号相同则输出为输入信号相同则输出为0,输入信号相异则输出为,输入信号相异则输出为1。非运算:求反非运算:求反符号符号AZ记作记作Z=A2第2页,共16页,编辑于2022年,星期五一、一、对对A累加器进行的逻辑操作:累加器进行的逻辑操作:1.CPLA;A求反求反2.CLRA;A清清03.移位指令:移位指令:(1).RRA(2).RRCA 70C703第3页,共16页,编辑于2022年,星期五(3).RLA(4).RLCA移位指令助记符意义:移位指令助记符意义:第一个字母第一个字
2、母R表示移位操作。表示移位操作。第二个字母第二个字母表示移位方向,表示移位方向,L向左;向左;R向右。向右。第三个字母第三个字母表示是否通过表示是否通过C。为为C表示连同表示连同C共共9位数一起移位位数一起移位无第三字母表示与无第三字母表示与C无关。无关。4.SWAPA;A的内容高低半字节相交换的内容高低半字节相交换70C704第4页,共16页,编辑于2022年,星期五例:例:CLRCMOVA,#0E2HRLARLCARRARRCASWAPA ;C=0;11100010E2H;11000101;10001010C=1;01000101;10100010C=1;001010105第5页,共16页
3、,编辑于2022年,星期五例例:已已知知30H单单元元的的内内容容为为X,且且X为为无无符符号号数数,求求4X送送入入31H单单元元存存放放,求求X/4的的整整数数部部份份送送入入32H单单元元存存放放,(0X63)讨论:将一个二进制数左移一次等于乘讨论:将一个二进制数左移一次等于乘2的运算,的运算,左移左移n次次等于乘等于乘2n同理将其右移一次等于除同理将其右移一次等于除2的运算,的运算,右移右移n次等于除次等于除2n。程序如下:程序如下:6第6页,共16页,编辑于2022年,星期五MOVA,30H;xRLA;2XRLA;4XMOV31H,AMOVA,30H;XCLRCRRCA;X/2CLR
4、CRRCA;X/4MOV32H,A7第7页,共16页,编辑于2022年,星期五二、二、包含双操作数的逻辑运算指令:包含双操作数的逻辑运算指令:一般形式:一般形式:ANL与与ORL第一操作数,第二操作数第一操作数,第二操作数或或XRL异或异或功功能能:第第一一操操作作数数和和第第二二操操作作数数进进行行相相应应的的逻逻辑辑运运算算,结结果果在在第一操作数指出的地址。第一操作数指出的地址。源及目的见源及目的见P50P51页。页。例例8第8页,共16页,编辑于2022年,星期五例例1:MOVA,#46HMOV40H,#59HANLA,#37HORL40H,AORLA,40HXRLA,#55H0100
5、01100011011100000110A=06H010110010101111140H=5F0000011001011111A=5FH0101010100001010A=0AH9第9页,共16页,编辑于2022年,星期五注注:逻逻辑辑运运算算结结果果均均在在第第一一操操作作数数中中(目目的的),第第二二操操作数内容不变。作数内容不变。10第10页,共16页,编辑于2022年,星期五 此类逻辑运算指令用途很广,举例:此类逻辑运算指令用途很广,举例:例例2用用“与与”掩码的方法切取数据中需要的部分掩码的方法切取数据中需要的部分MOVA,#0F6H;设;设A中为有符号数中为有符号数ANLA,#0F
6、H;屏蔽高;屏蔽高4位位(A)=06HANLA,#7FH;屏蔽符号位;屏蔽符号位(A)=76HANLA,#80H;切取符号位;切取符号位(A)=80H0FH,7FH,80H,称为掩码,使用不同的掩码可屏蔽掉不同的部份,称为掩码,使用不同的掩码可屏蔽掉不同的部份,留下有用的信息。留下有用的信息。11第11页,共16页,编辑于2022年,星期五例例3用用“或或”指令置位任何指令置位任何RAM单元或寄存器的某些位,方法是将需置单元或寄存器的某些位,方法是将需置1的位和的位和“1”相或。相或。例如,例如,ORLP1,#00110011B;P1口的口的D0,D1,D4,D5位置位置1例例4拼凑字节。例如
7、要求将拼凑字节。例如要求将A内容的低内容的低2位信息送入位信息送入P1口的低口的低2位,位,P1口原口原高高6位不变。位不变。ANLA,#00000011B;切取;切取A中低中低2位位ANLP1,#11111100B;屏蔽;屏蔽P1口低口低2位位ORLP1,A;拼凑字节;拼凑字节 12第12页,共16页,编辑于2022年,星期五例例5用异或指令对用异或指令对RAM单元或寄存器某些位求反。单元或寄存器某些位求反。方法是:欲取反的位与方法是:欲取反的位与“1”相异或相异或例如:例如:XRLP1,#00110011B;P1口的口的D0,D1,D4,D5取反。取反。例例6用异或指令判断二数是否相等。用
8、异或指令判断二数是否相等。例如:例如:MOVA,30HXRLA,31H;若运行结果(;若运行结果(A)=0则(则(30H)=(31H)13第13页,共16页,编辑于2022年,星期五三、三、位逻辑操作指令:位逻辑操作指令:1.ORL或或C,BIT;C和某位地址的内容相和某位地址的内容相ANL与与2.ORL或或C,BIT;C和某位地址内容的反码相和某位地址内容的反码相ANL与与3.CLR清零清零CPLC(BIT);C(BIT)求反求反SETB置置114第14页,共16页,编辑于2022年,星期五位逻辑指令举例位逻辑指令举例MOV24H,#02HMOV2EH,#05HMOVC,21HANLC,72
9、HCLRCORLC,24HANLC,71HSETBCCPLCORLC,21HCLR72H;(24H)=02H,(21H位位)=1(2EH)=05H,72H位位70H位位=1;(C)=1;(C)=1;(C)=0;(24H位位)求反为求反为1,(C)=1;(71H位位)=0,与结果与结果(C)=0;(C)=1;(C)=0;(21H位位)=1,或结果或结果(C)=1;(72H位位)=0,(2EH)=01H15第15页,共16页,编辑于2022年,星期五注:注:位位逻逻辑辑指指令令是是某某一一位位地地址址或或C的的内内容容进进行行逻逻辑辑操操作作,参参与与运运算算的的只只是一位数。是一位数。片片内内RAM可可位位寻寻址址字字节节地地址址是是20H2FH,位位地地址址范范围围是是00H-7FH,共共128位,注意区分字节地址和位地址。位,注意区分字节地址和位地址。特特殊殊功功能能寄寄存存器器SFR中中可可位位寻寻址址的的位位亦亦可可参参与与位位逻逻辑辑运运算算,这这些些位位所所在在的的字字节节地地址址必必能能被被8整整除除,其其余余不不可可位位寻寻址址的的位位不不可参与位逻辑运算。可参与位逻辑运算。16第16页,共16页,编辑于2022年,星期五