51测试网 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

51测试网(深圳学林电子有限公司)从0开始来学单片机...入门教程

前言:单片机是一门实践性非常强的学科,为此我们突破传统思路,全面围绕单片机试验,从简单的流水灯开始, 逐步的带领大家从这些简单的几行或者10几行的程序,来熟悉和理解单片机的指令......未经允许禁止转载!如需转载,请著名出处,并保留网站联接!

学习单片机的逻辑运算

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

;运行结果:P1口输出结果为01100000,注意1为灭0为亮,从1.7到1.0排列

;ANL 0FH就是把数据与00001111相与那么遇1得原来的数遇0则为0,结果是前面的4位变0, 后面的4位保留

     ORG 0000H;程序开始

     LJMP MAIN;

     ORG 030H;

MAIN:MOV A,#59H;A中送59H这个数 01011001

     ANL A,#0FH;59H和00001111相与就是保留后4位结果为1001

     SWAP A;A中的高低字节交换结果为10010000

     ANL P1,#0FH;P1口的内容与A相与就是清除高4位注意P1本来为11111111即FF此时变为00001111

     ORL P1,A;P1的内容与相或 10010000和00001111相或结果为01100000

     ACALL DEL;调用延时以便观察

     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
   

运行结果:P1口输出结果为01100000,注意1为灭0为亮,从1.7到1.0排列