اطلاعیه

Collapse
No announcement yet.

سوال در مورد برنامه نویسی C

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سوال در مورد برنامه نویسی C

    سلام بچه ها .
    اگه پس از دستور GOTO چیزایی بنویسی اونا هم اجرا میشه یا نه ؟؟؟ مثلا مثل delay خط آخر این برنامه:
    کد:
    #include <mega32.h>
    #include <delay.h>
    
    char segment[]={64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14};
    void main(void){
    int a=0;
    int p=0;
    DDRD=0xff;
    DDRA=0x08;
    PORTA=0x07;
    
    
    
    
    
    L1:
    PORTA.3=0;
    delay_ms(100);
    PORTA.3=1;
    
    while(1){
    
      if(PINA.0==0&&a<15){a++;
      while(PINA.0==0);}
    
      if(PINA.1==0&&a!=0){a--;
      while(PINA.1==0);}
    
    PORTD=segment[a];
    delay_ms(100);
        if(PINA.2==0&&a!=0){
        delay_ms(50);
        goto L2;   
    
    }}
    
    
    
    L2:
    PORTA.3=0;
    delay_ms(100);
    PORTA.3=1;
    
    while(1){
     for(p=0;p<=a;p++){
     PORTD=segment[p];
     delay_ms(600);
      if(p==0){
      PORTA.3=0;
      delay_ms(300);
      PORTA.3=1;}
        if(PINA.2==0){
        goto L1;
        delay_ms(100);
    }}}}

    #2
    پاسخ : سوال در مورد برنامه نویسی C

    نوشته اصلی توسط armay
    سلام بچه ها .
    اگه پس از دستور GOTO چیزایی بنویسی اونا هم اجرا میشه یا نه ؟؟؟ مثلا مثل delay خط آخر این برنامه:
    کد:
    #include <mega32.h>
    #include <delay.h>
    
    char segment[]={64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14};
    void main(void){
    int a=0;
    int p=0;
    DDRD=0xff;
    DDRA=0x08;
    PORTA=0x07;
    
    
    
    
    
    L1:
    PORTA.3=0;
    delay_ms(100);
    PORTA.3=1;
    
    while(1){
    
      if(PINA.0==0&&a<15){a++;
      while(PINA.0==0);}
    
      if(PINA.1==0&&a!=0){a--;
      while(PINA.1==0);}
    
    PORTD=segment[a];
    delay_ms(100);
        if(PINA.2==0&&a!=0){
        delay_ms(50);
        goto L2;   
    
    }}
    
    
    
    L2:
    PORTA.3=0;
    delay_ms(100);
    PORTA.3=1;
    
    while(1){
     for(p=0;p<=a;p++){
     PORTD=segment[p];
     delay_ms(600);
      if(p==0){
      PORTA.3=0;
      delay_ms(300);
      PORTA.3=1;}
        if(PINA.2==0){
        goto L1;
        delay_ms(100);
    }}}}
    سلام
    نه دیگه اجرا نمیشه

    دیدگاه

    لطفا صبر کنید...
    X