点阵8×8滚动显示原理
两排脚:一排控制哪一行亮,另外一排控制那一行亮那几个。
89C51引脚使用
p3和p2各控制一排脚
代码实现
#include<reg51.h>
void delay_ms(unsigned int t) //延时函数
{
unsigned int a,b;
for(a=0;a<t;a++)
for(b=0;b<120;b++);
}
void matrix()
{
char r[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
char c[]={0x00,0x66,0xFF,0xFF,0xFF,0x7E,0x3C,0x18};
unsigned char k=0;
for(k=0;k<8;k++)
{
P2=~r[k];
P3=c[k];
delay_ms(10);
}
}
void main()
{
while(1)
{
matrix();
delay_ms(1);
}
}