kai191 发表于 2012-3-7 16:41:17

如何用两个74HC595来控制7段数码管

求大神讲解下如何在arduino上用两个74HC595来控制一个共阴极的7段数码管,一个595用来控制8个阳极口,一个595用来控制4个阴极口,但是我现在不懂如何去做这个数据的输入?有没有大神能讲解下如何来写这个代码或者指导下原理?谢谢!

Malc 发表于 2012-3-7 19:47:03

看看这篇文章你应该能搞懂大概了
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=204&extra=page%3D1
两个595,第一个控制8个阳极,第二个控制4个阴极,arduino的SPI口接第一个595的15脚QI数据入,第一个595的9脚QS 数据出,接第二个595的15脚QI数据入
其他的引脚的接法是相同的
发送数据的时候,先发送阴极的编码,再发送阳极的编码,因为当第一块595里面数据满了8位的时候会自动从9脚溢出给第二块595


    digitalWrite(latchPin,LOW);//latchPin为595锁存脚,先给低电平,转备好让595存数据
    shiftOut(dataPin,clockPin,MSBFIRST,yang);   //MSBFIRST:从高位开始输出,yang第0个阳极编码
    shiftOut(dataPin,clockPin,MSBFIRST,ying);   //MSBFIRST:从高位开始输出,ying第0个阴极编码
    digitalWrite(latchPin,HIGH);//给595锁存脚高电平,让他把刚才收到的数据记下来!

Micky 发表于 2012-3-8 12:19:07

Malc 发表于 2012-3-7 19:47 static/image/common/back.gif
看看这篇文章你应该能搞懂大概了
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=204&extra= ...

两个595的12脚ST_CP应该可以接在一起吧?可以同时变成高电平让两个595同时并行输出?
一直没明白SH_CP是做什么的,应该怎么接?谢谢

Malc 发表于 2012-3-8 12:52:43

Micky 发表于 2012-3-8 12:19 static/image/common/back.gif
两个595的12脚ST_CP应该可以接在一起吧?可以同时变成高电平让两个595同时并行输出?
一直没明白SH_CP是 ...

12脚的作用是控制存储数据,在用shiftout之前要先让此引脚置低电平digitalWrite(latchPin,LOW);
发送完数据后再让他置高电平digitalWrite(latchPin,HIGH);
最简单的接法,2个595并联的脚:
10脚并联接5V(可以串个1k电阻限流)
13脚并联接地
12脚并联接arduino的latchPin
11脚并联接arduino的clockPin
第一个595的14脚接arduino的dataPin
第二个595的14脚接第一个的9脚
肯定能行的

kai191 发表于 2012-3-8 21:00:27

Malc 发表于 2012-3-7 19:47 static/image/common/back.gif
看看这篇文章你应该能搞懂大概了
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=204&extra= ...

那用两个595控制的时候,你如何保证就是输入阳极信号的时候又输入阴极信号来控制四位数码管的显示的位数呢。.

Malc 发表于 2012-3-8 21:05:52

kai191 发表于 2012-3-8 21:00 static/image/common/back.gif
那用两个595控制的时候,你如何保证就是输入阳极信号的时候又输入阴极信号来控制四位数码管的显示的位数呢 ...

http://wenku.baidu.com/view/47d5698ca0116c175f0e4814.html
这一篇讲得挺详细的

kai190 发表于 2012-3-9 23:35:02

Malc 发表于 2012-3-8 21:05 static/image/common/back.gif
http://wenku.baidu.com/view/47d5698ca0116c175f0e4814.html
这一篇讲得挺详细的

就是我试了好久还是没有办法在输入阳极信号以前,输入阴极信号,595完全没有把阴极信号输出去,现在四位数码管全部是一样的在显示,这怎么处理呢?

Malc 发表于 2012-3-9 23:44:36

kai190 发表于 2012-3-9 23:35 static/image/common/back.gif
就是我试了好久还是没有办法在输入阳极信号以前,输入阴极信号,595完全没有把阴极信号输出去,现在四位数 ...

把你的代码贴出来吧,不然不好分析,还有电路的连接

kai191 发表于 2012-3-13 17:32:07

Malc 发表于 2012-3-9 23:44 static/image/common/back.gif
把你的代码贴出来吧,不然不好分析,还有电路的连接

我已经弄出来了,非常谢谢,主要是输入阴极代码的时候0和1的顺序不对。
页: [1]
查看完整版本: 如何用两个74HC595来控制7段数码管