基于MCS-51單片機的點陣屏實現禮花功能(含源代碼)
大家可曾記得禮花綻放那一刻的精彩?小時候每當看禮花綻放時,總希望自己能將那最美的那一霎那永遠留下。終于,今天我的夢想實現了。通過自己的板板,只要隨手編程幾下就搞定啦!
本文引用地址:http://butianyuan.cn/article/171055.htm在給大家展示效果圖之前,我們首先得對LED點陣屏做一番介紹!8*8 LED點陣等效電路如圖1所示。通過分析,我們不難得知:只要其對應的X、Y軸順向偏壓,即可使LED發(fā)亮。例如:若想使左上角LED點亮,則Y0=1,X0=0,則會形成壓降點亮左上角的LED。這里的水平方向由P2控制,垂直方向由P0控制。
圖1 8*8 LED點陣等效電路
本次在LED點陣屏上實現顯示禮花的功能原理接口圖如圖2所示,效果圖如圖3所示。通過該LED點陣還可以顯示靜態(tài)或者動態(tài)的圖形、文字等。大家感興趣的可以自己試試啦~~
圖3 禮花顯示效果組圖
圖 禮花動態(tài)顯示圖
LED點陣屏上顯示禮花C源代碼
#includereg52.h>
#includeintrins.h>
#define uint unsigned int
#define uchar unsigned char
unsigned char code tabP0[6][8]={{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},{0x00,0x00,0x10,0x38,0x38,0x10,0x00,0x00},{0x00,0x00,0x38,0x7C,0x7C,0x38,0x00,0x00},{0x00,0x38,0x7C,0x7C,0x7C,0x7C,0x38,0x00},{0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C}};
unsigned char code tabP2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};
void delay(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
int i,j,k;
while(1)
{
for(j=0;j6;j++)
{
for(k=0;k25;k++)
{
for(i=0;i8;i++)
{
P0=0;
P2=tabP2[i];
P0=tabP0[j][i];
delay(2);
}
}
}
}
}
評論