sbit定义的多个管脚,能用数组加循环处理吗?

[复制链接]
9046|4
 楼主| 救火车 发表于 2011-8-10 09:44 | 显示全部楼层 |阅读模式
就像这样的定义
sbit D1 = P3^4;
sbit D2 = P3^3;
sbit D3 = P0^1;
sbit D4 = P3^2;
sbit D5 = P0^0;
sbit D6 = P2^3;
sbit D7 = P2^2;
sbit D8 = P0^3;

想用一个for 循环把D1到D8全处理了。
for (i=0;i<8;i++)
{
    if (D?==1) {...}
......
}
怎么实现呢?
ayb_ice 发表于 2011-8-10 10:33 | 显示全部楼层
刘前辈 发表于 2011-8-10 12:41 | 显示全部楼层
本帖最后由 刘前辈 于 2011-8-10 12:45 编辑

for (i=0;i<8;i++)
{
   switch( i )
   {
case  1:   //  D1处理程序;
             break;
.
.
.
case  8 :  //   D8 处理程序
           break;
    }
}



//
misra 发表于 2011-8-10 12:47 | 显示全部楼层
P0-P3先映射到一个INT8U A啊

写函数得到A的某个 bit ,函数名字是Get_bit(?)

想用一个for 循环把D1到D8全处理了。
for (i=0;i<8;i++)
{
    if (Get_bit(i)) {...}
......
}

注:没咋思索 肯能是胡说八道
刘前辈 发表于 2011-8-10 15:18 | 显示全部楼层
既然D1~D8无选择都处理,那还要什么i ?
do {
if(D1){ D1处理语句;)else { }
if(D2){ D2处理语句;)else { }
.
.
.
if(D8){ D8处理语句;)else { }
}while(0);



//
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:秦皇岛蓝马电子科技有限公司 救火车单片机工作室

113

主题

1249

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部