NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3089 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 1 از 1

موضوع: مشکل در برنامه اتصال صفحه کلید به lcd به زبان سی++

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2015
    نوشته ها
    30
    تشکر
    18
    تشکر شده 2 بار در 2 پست

    Icon16 مشکل در برنامه اتصال صفحه کلید به lcd به زبان سی++

    سلام دوستان من این کد رو از یه سایت برداشتم و یه تغییراتی توش دادم ولی بازم اعداد رو درست نشون نمیده و اینکه از هر عدد چند بار چاپ میکنه
    #include <mega16.h>
    #include <delay.h>
    #include <lcd.h>
    #asm
    .equ __lcd_port=0x15 ;PORTC
    #endasm


    int Feshode_SHodane_Kelid(void)
    {
    PORTA.0=0; PORTA.1=1; PORTA.2=1; PORTA.3=1;
    delay_ms(50);
    if(!PINA.4) {return 1;}
    if(!PINA.5) {return 2;}
    if(!PINA.6) {return 3;}
    if(!PINA.7) {return 10;}

    PORTA.0=1; PORTA.1=0; PORTA.2=1; PORTA.3=1;
    delay_ms(50);
    if(!PINA.4) {return 4;}
    if(!PINA.5) {return 5;}
    if(!PINA.6) {return 6;}
    if(!PINA.7) {return 11;}

    PORTA.0=1; PORTA.1=1; PORTA.2=0; PORTA.3=1;
    delay_ms(50);
    if(!PINA.4) {return 7;}
    if(!PINA.5) {return 8;}
    if(!PINA.6) {return 9;}
    if(!PINA.7) {return 12;}

    PORTA.0=1; PORTA.1=1; PORTA.2=1; PORTA.3=0;
    delay_ms(50);
    if(!PINA.4) {return 15;}
    if(!PINA.5) {return 0;}
    if(!PINA.6) {return 14;}
    if(!PINA.7) {return 13;}

    return 16;
    }


    void Namayesh_Kelid_Feshorde_SHode(int key)
    {
    if(key==0) lcd_puts("0");
    if(key==1) lcd_puts("1");
    if(key==2) lcd_puts("2");
    if(key==3) lcd_puts("3");
    if(key==4) lcd_puts("4");
    if(key==5) lcd_puts("5");
    if(key==6) lcd_puts("6");
    if(key==7) lcd_puts("7");
    if(key==8) lcd_puts("8");
    if(key==9) lcd_puts("9");
    if(key==10) lcd_puts("/");
    if(key==11) lcd_puts("*");
    if(key==12) lcd_puts("+");
    if(key==13) lcd_puts("-");
    if(key==14) lcd_puts("=");
    if(key==15) lcd_clear();
    }


    void main(void)
    {
    int key;

    DDRA=0X0F; PORTA=0XF0;

    lcd_init(16);

    while (1)
    {
    do
    key = Feshode_SHodane_Kelid();
    while(key==16);

    Namayesh_Kelid_Feshorde_SHode(key);

    delay_ms(350);
    };
    }
    کسی میتونه بگه اشکال کجاست ؟؟؟

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

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

  1. در رابطه با اتصال ال سی دی به میکرو
    توسط Z.F.K در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 23-11-2013, 19:00
  2. اتصال ال-سی-دی Touch به میکرو
    توسط ژاله در انجمن را اندازی امکانات جانبی عمومی
    پاسخ: 1
    آخرين نوشته: 21-09-2013, 03:09
  3. اتصال همزمان دوربین و ال سی دی
    توسط dmco در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 2
    آخرين نوشته: 20-01-2013, 10:52

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

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