今天来说说led点阵屏。
led点阵屏是由若干独立的led组成,led以矩阵的形式排列。因此,led点阵屏的原理便与之前学的数码管差不多了。其原理图如下。
由图可以看出其可以先确定行再确定列定位到其中一个灯,或者先确定列再确定行也可以。
其电路图为
由图可以看出其中的接口接的引脚也不同。所以其引脚控制的为下图
P0口控制列,D口控制行。那么D口由什么来控制呢?如下图
D口由74HC595来控制。而74HC595是串行输入并行输出的移位寄存器,用3根线输入串行数据,8根线输出并行数据。其图如下
其意为如果想输出1111 0000,就要先对最高位赋值进行上升沿移位,再向下移位,依次对这8位赋完值后,进行上升沿移位就成功了。
对于行的选择其代码为
void _74HC595_WriteByte(unsigned char Byte)
{
unsigned char i;
for(i=0;i<8;i++)
{
SER=Byte&(0X80>>i);
SCK=1;
SCK=0;
}
RCK=1;
RCK=0;
}
对于想在点阵屏点亮则为
void MatrixLED_ShowColumn(unsigned char Column,Data)
{
_74HC595_WriteByte(Data);
MATRIX_LED_PORT=~(0X80>>Column);
Delay(1);
MATRIX_LED_PORT=0XFF;
}
由于其会有残影,因此需要消影。
如果想显示动画,便需要一个软件叫做取字模软件来进行动画显示。