弘毅 发表于 2011-11-17 11:39:41

74HC595控制数码管显示数字(arduino-74hc595试验2)(转)

原文地址是迷你强的BLOG:http://www.miniqiang.com/?p=58

经过昨天的研究,发现之前的理解还是有误的。串入并处并不是啥进制转换,而是将八位二进制数通过八只脚同时输出,,串行的一个一个输出,然后并行同时输出。随后研究了用74HC595的8只脚控制四位共阳数码管中得一个管依次显示0-9这几个数,数码管资料如下:

因为目前只涉及一个芯片,针脚有限,所以此实验只点亮一个数码。我们将12号针脚加220Ω保护电阻接入V5电路,其他各脚依次接入电路。
接线方式如下图:



74hc595引脚资料如下

四位共阳数码管一共有12只引脚
依据上图的视角引脚编号为:
12,11,10,9,8,7
1,2,3,4,5,6
参照上面的参数图,我们将12号脚接入电源高电平,依次接入各输出脚,然后下面来看程序int latchPin = 8;
int clockPin = 12;
int dataPin = 11; //这里定义了那三个脚
void setup ()
{
pinMode(latchPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(dataPin,OUTPUT); //让三个脚都是输出状态
}
void loop()
{

int a={
    3,159,37,13,153,73,65,27,1,9};   //定义功能数组,数组依次为数码管得定义
for(int x=9; x>-1 ;x-- )                        //倒数功能循环
{
    digitalWrite(latchPin,LOW);
    shiftOut(dataPin,clockPin,MSBFIRST,a);   //显示数组a
    digitalWrite(latchPin,HIGH);
    delay(1000);
}
}
以上程序用到了数组,数组内部的数字是数码管的8位二进制显示状态的十进制数,通过调用数组循环倒数0-9这几个数,通过输出高电平来熄灭相应的灯管达到显示数字的目的
今天的试验就到这里了。明天应该是加上一个74hc595,用来控制四个阳极,来达到完整控制整个数码管。



ardyPro 发表于 2012-3-4 15:59:37

怎么引脚定义里连议员/副秘书长都出来了?:lol

kai190 发表于 2012-3-10 03:50:04

你好,我想问下,假如是共阴极的四位数码管,再加上一个74HC595之后如何来控制阴极间的干扰,因为我现在从第一个595往第二个595传的时候,完全传不过去,四位依然都是显示一样的。能不能指导一下?谢谢!

ardyPro 发表于 2012-3-13 22:29:03

你的原来的段码的值没有清除的,所以在选择新的位之后,也会显示先前定义的数字。

不清楚你说的传不过去是什么意思,如果是第二个数码管没法正常工作,那应该是595的级连接错了。

回复地方 发表于 2012-3-31 16:45:37

这个芯片的应用就是那个光立方吧

xjcjzpg 发表于 2012-5-19 01:50:24

int a={    3,159,37,13,153,73,65,27,1,9};   //定义功能数组,数组依次为数码管得定义for(int x=9; x>-1 ;x-- )                        //倒数功能循环{    digitalWrite(latchPin,LOW);    shiftOut(dataPin,clockPin,MSBFIRST,a);   //显示数组a    digitalWrite(latchPin,HIGH);    delay(1000);}

zbbs000 发表于 2013-6-24 15:47:25

74HC595输出端Q0~Q7对应连接数码管的a,b,c,d,e,f,g,dp的话,修改下面数组的值

int a={
192,249,164,176,153,146,130,248,128,144};   //定义功能数组,数组依次为数码管得定义
运行上面的程序即可得到满意的效果。

jeanscyz 发表于 2014-2-28 16:53:58

应该是加上一个74hc595,用来控制四个阳极,来达到完整控制整个数码管。
请问发在那里?

麽麽茶㊣ 发表于 2014-4-23 13:15:36

能不能来一个数字8 然后闪几下??我控制8个LED,同时亮暗后,再次亮起芯片温度马上升温。。那塑料的实验板子都化了。。。:dizzy:

罗疯LF 发表于 2014-12-28 12:24:46

我想知道数组中的那些数字是怎么来的,我连接了一个一位数码管,不知道怎么显示数字

zmalibaba 发表于 2015-10-12 21:30:59

您的5V 和 GND 接到面包板的线 是不是画错了? 这样就短路了吧

shatian114 发表于 2015-11-22 22:43:01

可以把74hc595的q0-7设置成输入模式吗?

pumpitup 发表于 2016-5-24 23:47:34

4个阳极为什么不直接用四个引脚来控制呢?也够用了吧

shanqln 发表于 2018-8-13 22:48:48

学习了。。。。
页: [1]
查看完整版本: 74HC595控制数码管显示数字(arduino-74hc595试验2)(转)