unsigned char shuju=0x55;
while(1)
{
ds=shuju&0x80; //0101 0101 & 1000 0000 =0000 0000 0x00
sh_cp=0;
sh_cp=1;
st_cp=0;
st_cp=1;
delay(1000);
ds=shuju&0x40;// 0101 0101 &0100 0000=0100 0000 0x40
sh_cp=0;
sh_cp=1;
st_cp=0;
st_cp=1;
delay(1000);
ds=shuju&0x04;// 0101 0101 &0000 0100=0000 0100 0x04
sh_cp=0;
sh_cp=1;
st_cp=0;
st_cp=1;
delay(1000);
ds=shuju&0x08;// 0101 0101 &0000 1000 =0000 0000 0x00
sh_cp=0;
sh_cp=1;
st_cp=0;
st_cp=1;
为什么shuju与0x80它们相与后计算得到的结果(0x00,0x40,0x04,0x00)与仿真得到的结果(0x00,0x01,0x03,0x0c.......)不一样?用的是ISIS Professional仿真软件。请各位大师赐教 谢谢。 |