LED顯示屏(點陣)可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點。
LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點分不開的。這些優(yōu)點概括起來是:亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可*性、全色化方向發(fā)展。
為什么要說小玩?因為這個只是一個點陣屏的基礎8x8點陣,小得可憐,因此這樣小的屏只能顯示一些簡單的圖形和數(shù)字,如圖
點陣的驅動程序也不是很復雜,但是有一道工序要有耐性。就是圖形和數(shù)字的取摸。
后附上每秒變動一個數(shù)字的源程序,下載地址: http://www.zg4o1577.cn/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; } } }