新人求问~74hc595的串行数据怎么输出的

2020-01-25 15:24发布

如题,操作数码管时总是乱码,或者是不闪,但是关掉了重新开数据就又不一样了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
dushanwu522
1楼-- · 2020-01-26 14:55
仔细看数据手册吧,用了这么多年了,也没出现过什么问题。
dlmaowf
2楼-- · 2020-01-26 15:46
unsigned char i;
    for(i=0;i<32;i++)
只有一片595,不需要循环32次吧

sendbyte(tab);
            out595();
数组tab的下标呢?
墨逸、
3楼-- · 2020-01-26 21:10
qinshi1208 发表于 2013-12-23 16:39
建议发数据的流程为:
移位输出数据 -> 锁存数据 -> OE使能并行输出.不要把OE设置为直接就输出了 ...

我的OE接的是地,但是我不明白的是为什么我的是乱码
墨逸、
4楼-- · 2020-01-26 21:36
dlmaowf 发表于 2013-12-23 16:54
unsigned char i;
    for(i=0;i

我的事四片的
墨逸、
5楼-- · 2020-01-26 23:46
 精彩回答 2  元偷偷看……
dlmaowf
6楼-- · 2020-01-27 03:39
void sendbyte(unsigned char a)

{
  unsigned char i;
    for(i=0;i<32;i++)
        {
         SCLK=0;
         DAT=a&0x80;
         a=a<<1;
         SCLK=1;
                                }
}

unsigned char a;
a是一个字节,所以你循环32次没有用,后面都是0了
另外 DAT=a&0x80 ,即使循环32次,a左移的话,DAT=a&0x80000000
a右移的话,DAT=a&0x01

一周热门 更多>