السلام عليكم
انا جديد وحبيت اعمل برنامج للتحكم بالماتريكس 16 في 8 وعملت مسجل الازاحة 74ch164
والبرنامج الي عملت يظهر كلمة تدور عدد معين من اليكين الى اليسار ثم يتوقف ثانية ثم تظهر وتنزل الكلمة الى الاسفل ثم يتكرر البرنامج
لكن المشكل ان الكلمة لم تنزل لا ترجع
وهذا البرنامج بارك الله فيكم
char x1=0b00010100;
char x2=0b00010100;
char x3=0b00011100;
char x4=0b00000100;
char x5=0b00011100; ////
char x6=0b01010100;
char x7=0b00011100;
char x8=0b00000100;
char x9=0b00000100;
char x10=0b10011100;
char x11=0b10000000;
char x12=0b10011111;
char x13=0b01010101;
char x14=0b00011101;
char x15=0b10000001;
char x16=0b10001111;
char x17=0b00000000;
char x18=0b00000000;
char n,d3,d4, n1;
void main()
{
TRISB=0;
PORTB=0;
TRISa=0;
PORTa=0;
loop:
for(n1=0;n1<20;n1++){
for(n=0;n<100;n++){
porta.f1=1; porta.f1=0;/////////*****///////////
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x1;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x2;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x3;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x4;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x5;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x6;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x7;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x8;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x9;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x10;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x11;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x12;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x13;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x14;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x15;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x16;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x17;
delay_us(300);//////////////////////////////////////////////porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x18;
delay_us(300);//////////////////////////////////////////////porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
} x16=x15;
x15=x14;
x14=x13;
x13=x12;
x12=x11;
x11=x10;
x10=x9;
x9=x8;
x8=x7;
x7=x6;
x6=x5;
x5=x4;
x4=x3;
x3=x2;
x2=x1;
x1=x16; }
portb=0; porta=0; delay_ms(1000);
for(n1=0;n1<20;n1++){
for(n=0;n<100;n++){
porta.f1=1; porta.f1=0;/////////*****///////////
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x1;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x2;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x3;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x4;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x5;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x6;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x7;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x8;
delay_us(300);
//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x9;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x10;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x11;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x12;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x13;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x14;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x15;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x16;
delay_us(300);//////////////////////////////////////////////
porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x17;
delay_us(300);//////////////////////////////////////////////porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0;
portb=x18;
delay_us(300);/////////////////////////
}
x1=x1>>1;
d4= x1.f7;
x1.f0=d3;
x2=x2>>1;
d4= x2.f7;
x2.f0=d3;
x3=x3>>1;
d4= x3.f7;
x3.f0=d3;
x4=x4>>1;
d4= x4.f7;
x4.f0=d3;
x5=x5>>1;
d4= x5.f7;
x5.f0=d3;
x6=x6>>1;
d4= x6.f7;
x6.f0=d3;
x7=x7>>1;
d4= x7.f7;
x7.f0=d3;
x8=x8>>1;
d4= x8.f7;
x8.f0=d3;
x9=x9>>1;
d4= x9.f7;
x9.f0=d3;
x10=x10>>1;
d4= x10.f7;
x10.f0=d3;
x11=x11>>1;
d4= x11.f7;
x11.f0=d3;
x12=x12>>1;
d4= x12.f7;
x12.f0=d3;
x13=x13>>1;
d4= x13.f7;
x13.f0=d3;
x14=x14>>1;
d4= x14.f7;
x14.f0=d3;
x15=x15>>1;
d4= x15.f7;
x15.f0=d3;
x16=x16>>1;
d4= x16.f7;
x16.f0=d3;
}
portb=0; porta=0; delay_ms(1000);
goto loop;
}