学习单片机的逻辑运算--手把手教你学单片机

;知识要点:理解熟悉单片机的逻辑运算

;运行结果:P1口输出4次计算的数值,注意1为灭0为亮,从1.7到1.0排列

;与的概念:有0为0 全1出1.或的概念:有1为1 全0出0.取反的概念遇1为0遇0为1

;异或的概念:相同为0不同为1

ORG 0000H;

LJMP MAIN;程序开始

ORG 030H;

MAIN:MOV A,#03CH;A送 03C ,就是00111100

MOV R0,#0AAH;R0送 0AA 就是10101010

CPL A;A的内容取反

MOV P1,A;输出到P1结果为11000011

ACALL DEL;调用延时便于观察

MOV P1,#0FFH ;关断显示

MOV A,#0C3H;A的值重新载入

ANL A,R0;A与R0相与

MOV P1,A; 输出到P1结果为10000010

ACALL DEL;调用延时便于观察

MOV P1,#0FFH

MOV A,#0C3H; A的值重新载入

ORL A,R0;A与R0相或结果为11101011

MOV P1,A;输出到P1

ACALL DEL;调用延时便于观察

MOV P1,#0FFH;关断显示

MOV A,#0C3H;A的值重新载入

XRL A,R0;;A与R0相异或结果为01101001

MOV P1,A;;输出到P1

ACALL DEL;

MOV P1,#0FFH;;关断显示

AJMP MAIN;重新开始

DEL: MOV R7,#0FFH;延时子程序

DEL1:MOV R6,#0FFH;

DEL2:MOV R5,#01FH;

DEL3: DJNZ R5,DEL3;

DJNZ R6,DEL2;

DJNZ R7,DEL1;

RET;

END

运行的状态01101001

运行的状态10000010