学习笔记——蓝桥杯单片机基础------P2=(P2 & 0x1f) | 0x80...

一、简述

在蓝桥杯单片机锁存器控制IO口 编写代码时会用到它,可以优化代码。这是一个简单的二进制转换和运用到数电基础的“&”和“|”,即与和或。

二、相关知识介绍

2.1 二进制转换

在8051单片机中,初始P2的各个引脚都为高电平,P2 ^ 0 到 P2 ^ 7 ,高四位和低四位都为1111 1111。而P2=(P2 & 0x1f) | 0x80 可以一步一步来转换。P2 & 0x1f 即高三位为0,低五位为1,
初始74HC138译码器的值:
HC138_A = 0;
HC138_B = 0;
HC138_C = 0;

2.2 转换方法

P2 : 1111 1111
0x1f : 0001 1111
P2 & 0x1f :0001 1111
0x80 : 1000 0000
P2=(P2 & 0x1f) | 0x80 :1001 1111
得到 1001 1111 即
HC138_A = 0;
HC138_B = 0;
HC138_C = 1;
Y4接通
在这里插入图片描述

三、举一反三

3.1 P2=(P2 & 0x1f) | 0xa0

P2 : 1111 1111
0x1f : 0001 1111
P2 & 0x1f :0001 1111
0xa0 : 1010 0000
P2=(P2 & 0x1f) | 0xa0 : 1011 1111
得到 1011 1111 即
HC138_A = 1;
HC138_B = 0;
HC138_C = 1;
Y5接通

3.2 P2=(P2 & 0x1f) | 0xc0

P2 : 1111 1111
0x1f : 0001 1111
P2 & 0x1f :0001 1111
0xc0 : 1100 0000
P2=(P2 & 0x1f) | 0xa0 : 1101 1111
得到 1011 1111 即
HC138_A = 0;
HC138_B = 1;
HC138_C = 1;
Y6接通

3.3 P2=(P2 & 0x1f) | 0xe0

P2 : 1111 1111
0x1f : 0001 1111
P2 & 0x1f :0001 1111
0xe0 : 1110 0000
P2=(P2 & 0x1f) | 0xa0 : 1111 1111
得到 1011 1111 即
HC138_A = 1;
HC138_B = 1;
HC138_C = 1;
Y7接通

  • 41
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Born_toward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值