极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23812|回复: 8

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

[复制链接]
发表于 2012-3-7 16:41:17 | 显示全部楼层 |阅读模式
求大神讲解下如何在arduino上用两个74HC595来控制一个共阴极的7段数码管,一个595用来控制8个阳极口,一个595用来控制4个阴极口,但是我现在不懂如何去做这个数据的输入?有没有大神能讲解下如何来写这个代码或者指导下原理?谢谢!
回复

使用道具 举报

发表于 2012-3-7 19:47:03 | 显示全部楼层
看看这篇文章你应该能搞懂大概了
http://www.geek-workshop.com/for ... &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[0]);     //MSBFIRST:从高位开始输出,yang[0]第0个阳极编码
    shiftOut(dataPin,clockPin,MSBFIRST,ying[0]);     //MSBFIRST:从高位开始输出,ying[0]第0个阴极编码
    digitalWrite(latchPin,HIGH);//给595锁存脚高电平,让他把刚才收到的数据记下来!
回复 支持 反对

使用道具 举报

发表于 2012-3-8 12:19:07 | 显示全部楼层
Malc 发表于 2012-3-7 19:47
看看这篇文章你应该能搞懂大概了
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=204&extra= ...

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

使用道具 举报

发表于 2012-3-8 12:52:43 | 显示全部楼层
Micky 发表于 2012-3-8 12:19
两个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脚
肯定能行的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-8 21:00:27 | 显示全部楼层
Malc 发表于 2012-3-7 19:47
看看这篇文章你应该能搞懂大概了
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=204&extra= ...

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

使用道具 举报

发表于 2012-3-8 21:05:52 | 显示全部楼层
kai191 发表于 2012-3-8 21:00
那用两个595控制的时候,你如何保证就是输入阳极信号的时候又输入阴极信号来控制四位数码管的显示的位数呢 ...

http://wenku.baidu.com/view/47d5698ca0116c175f0e4814.html
这一篇讲得挺详细的
回复 支持 反对

使用道具 举报

发表于 2012-3-9 23:35:02 | 显示全部楼层
Malc 发表于 2012-3-8 21:05
http://wenku.baidu.com/view/47d5698ca0116c175f0e4814.html
这一篇讲得挺详细的

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

使用道具 举报

发表于 2012-3-9 23:44:36 | 显示全部楼层
kai190 发表于 2012-3-9 23:35
就是我试了好久还是没有办法在输入阳极信号以前,输入阴极信号,595完全没有把阴极信号输出去,现在四位数 ...

把你的代码贴出来吧,不然不好分析,还有电路的连接
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-13 17:32:07 | 显示全部楼层
Malc 发表于 2012-3-9 23:44
把你的代码贴出来吧,不然不好分析,还有电路的连接

我已经弄出来了,非常谢谢,主要是输入阴极代码的时候0和1的顺序不对。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-17 01:18 , Processed in 0.048514 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表