اطلاعیه

Collapse
No announcement yet.

اشکال در برنامه ماشین حساب جمع یک رقمی

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

    اشکال در برنامه ماشین حساب جمع یک رقمی

    سلام
    این برنامه باید جمع یک رقمی رو انجام بده .برنامه صفحه کلید و lcd ساده با همین الگوریتم جواب میده ولی برای ماشین حساب نمیدونم چرا کار نمیکنه.اگه کسی میتونه لطفا دریغ نکنه و ببینه مشکلش چیه.پیشاپیش ممنونم
    کد:
    #include <mega16.h> 
    #include <delay.h> 
    #include <stdlib.h>
    #include <lcd.h>
    #asm
     .equ __lcd_port=0x1B ;PORTA
    #endasm
    flash unsigned char keytbl[16]={0xee, 0xed, 0xeb, 0xe7, 0xde, 0xdd, 0xdb, 0xd7, 0xbe, 0xbd, 0xbb, 0xb7, 0x7e, 0x7d, 0x7b, 0x77};
    flash unsigned char realkey[16]={0x07, 0x08, 0x09, '/', 0x04, 0x05, 0x06, '*', 0x01, 0x02, 0x03, '-','o', 0x00,'=','+'};
    void main(void)
      { 
      char buffer[20],key,butnum,num1,num2,sum,result; 
      
      lcd_init(16);
      lcd_clear(); 
      while(1)
        {  
       first: 
        DDRC=0x0f;
     	  PORTC=0xf0;
        delay_ms(5);
        key=(PINC&0xf0);
        PORTC=0x0f;
        DDRC=0xf0;
        delay_ms(5);
        key=key|(PINC&0x0f);
     	  for(butnum=0; butnum<16; butnum++)
          if(keytbl[butnum]==key)
          num1=realkey[butnum]; 
          if(butnum=16)
          goto first; 
         // num1=realkey[butnum]; 
          
          
          
          //////////////
        lcd_clear();         
        itoa( num1,buffer); 
        lcd_puts(buffer);
        delay_ms(20); 
          //////////////
          
          
          
          first2: 
        DDRC=0x0f;
     	  PORTC=0xf0;
        delay_ms(5);
        key=(PINC&0xf0);
        PORTC=0x0f;
        DDRC=0xf0;
        delay_ms(5);
        key=key|(PINC&0x0f);
     	  for(butnum=0; butnum<16; butnum++)
          if(keytbl[butnum]==key)
          sum=realkey[butnum]; 
          if(butnum=16)
          goto first2;
          //sum=realkey[butnum]; 
          
            //////////////
        //lcd_clear();         
        itoa(sum,buffer); 
        lcd_puts(buffer);
        delay_ms(20); 
          //////////////
          
          
          
          first3: 
        DDRC=0x0f;
        PORTC=0xf0;
        delay_ms(5);
        key=(PINC&0xf0);
        PORTC=0x0f;
        DDRC=0xf0;
        delay_ms(5);
        key=key|(PINC&0x0f);
     	  for(butnum=0; butnum<16; butnum++)
          if(keytbl[butnum]==key)
          num2=realkey[butnum];  
          if(butnum=16)
          goto first3; 
         // num2=realkey[butnum]; 
           //////////////
      // lcd_clear();         
        itoa( num2,buffer); 
        lcd_puts(buffer);
        delay_ms(20); 
          //////////////
          
          
         
          result=num1+num2; 
          
          
          
          
          
          
          
          
          
              
     	  lcd_putsf("=");        
        itoa(result,buffer); 
       
        lcd_puts(buffer);
        delay_ms(20); 
     	  } 
      }



    #2
    پاسخ : اشکال در برنامه ماشین حساب جمع یک رقمی

    یه سری به این لینک بزن

    http://www.eca.ir/forum2/index.php?topic=28411.0
    در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
    در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
    که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
    آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار

    دیدگاه


      #3
      پاسخ : اشکال در برنامه ماشین حساب جمع یک رقمی

      خیلی ممنون.ولی من میخوام اشکال همین برنامه رو بدونم.

      دیدگاه

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