595+138驱动88点阵不稳定
时间:10-02
整理:3721RD
点击:
我用实物74HC595 74HC38这样连接后,接电脑USB插口电源点阵只能正常亮一半, 而节手机充电的那种usb电源,点阵能全亮 ,可是亮度不够 ,而且会随机变暗变亮
#include<reg52.h>
sbit R=P3^4; //数据输入端口
sbit CLK=P3^6; //时钟信号
sbit STB=P3^5; //锁存端
char code table[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void delay(int z)
{
int x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
void WriteByte(char dat) //写一个字节的数据
{
char i;
for(i=0;i<8;i++) //循环8次把编码传给锁存器
{
dat=dat>>1; //右移一位,取出该字节的
R=CY; // 将该字节的最低位
CLK=0; // 将数据移入595,上升
CLK=1;
}
}
void main()
{
int num;
while(1)
{
for(num=0;num<8;num++)
{
WriteByte(table[num]); //送出一个字节
P1=num;
STB=1; // 输出锁存器
STB=0;
delay(1) ;
}
}
}

可能里面的LED有导通电压不同
目测是算法问题,不知道你程序怎么写的。在一个时隙里选通一个8X8点阵,595给列,138控制行,应该是没问题的。
我加上程序了 可以再看看
那有什么方法可以解决?
595、138这类器件的拉电流不是很大,不足以驱动16列的LED。在138后面接PNP管增强驱动能力。
这样行吗?

我认为可能是led直接接到输出引脚,没有限流电阻,导致最大允许电流超出

我以前驱动32x16点阵的。
向各位大神好好学习…来自: Android客户端
我也来学学!
朋友,你的有点阵的代码吗?能发我份吗?616057750@qq.com 谢谢!
