#include<reg51.h>
void delay(unsigned char i)
{
unsigned char j=0;
while(i--)
{
for(j=0;j<500;j++);
}
}
char r[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
char c[]={0x00,0x66,0xFF,0xFF,0xFF,0x7E,0x3C,0x18};
void matrix()
{
unsigned char k=0;
for(k=0;k<8;k++)
{
P2=~r[k];
P3=c[k];
delay(5);
}
}
void main()
{
while(1)
{
matrix();
}
}
是不是要把delay时间加大一点
io口配置上拉电阻试试看