菜鸟关于LED点阵问题求助
时间:10-02
整理:3721RD
点击:
#include<reg51.h>
#define REDPORTS P2
#define COMMONPORTS P0
unsigned char code tab[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//行扫描
unsigned char code num[4][8]={
{0x00,0x7c,0x82,0x82,0x82,0x7c,0x00,0x00},//0
{0x00,0x80,0xfe,0x84,0x00,0x00,0x00,0x00},//1
{0x00,0x9c,0xa2,0xa2,0xa2,0xe4,0x00,0x00},//2
{0x00,0x9c,0x92,0x92,0x92,0x54,0x00,0x00} //3
};
void main()
{
unsigned int i,j=0,k;
while(1)
{
for(k=0;k<5000;k++)
{
for(i=0;i<8;i++)
{
REDPORTS=0xff;
REDPORTS=tab[i];
COMMONPORTS=num[j][i];
}
}
j++;
if(j==4)
{
j=0;
}
}
}
上面是代码 电路很简单 单片机P0口跟点阵行控连接,P2口跟列控连接 我想让点阵显示0-3 可现在显示0后就没有然后了 求高手解答
#define REDPORTS P2
#define COMMONPORTS P0
unsigned char code tab[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//行扫描
unsigned char code num[4][8]={
{0x00,0x7c,0x82,0x82,0x82,0x7c,0x00,0x00},//0
{0x00,0x80,0xfe,0x84,0x00,0x00,0x00,0x00},//1
{0x00,0x9c,0xa2,0xa2,0xa2,0xe4,0x00,0x00},//2
{0x00,0x9c,0x92,0x92,0x92,0x54,0x00,0x00} //3
};
void main()
{
unsigned int i,j=0,k;
while(1)
{
for(k=0;k<5000;k++)
{
for(i=0;i<8;i++)
{
REDPORTS=0xff;
REDPORTS=tab[i];
COMMONPORTS=num[j][i];
}
}
j++;
if(j==4)
{
j=0;
}
}
}
上面是代码 电路很简单 单片机P0口跟点阵行控连接,P2口跟列控连接 我想让点阵显示0-3 可现在显示0后就没有然后了 求高手解答
试下在j++前面加一个延时和关闭显示的函数
我马上试一下!
貌似直接在 COMMONPORTS=num[j][i]; 后面加1S延时就OK了
昨天晚上试过了 在J++前加了一个延时就可以了 多谢啦
谢谢小编分享好资料,先收藏了,方便学习交流,我正在收集这方面资料。
我分享神马资料了?
