LED点阵显示
- 找到相关的器件,分别有单片机,非门,74HC157(4-16译码器),等等。
- 了解LED点阵的原理,有多种点阵,可以分为5-7,5-8.8-8等等,还可以分为单色,双色,三色等等,另外按照极性可以分为共阴极和共阳极。8-8的有64个发光二极管,每个发光二极管处于行线和列线之间的交叉点上。每一个发光二极管发光的条件是对应的行为高电平,对应的列为低电平。那么要如何才能显示一个字,而不出现意外勒,可以利用人眼的视觉暂留效应,一行一行地显示相应的汉字,最终得到最终的结果。
- 连接相关器件。观察8-8LED点阵可以发现,上列下行。
-
使用4-16译码器来控制行的输出,由于4-16译码器输出的是低电平,所以加上一个非门。,但是我这里需要的是低电平,所以去掉了非门。另外再控制行的时候,发现0输出口不能够输出高电平(这是需要注意的一个点)。
-
代码也很长,没有写很多。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned char
#define out0 P0
#define out2 P2
#define out1 P1
void delayms(uint j)
{
uchar i;
for(;j>0;j--)
{
i=250;
while(--i);
i=249;
while(--i);
}
}
void main()
{
while(1)
{
P1=0x7f;
P0=0x00;
P2=0xff;
}
}`
f;
P0=0x00;
P2=0xff;
}
}