我的问题没有敲完,假设我想通过51传1011 1001给74hc595,,首先将1011 1001右移七位,变为0000 0001并送进串行输入口,移位寄存器来一个上升沿,这时QA=0,QB=1,QC=QD=...=QH=0,然后将1011 1001左移一位变为0111 0010,同样的方法将0111 0010右移七位成0000 0000,并送进串行输入口,移位寄存器来一个上升沿,这时QA=...=QH=0,那么之间的QB = 1跑到哪里去了?我这种想法是认为595的串行输入口是按字节输入的,但其实串行输入口是按位输入的,可C51不是8位单片机吗?它的IO口不应该可以输出一个字节的数据吗?而且dat<<7本身也是一个字节的数,然后通过单片机引脚输入进595中,为啥595只会接收一个字节中的最低位? |