دائما نفس المشكل
لا يستطيع أن يعد أكثر من 255
كود:
unsigned char i,x;
char dat[] = {192, 249,164,176,153,146,130,248,128,144};
void main()
{
TRISB=0XFF; // initialisation du port B en entrée
TRISC=0;TRISd=0; //initialisation du port C en sortie
ADCON1=0X06;
PORTC=0xFF;//
PORTD=0;
while(1){
for (x=0;i<9999;x++)
{for (i=0;i<2;i++)
{
portd=1;
portc=dat[x%10];
delay_ms(3); portd=0;
portd=2;
portc=dat[x/10%10 ];
delay_ms(3); portd=0;
portd=4;
portc=dat[x/100%10];
delay_ms(3); portd=0;
portd=8;
portc=dat[x/1000];
delay_ms(3); portd=0;
}
}
}
}
|
السلام عليكم
اولا انت معرف متغير x من نوع char وهذا خطأ يجب تعريفه من int
جرب هذا التعديل
كود:
unsigned char i;
unsigned unsigned int x ;
char dat[] = {192, 249,164,176,153,146,130,248,128,144};
void main()
{
TRISB=0XFF; // initialisation du port B en entrée
TRISC=0;TRISd=0; //initialisation du port C en sortie
ADCON1=0X06;
PORTC=0xFF;//
PORTD=0;
while(1){
for (x=0;x<9999;x++)
{for (i=0;i<2;i++)
{
portd=1;
portc=dat[x%10];
delay_ms(3); portc=0xff;
portd=2;
portc=dat[x/10%10 ];
delay_ms(3); portc=0xff;
portd=4;
portc=dat[x/100%10];
delay_ms(3); portc=0xff;
portd=8;
portc=dat[x/1000];
delay_ms(3); portc=0xff;
}
}
}
}
جرب هذا التعديل واذا لم ينجح
أعطني ملف محاكاه مع ملف البرمجه لكي نرى اين مشكله
تحياتي