lihui567 发表于 2016-7-27 08:14

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脚 串行数据输入,这是啥意思

Adu0227 发表于 2016-7-27 09:24

这就是个从高位开始发送的函数

lihui567 发表于 2016-7-29 13:49

比如显示数字1 00000110 移位的时候应该先把最高位0移到Q7............第2位和第3位移到Q1.Q2......第1位0移到Q0

liuxiaofei126 发表于 2016-9-6 14:05

数据是一位一位移动的,
页: [1]
查看完整版本: 595驱动数码管怎么把数据移位