PDA

View Full Version : Help meeeee.....led matrixxxxx.........


delete_ttt
12-05-2010, 07:22 PM
GIAI THICH DOAN CODE NAY GIUP E VOI............E DANG LAM DE TAI CHAY CHU TREN LED MA TRAN...E TIM DC DOAN CODE NAY....NHUNG KO HIEU CHO LAM...CAC BAC GIUP E VOI...E CAM ON NHIEU NHIEU LAM....^^

#include <16f877a.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPROTECT //Code not protected from reading
#FUSES XT

#use delay(clock = 4000000)
#use fast_io(c)
#use fast_io(b)
#use fast_io(d)
int16 a=0,b=0,c=1,d=0,e=0,f=0,i;
int16 const kytu[]={0x00,0x00,0x00
0X01,0X01,0XFF,0X01,0X01,0X00 //T
0xFF,0X81,0X81,0X81,0X81,0X00 //C
0XFF,0X81,0X81,0X81,0X7E,0X00 //D
0X01,0X01,0XFF,0X01,0X01,0X00 //T
0X00,0X00,0x00
0X7E,0X81,0X81,0X81,0X7E,0X00 //0
0XFF,0X91,0X91,0X91,0XFF,0X00 //8
0XFE,0X09,0X09,0X09,0XFE,0X00 //A
0x00,0x00,0X00
};

void hienthi();
void main()
{
set_tris_b(0);
set_tris_d(0);
set_tris_c(0);

output_b(0);
output_d(0);
output_c(0);
{
while(true)
{
for (i =0;i<100;i++)
{hienthi();}
if (b==50)
b=0;
else
b++;
}
}
}

void hienthi()
{
e=255-c;
f=255-d;

output_b(kytu[a]);
output_d(e);
output_c(f);

c=c*2;
d=d*2;

if (d==256)
{c=1;
d=0;}

if (c==256)
{d=1;
c=0;
a=b;}

if (a==50)
{a=0;
if (a=0 && d==256)
{b=0,c=1,d=0,e=0,f=0;}
}

else
a++;

delay_US(1500);
output_d(255);
output_c(255);
}