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,用来控制四个阳极,来达到完整控制整个数码管。
怎么引脚定义里连议员/副秘书长都出来了?:lol 你好,我想问下,假如是共阴极的四位数码管,再加上一个74HC595之后如何来控制阴极间的干扰,因为我现在从第一个595往第二个595传的时候,完全传不过去,四位依然都是显示一样的。能不能指导一下?谢谢! 你的原来的段码的值没有清除的,所以在选择新的位之后,也会显示先前定义的数字。
不清楚你说的传不过去是什么意思,如果是第二个数码管没法正常工作,那应该是595的级连接错了。 这个芯片的应用就是那个光立方吧 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);} 74HC595输出端Q0~Q7对应连接数码管的a,b,c,d,e,f,g,dp的话,修改下面数组的值
int a={
192,249,164,176,153,146,130,248,128,144}; //定义功能数组,数组依次为数码管得定义
运行上面的程序即可得到满意的效果。
应该是加上一个74hc595,用来控制四个阳极,来达到完整控制整个数码管。
请问发在那里? 能不能来一个数字8 然后闪几下??我控制8个LED,同时亮暗后,再次亮起芯片温度马上升温。。那塑料的实验板子都化了。。。:dizzy: 我想知道数组中的那些数字是怎么来的,我连接了一个一位数码管,不知道怎么显示数字 您的5V 和 GND 接到面包板的线 是不是画错了? 这样就短路了吧 可以把74hc595的q0-7设置成输入模式吗? 4个阳极为什么不直接用四个引脚来控制呢?也够用了吧 学习了。。。。
页:
[1]