单片机IO口设置问题

你好!我用AT89C2051控制数码管,P1口只需要用到7个来显示段位,剩下一个P1.0来控制段位的,如果直接用P1来写程序的话,那么扫描的时候,P1.0也被扫进去了,不... 你好!我用AT89C2051控制数码管,P1口只需要用到7个来显示段位,剩下一个P1.0来控制段位的,如果直接用P1来写程序的话,那么扫描的时候,P1.0也被扫进去了,不知道怎么把P1.0独立出来呢,应该怎么写,以前记得是在哪里看过,1年多没写,基本全忘了,只需要把P1.0从P1独立出来那一段的就可以了,其它我自己解决了,谢谢! 展开
 我来答
hubj627
2015-11-24 · TA获得超过175个赞
知道小有建树答主
回答量:120
采纳率:100%
帮助的人:88.3万
展开全部
使用位运算.
比如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 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式