LED顯示屏(點陣)可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內(nèi)環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點。
LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點分不開的。這些優(yōu)點概括起來是:亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可*性、全色化方向發(fā)展。
為什么要說小玩?因為這個只是一個點陣屏的基礎8x8點陣,小得可憐,因此這樣小的屏只能顯示一些簡單的圖形和數(shù)字,如圖
點陣的驅(qū)動程序也不是很復雜,但是有一道工序要有耐性。就是圖形和數(shù)字的取摸。
后附上每秒變動一個數(shù)字的源程序,下載地址: http://m.raoushi.com/f/88dzp1.rar
#include<reg52.h>
#define uchar unsigned char
uchar code tab[11][8]={
{0x18,0x24,0x42,0x42,0x42,0x42,0x24,0x18},/*0*/ //共陰
{0x18,0x1C,0x18,0x18,0x18,0x18,0x18,0x3C},/*1*/
{0x3C,0x66,0x42,0x60,0x30,0x1C,0x86,0x7E},/*2*/
{0x3C,0x42,0x40,0x3C,0x40,0x40,0x42,0x3C},/*3*/
{0x30,0x38,0x2C,0x26,0x23,0xFF,0x20,0x20},/*4*/
{0x7E,0x02,0x3E,0x40,0x40,0x40,0x42,0x3C},/*5*/
{0x3C,0x42,0x02,0x3A,0x46,0x42,0x42,0x3C},/*6*/
{0x7C,0x42,0x40,0x20,0x10,0x08,0x08,0x08},/*7*/
{0x3C,0x42,0x42,0x3C,0x42,0x42,0x42,0x3C},/*8*/
{0x3C,0x42,0x42,0x42,0x7C,0x40,0x42,0x3C},/*9*/
{0x24,0x7E,0xFF,0xFF,0xFF,0x7E,0x3C,0x18},//心形
};
uchar count,time,h;
bit flag;
void delay (uchar t)
{
uchar i=120;
while(t--)
while(i--);
}
void init_T() //中斷和定時器初始化
{
IE=0x82; //打開總中斷,定時器T1和T0中斷
TMOD=0x01; //設定T1,T0位工作方式1
TH0=0x3c;
TL0=0xb0; //T0裝初值
TR0=1; //開始時鐘開始工作
}
void main()
{
uchar i;
init_T();
while(1)
{
for(i=0;i<8;i++)
{
P1=(0x01<<i);
if(!flag) P0=~tab[time%10][i];
// else P0=~tab[time/10][i];
delay(1);
P0=0xff;
}
}
}
void time_T0() interrupt 1 //定時器0,工作方式1,時鐘中斷
{
TH0=0x3c;
TL0=0xb0; //T0裝初值
count++;
if(count==20)
{
count=0;
time++;
/* h++;
if(h==10)
{flag=~flag; //時鐘計算,每秒加1
h=0;
}
*/
if(time==60)
{
time=0;
}
}
}


