595驱动数码管怎么把数据移位
void In_595(uchar temp)//595输入数据{
uchar i;
for(i=0;i<8;i++)//定义循环变量一个字节8位
{
if((temp<<i)&0x80)//判断最高位是否为1
MOSI=1; //第14脚 串行数据输入
else MOSI=0;
SCLK=0;
_nop_();
SCLK=1;
}
}
这段代码当中不是太懂,比如1数据00000110.判断最高位为1时MOSI=1; //第14脚 串行数据输入,这是啥意思 这就是个从高位开始发送的函数 比如显示数字1 00000110 移位的时候应该先把最高位0移到Q7............第2位和第3位移到Q1.Q2......第1位0移到Q0 数据是一位一位移动的,
页:
[1]