ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2015/02/13
    57
    1

    ماشین حساب

    سلام
    من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
    بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
    وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
    میخوام عمل جمع ضرب هم انجام بدم
    برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
    حتی میخوام جاروب kypad به صورت زیر با شد
    کد:
    #include <mega32.h>
    #include <delay.h>
    
    unsigned char key; 
    
    void main(void)
    {
    while(1)
       { 
       do{
       
       DDRA = 0x0f;
        PORTA = 0xf0; 
        delay_us(100);
        key = PINA;
        
       
        DDRA = 0xf0;
        PORTA = 0x0f; 
        delay_us(100);
        key = key | PINA;
       
       }while(key==0xff);
      
       
        
        
         switch(key)
      {
        case 0b11101110:  
        key=1;
        break;
        case 0b11011110:  
        key=2;
        break;
        case 0b10111110:  
        key=3;
        break;
        case 0b01111110:  
        key=4;
        break;
        case 0b11101101:  
        key=5;
        break;
        case 0b11011101:  
        key=6;
        break;
        case 0b10111101:  
        key=7;
        break;
        case 0b01111101:  
        key=8;
        break;
        case 0b11101011:  
        key=9;
        break;
        case 0b11011011:  
        key=10;
        break;
        case 0b10111011:  
        key=11;
        break;
        case 0b01111011:  
        key=12;
        break;
        case 0b11100111:  
        key=13;
        break;
        case 0b11010111:  
        key=14;
        break;
        case 0b10110111:  
        key=15;
        break;
        case 0b01110111:  
        key=16;
        
      }
    }
    }
  2. #2
    2015/02/13
    57
    1

    پاسخ : ماشین حساب

    کسی از دوستان راحل شو پیدا نکرد؟؟؟
    من فقط می خوام عداد را بصورت رشته روی lcd نمایش بدم
  3. #3
    2015/02/13
    57
    1

    پاسخ : ماشین حساب

    من تو کامپایلر های همچون stdio ,BASIC که در کامپیوتر استفاده میشه
    برای این که دوتا عدد یا بیشتر در کنار هم قرارگیرند انان را بصورت کارکتر جمع یا اند میکنیم ولی تو کدویژن این دو عدد بجای این که در کنار هم قرار بگیره جمع میشه
    کسی هست دلیلشو بدونه و راحل ش چیه؟؟؟؟؟
  4. #4
    2015/02/13
    57
    1

    پاسخ : ماشین حساب

    سلام
    من چند روزی درگیر این پروژه ماشین حسابم نمیدونم چرا جواب نمیده
    اگه کسی نمونه پروژه ای در این ضمیمه داره بزاره
    مشکل اول قرار دادن کارکتر ها در کنار هم بدو که به نتیجه نرسید
    ولی اسکن key pad جور دیگه انجام داد مشکلش حل شد
    ولی از اینجا به بعدش نمیدونم چه کار کنم؟؟؟؟
    کد:
    #include <mega32.h>
    #include <alcd.h>
    #include <delay.h> 
    flash char layout[16]={ '7','8','9','/',
                '4','5','6','*',
                '1','2','3','+',
                'C','0','=','-',
                         };
    
    flash char shift[16]={0XFE,0XFD,0XFB,0xF7};
            //0x11111110,0x11111101,0x11111011,0x11110111
    int r=0,column=-1,position=0;
    void main(void)
    {                         
    PORTD=0Xf0;   //11110000
    DDRD=0X0f;    //00001111
    lcd_init(16);
    
    while (1)     
       { 
       //shift dadan portd
       for(r=0; r<4; r++ ){
       PORTD=shift[r];
       // khondane meghdare PIND.4,PIND.5,PIND.6,PIND.7 
       if(PIND.4==0){column=0;}// manzor az column hamon stone 
       if(PIND.5==0){column=1;}
       if(PIND.6==0){column=2;}
       if(PIND.7==0){column=3;}
       //frmole mohasebeh position keypad
       // p=r*4+c
       //6=1*4+2
       if(column != -1){position=r*4+column; 
       lcd_putchar(layout[position]);
       if(position==12)lcd_clear();
       column = -1;
       } 
       delay_ms(50);
       }
       
       }
    }
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. ماشین حساب
    توسط v_kh در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2015/05/01, 23:55
  2. ماشین حساب
    توسط ram90 در انجمن مباحث علمی عمومی
    پاسخ: 0
    آخرين نوشته: 2013/04/21, 23:37
  3. ماشین حساب با avr
    توسط mn6500 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2010/03/31, 23:39
  4. ماشین حساب
    توسط مرتضي.ب.ب در انجمن 8051
    پاسخ: 8
    آخرين نوشته: 2009/04/21, 23:03

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •