当前位置: 代码迷 >> 单片机 >> 怎的处理单片机端口读出的数据
  详细解决方案

怎的处理单片机端口读出的数据

热度:41   发布时间:2016-04-28 15:24:44.0
怎样处理单片机端口读出的数据?
sbit D1=P3^2;
sbit D2=P3^3;
sbit D3=P3^4;
sbit D4=P3^5;

想用C写个程序 使temp=D1D2D3D4,该怎么写啊,初学单片机,求指导,不胜感激。
单片机?C语言

------解决方案--------------------
引用:
这样得到的temp是1111了吧? 

当然不是了,假设D1到D4依次是1010
 if(D1==1)temp=1;temp<<=1;//D1=1,IF成立temp=1,然后左移1位得到0000 0010 B
  if(D2==1)temp
------解决方案--------------------
=1;temp<<=1;//D2=0,所以条件不成立,只会执行temp<<=1;执行后得到 0000 0100
  if(D3==1)temp
------解决方案--------------------
=1;temp<<=1;//D3=1,所以IF成立,temp
------解决方案--------------------
=1后得到0000 0101,然后左移1位得到 0000 1010
  if(D4==1)temp
------解决方案--------------------
=1;//D4=0,IF不成立,所以temp仍然=0000 1010 对应D1到D4
  相关解决方案