极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22965|回复: 8

用arduino和两片74HC595控制8X8点阵的问题

[复制链接]
发表于 2014-10-14 21:08:48 | 显示全部楼层 |阅读模式
我用两片74HC595控制8X8点阵。一片控制行,一边控制列,现在出现了一个问题,LED灯的两端都给高电平时,LED灯也能亮。用万用表测两端的电压为-1V,此时接上单个LED,无论正负极如接,都能点亮LED。可能是什么原因呀?求助呀。。。我搞了一天了。没弄出来
回复

使用道具 举报

发表于 2014-10-14 22:32:21 | 显示全部楼层
换块点阵试试,我用两片74HC595驱动点阵正常,用shiftout就可以
回复 支持 反对

使用道具 举报

发表于 2014-10-15 00:57:30 | 显示全部楼层
程序没写好,两块595一块高电平,一块低电平。电平轮流高低就会产生正反电压。建议贴出程序。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 08:54:26 | 显示全部楼层
Ansifa 发表于 2014-10-15 00:57
程序没写好,两块595一块高电平,一块低电平。电平轮流高低就会产生正反电压。建议贴出程序。

后来我用8个LED来做测试,用其中一块595接上所有LED的长脚,另一块595接上所有LED的短脚。也是当我想把第一个LED关闭时,给第一个LED两端都给高电平,结果就出现无论正接,反接都能点亮LED灯。我估计也是我程序没写好。程序如下,麻烦你帮我看看。

#include <TimerOne.h>
int latchpin = 8;
int clockpin = 12;
int datapin = 11;
byte led[8];
void setup()
{
  pinMode (latchpin,OUTPUT);
  pinMode (clockpin,OUTPUT);
  pinMode (datapin,OUTPUT);
  
}
void loop()
{
  digitalWrite(latchpin,LOW);
  shiftit(11100000);
  shiftit(11111111);
  digitalWrite(latchpin,HIGH);
  
}
void shiftit(byte dataout)
{
  boolean pinstate;
  digitalWrite (datapin,LOW);
  digitalWrite(clockpin,LOW);
  for (int i = 0;i < 8;i ++)
  {
    digitalWrite(clockpin,LOW);
    if(dataout &(1 << i))
    {
      pinstate = HIGH;
    }
    else
    {
      pinstate = LOW;
    }
    digitalWrite(datapin,pinstate);
    digitalWrite(clockpin,HIGH);
    digitalWrite(datapin,LOW);
  }
  digitalWrite(clockpin,LOW);
}
回复 支持 反对

使用道具 举报

发表于 2014-10-15 18:18:01 | 显示全部楼层
shiftit(B11100000);
  shiftit(B11111111)
而不是
shiftit(11100000);
  shiftit(11111111);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 21:52:10 | 显示全部楼层
Ansifa 发表于 2014-10-15 18:18
shiftit(B11100000);
  shiftit(B11111111)
而不是

之前的问题解决了,非常感谢你。还有一个问题就是:控制点阵时,想要的图像是显示出来了,但是不让它亮的部分,还是有一定的亮度(影子),不知道这是不是正常现象?有没有办法解决?
回复 支持 反对

使用道具 举报

发表于 2014-10-16 01:22:55 | 显示全部楼层
小华盛顿 发表于 2014-10-15 21:52
之前的问题解决了,非常感谢你。还有一个问题就是:控制点阵时,想要的图像是显示出来了,但是不让它亮 ...

digitalWrite(latchpin,LOW);
delay(1);
  shiftit(B11100000);
  shiftit(B11111111);
  digitalWrite(latchpin,HIGH);

加一个delay(1)就没有影子了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-16 11:40:48 | 显示全部楼层
谢谢,已经解决了。
回复 支持 反对

使用道具 举报

发表于 2018-1-15 14:08:14 | 显示全部楼层
您好, 我现在也是遇到的这个问题,两片595控制8*8点阵,  我不知道是怎么连接的,求指教
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-18 16:07 , Processed in 0.040713 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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