51单片机3个IO口查表输出怎样写

2020-01-14 19:00发布

51单片机IO口查表输出,用C怎样写,
我的P1.0 ,P1.1, P1.2,三个口,每次都要输出如下不同高低,同时三个查表不会写,网上只看到同时1个位或一组查表,因为P0其它口在做其它动作不能改变,请朋友们指教。
第一次P1.0= ,P1.1=0, P1.2=0
第二次P1.0=0 ,P1.1=0, P1.2=1
第三次P1.0=0 ,P1.1=1, P1.2=0
第4次P1.0=1 ,P1.1=0, P1.2=0
第5次P1.0=1 ,P1.1=0, P1.2=1
第6次P1.0=1 ,P1.1=1, P1.2=0
8条回答
shower.xu
1楼 · 2020-01-14 20:03.采纳回答
switch(P1&0x07){
case ....
case....
}
lxa0
2楼-- · 2020-01-14 21:24
c的不会
要汇编的话可以帮你
wctmdgcd
3楼-- · 2020-01-15 03:21
这不就是普通的38译码器的控制么?你可以完全不管这三个口的状态啊,你自己用一个变量来指示输出。
i++;
//注意i不要越界
switch(i)
{
   case 0:输出状态0
       break;
     ……
     ……
     case 6:输出状态6
       break;
}
ccjlhw
4楼-- · 2020-01-15 04:19
谢谢各位的指教
modbus
5楼-- · 2020-01-15 08:45
 精彩回答 2  元偷偷看……
xiaobendan
6楼-- · 2020-01-15 13:41
=空格是啥意思?维持不变的意思?三个都是P1的,和P0有啥关系
xiaobendan
7楼-- · 2020-01-15 14:54
本帖最后由 xiaobendan 于 2017-11-15 09:24 编辑

P1|=0x07;
P1&=a|0xf8;

一周热门 更多>