微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 595+138驱动88点阵不稳定

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  谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top