蓝桥杯单片机基础:P2口的使用方法详解

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

文章目录

  • 前言
  • 一、相关知识介绍
  • 二、解析步骤

  • 前言

            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的出现;并且减少了代码的数量;

     

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

    物联沃分享整理
    物联沃-IOTWORD物联网 » 蓝桥杯单片机基础:P2口的使用方法详解

    发表评论