蓝桥杯单片机基础:关于P2=(P2 & 0x1f)

您所在的位置:网站首页 p2显示屏是什么意思啊 蓝桥杯单片机基础:关于P2=(P2 & 0x1f)

蓝桥杯单片机基础:关于P2=(P2 & 0x1f)

2024-07-15 16:33| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 前言一、相关知识介绍二、解析步骤 前言

        2022年蓝桥杯使用的板子是IAP 15F2K61S2,与传统51单片机相比相差不多,可以相互借鉴与完善;P2=(P2 & 0x1f) | 0x80这个表达式控制的是H138译码器的P2^5,P2^6,P2^7的引脚,进而控制Y0~Y7这8个引脚

一、如何进行转换?

        二进制与十六进制的转换:因为2*2*2*2=16,所以十六进制为四组二进制统合而成的,为0000~1111;而在计算机中用0xff代表一个字节,也就是1111 1111;这也是编程中非常巧妙的地方,比如单片机的P2口中总共有(0~7)个端口,这样一来就可以用0xff直接控制整个P2口来实现每个P2^0~P2^7的全部控制,而该单片机上电后整个P2口默认为高电平,也就是0xff;

二、解析步骤

        P2=(P2 & 0x1f) | 0x80,在此式子中用到了16进制与二进制的转换,并且包含与和或的逻辑符号;

        现在P2口全面都是1111 1111即为未选择状态,当(P2 & 0x1f)后,也就是  (1111 1111) & (0001 1111)  变为(0001 1111),此状态为选中P2^5~P2^7的三个引脚,达到使用HC138译码器的最初条件,再或上0x80:(0001 1111)| (1000 0000)变为:(1001 1111)这组数据相当于是:保持(P2^0~P2^4)全部为高电平,不给予操作,从而只操作P2^5~P2^7,要想使得Y0~Y7中的Y5被选中,就得让P2^7 = 1 P2^6 = 0 P2^5 = 1,现在只要(P2 & 0x1f)这个式子或上一个0xa0即可,这样就实现了引脚的控制,从而减少了代码BUG的出现;并且减少了代码的数量;

 

        上述只是自己的拙见,若是有不足的地方还请多多指正;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3