电路原理图
图4.24.1
3. 硬件电路连线
(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;
(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;
4. 程序设计内容
(1). 8X8 点阵LED工作原理说明
8X8点阵LED结构如下图所示
图4.24.2
从图4.24.2中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现。
6. C语言源程序 #i nclude <AT89X52.H>
unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(void) { unsigned char i,j;
for(i=10;i>0;i--) for(j=248;j>0;j--); }
void delay1(void) { unsigned char i,j,k;
for(k=10;k>0;k--) for(i=20;i>0;i--) for(j=248;j>0;j--);
}
void main(void) { unsigned char i,j;
while(1) { for(j=0;j<3;j++) //from left to right 3 time { for(i=0;i<8;i++) { P3=taba; P1=0xff; delay1(); } }
for(j=0;j<3;j++) //from right to left 3 time { for(i=0;i<8;i++) { P3=taba[7-i]; P1=0xff; delay1(); } }
for(j=0;j<3;j++) //from top to bottom 3 time { for(i=0;i<8;i++) { P3=0x00; P1=tabb[7-i]; delay1(); } }
for(j=0;j<3;j++) //from bottom to top 3 time { for(i=0;i<8;i++) { P3=0x00; P1=tabb; delay1(); } }
} } |
文章评论(0条评论)
登录后参与讨论