单片机IO口设置问题
你好!我用AT89C2051控制数码管,P1口只需要用到7个来显示段位,剩下一个P1.0来控制段位的,如果直接用P1来写程序的话,那么扫描的时候,P1.0也被扫进去了,不...
你好!我用AT89C2051控制数码管,P1口只需要用到7个来显示段位,剩下一个P1.0来控制段位的,如果直接用P1来写程序的话,那么扫描的时候,P1.0也被扫进去了,不知道怎么把P1.0独立出来呢,应该怎么写,以前记得是在哪里看过,1年多没写,基本全忘了,只需要把P1.0从P1独立出来那一段的就可以了,其它我自己解决了,谢谢!
展开
展开全部
使用位运算.
比如P1.0输出高电平,可以用P1 |= 0X01;
P1.0输出低电平,可以用P1 &= 0XFE;
比如P1.0输出高电平,可以用P1 |= 0X01;
P1.0输出低电平,可以用P1 &= 0XFE;
追问
wela2=0;
P1=table[a];
delay(1);
P1=0xff;
wela2=1;
比如这样,是直接用P1的8个口来控制段位的,但是我现在只用了7个,剩下一个P10控制其中一只数码管的锁存。如果程序还按照上面这样写的话,那锁存位就被一起控制了。主要就是想知道一下,在控制段位7个IO口的情况下,不影响P10的工作
追答
比如P1=table[a];你只用了7个,剩余一个P10没用到,可以写成P1 |= table[1] & 0x7f;即把table的最高位清零,在进行位运算。接下来的P1 = 0xff,写成P1 |= 0X7F;即可。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询