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





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









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









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






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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 14
  1. #1
    2019/09/18
    7
    1

    Exclamation مشکل در تنظیم پورت اتصال lcd

    سلام.من برای راه اندازی lcd کارکتری از طریق کد ویزارد پورت c رو انتخاب کردم و پس از اجرا در پروتئوس هم درست کار کرد اما وقتی که برنامه رو روی میکرو پروگرام کردم،lcd روی پورت c کار نمیکرد و در واقع اطلاعاتش به همون پورت a ارسال میشد!!!مشکل از چی میتونه باشه!؟
    میکرو هم atmega16a هست.
  2. #2
    2017/06/13
    1,392
    865

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    نقل قول نوشته اصلی توسط Mahdi_e.n

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام.من برای راه اندازی lcd کارکتری از طریق کد ویزارد پورت c رو انتخاب کردم و پس از اجرا در پروتئوس هم درست کار کرد اما وقتی که برنامه رو روی میکرو پروگرام کردم،lcd روی پورت c کار نمیکرد و در واقع اطلاعاتش به همون پورت a ارسال میشد!!!مشکل از چی میتونه باشه!؟
    میکرو هم atmega16a هست.
    سلام
    اینکه اطلاعات از پورت C به A منتقل بشن چیز عجیبیه! حتما اشتباه متوجه شدید. اما توی میکروکنترلرهایی مثل ATmega16 و 32 رابط jtag روی پورت C قرار گرفته. به همین دلیل با روشن بودن این واحد، دیگه به بعضی پایه های پورت C دسترسی وجود نداره. راه حل غیرفعال کردن jtag اینه که فیوز بیت مربوط بهش رو هنگام پروگرام کردن 1 کنید تا غیر فعال بشه.
  3. #3
    2019/08/05
    9
    3

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    دوستمون درست میگن.احتمالا JTAG فعاله. و اینکه تو پروتیوس چون تنظیمات فیوز وجود نداره مشکلی پیش نمیاد و درسته.
  4. #4
    2019/09/18
    7
    1

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    با پورت های b و d هم امتحان کردم همینطور بود!
  5. #5
    2012/02/29
    45
    6

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    نقل قول نوشته اصلی توسط Mahdi_e.n

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام.من برای راه اندازی lcd کارکتری از طریق کد ویزارد پورت c رو انتخاب کردم و پس از اجرا در پروتئوس هم درست کار کرد اما وقتی که برنامه رو روی میکرو پروگرام کردم،lcd روی پورت c کار نمیکرد و در واقع اطلاعاتش به همون پورت a ارسال میشد!!!مشکل از چی میتونه باشه!؟
    میکرو هم atmega16a هست.
    سلام
    پروژتو تو کد ویژن باز کن برو رو تب project، بعد cofigure رو بزن تو پنجره جدید تب c complier رو بزن بعد libraries رو بزن برو تو تب alphanumetric lcd، اونجا ببین رو کدوم پورت تنظیم شده اگه رو c هست که باید jtagرو غیر فعال کنی اگه نه که رو هر پورت میتونی تنظیم کنی تا کار کنه
  6. #6
    2019/09/18
    7
    1

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    نقل قول نوشته اصلی توسط sirshp

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    پروژتو تو کد ویژن باز کن برو رو تب project، بعد cofigure رو بزن تو پنجره جدید تب c complier رو بزن بعد libraries رو بزن برو تو تب alphanumetric lcd، اونجا ببین رو کدوم پورت تنظیم شده اگه رو c هست که باید jtagرو غیر فعال کنی اگه نه که رو هر پورت میتونی تنظیم کنی تا کار کنه
    از همونجا lcd رو روی پورت B تنظیم کردم بازم مثل قبل بود
  7. #7
    2019/09/18
    7
    1

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    حل شد!پورت های میکرو رو اشتباه در نظر گرفته بودم
  8. #8
    2017/06/13
    1,392
    865

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    نقل قول نوشته اصلی توسط Mahdi_e.n

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    حل شد!پورت های میکرو رو اشتباه در نظر گرفته بودم
    حالا این بار گذشت و تجربه شد. از این به بعد سعی کنید قبل از تهمت زدن به میکروکنترلر و IDE، سخت افزار رو کامل چک کنید
  9. #9
    2019/09/18
    7
    1

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    حالا این بار گذشت و تجربه شد. از این به بعد سعی کنید قبل از تهمت زدن به میکروکنترلر و IDE، سخت افزار رو کامل چک کنید
    باشه.ممنون
    دوباره به مشکل مشابهی برخوردم که معلومه مشکل از سخت افزاره اما هرچی چک میکنم نمیفهمم!!!
    برای خوندن keypad توی عکس هروقت که وقفه دریافت کردم مقدار یک رو روی پایه های افقی keypad شیفت میدم و نتیجه رو نگاه میکنم ولی در عمل ستون اول درست کار نمی کنه و همه ی کلیدهای این ستونو ردیف اول درنظر میگیره!!!
    همیچنین طبق برنامه باید با هربار فشردن کلید یک بار خونده شه ولی با زدن هرکلید چند بار خونده میشه و اگه دستمو نگه دارم تا وقتی که نگه دارم میخونه!



    #include <mega16.h>
    #include <delay.h>
    // Alphanumeric LCD functions
    #include <alcd.h>
    #include <stdio.h>


    // Declare your global variables here
    flash char shift[4]={0xfe,0xfd,0xfb,0xf7};
    flash char layout[4][4]={'7','8','9','/',
    '4','5','6','*',
    '1','2','3','-',
    'c','0','=','+',};
    int i=0,j=0;
    char st[20];
    // External Interrupt 2 service routine
    interrupt [EXT_INT2] void ext_int2_isr(void)
    {
    // Place your code here

    int row,column=-1;
    for(row=0;row<4;row++)
    {
    PORTD=shift[row];
    if(PIND.4==0){column=0;}
    if(PIND.5==0){column=1;}
    if(PIND.6==0){column=2;}
    if(PIND.7==0){column=3;}
    if(column!=-1)
    {
    char data;
    data= layout[row][column];
    lcd_clear();
    sprintf(st,"column=%d\nrow=%d",column,row);
    lcd_puts(st);
    /*if(data!=0)
    {
    if(data=='c')
    lcd_clear();
    else
    lcd_putchar(data);
    } */

    break;
    }


    }
    PORTD=0xf0;
    }


    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port A initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);


    // Port B initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);


    // Port C initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);


    // Port D initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=Out Bit2=Out Bit1=Out Bit0=Out
    DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
    // State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=0 Bit2=0 Bit1=0 Bit0=0
    PORTD=(1<<PORTD7) | (1<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);


    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: On
    // INT2 Mode: Falling Edge
    GICR|=(0<<INT1) | (0<<INT0) | (1<<INT2);
    MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
    MCUCSR=(0<<ISC2);
    GIFR=(0<<INTF1) | (0<<INTF0) | (1<<INTF2);


    // Alphanumeric LCD initialization
    // Connections are specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTA Bit 0
    // RD - PORTA Bit 1
    // EN - PORTA Bit 2
    // D4 - PORTA Bit 4
    // D5 - PORTA Bit 5
    // D6 - PORTA Bit 6
    // D7 - PORTA Bit 7
    // Characters/line: 16
    lcd_init(16);


    // Global enable interrupts
    #asm("sei")
    lcd_puts("enter character:\n");
    while (1)
    }
    {
    ویرایش توسط Mahdi_e.n : 2019/09/20 در ساعت 20:51
  10. #10
    2017/06/13
    1,392
    865

    پاسخ : مشکل در تنظیم پورت اتصال lcd

    نقل قول نوشته اصلی توسط Mahdi_e.n

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    باشه.ممنون
    دوباره به مشکل مشابهی برخوردم که معلومه مشکل از سخت افزاره اما هرچی چک میکنم نمیفهمم!!!
    برای خوندن keypad توی عکس هروقت که وقفه دریافت کردم مقدار یک رو روی پایه های افقی keypad شیفت میدم و نتیجه رو نگاه میکنم ولی در عمل ستون اول درست کار نمی کنه و همه ی کلیدهای این ستونو ردیف اول درنظر میگیره!!!
    همیچنین طبق برنامه باید با هربار فشردن کلید یک بار خونده شه ولی با زدن هرکلید چند بار خونده میشه و اگه دستمو نگه دارم تا وقتی که نگه دارم میخونه!



    #include <mega16.h>
    #include <delay.h>
    // Alphanumeric LCD functions
    #include <alcd.h>
    #include <stdio.h>


    // Declare your global variables here
    flash char shift[4]={0xfe,0xfd,0xfb,0xf7};
    flash char layout[4][4]={'7','8','9','/',
    '4','5','6','*',
    '1','2','3','-',
    'c','0','=','+',};
    int i=0,j=0;
    char st[20];
    // External Interrupt 2 service routine
    interrupt [EXT_INT2] void ext_int2_isr(void)
    {
    // Place your code here

    int row,column=-1;
    for(row=0;row<4;row++)
    {
    PORTD=shift[row];
    if(PIND.4==0){column=0;}
    if(PIND.5==0){column=1;}
    if(PIND.6==0){column=2;}
    if(PIND.7==0){column=3;}
    if(column!=-1)
    {
    char data;
    data= layout[row][column];
    lcd_clear();
    sprintf(st,"column=%d\nrow=%d",column,row);
    lcd_puts(st);
    /*if(data!=0)
    {
    if(data=='c')
    lcd_clear();
    else
    lcd_putchar(data);
    } */

    break;
    }


    }
    PORTD=0xf0;
    }


    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port A initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);


    // Port B initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);


    // Port C initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);


    // Port D initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=Out Bit2=Out Bit1=Out Bit0=Out
    DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
    // State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=0 Bit2=0 Bit1=0 Bit0=0
    PORTD=(1<<PORTD7) | (1<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);


    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: On
    // INT2 Mode: Falling Edge
    GICR|=(0<<INT1) | (0<<INT0) | (1<<INT2);
    MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
    MCUCSR=(0<<ISC2);
    GIFR=(0<<INTF1) | (0<<INTF0) | (1<<INTF2);


    // Alphanumeric LCD initialization
    // Connections are specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTA Bit 0
    // RD - PORTA Bit 1
    // EN - PORTA Bit 2
    // D4 - PORTA Bit 4
    // D5 - PORTA Bit 5
    // D6 - PORTA Bit 6
    // D7 - PORTA Bit 7
    // Characters/line: 16
    lcd_init(16);


    // Global enable interrupts
    #asm("sei")
    lcd_puts("enter character:\n");
    while (1)
    [FONT=Yekan]}
    {

    [/FONT]
    [FONT=Yekan]}[/FONT]
    دوست عزیز اون گیت and هستش! شما باید جاش or بذارید که اگر هر کلیدی فشار داده شد وقفه تولید بشه. با and درست کار نمیکنه

    Sent from my LG-H870S using Tapatalk
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 14

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

  1. پاسخ: 2
    آخرين نوشته: 2018/02/28, 21:25
  2. مشکل با اتصال lcd2.8 به پورت atmega64 E
    توسط sepehr63 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 4
    آخرين نوشته: 2015/12/10, 12:00
  3. مشکل در طراحي چند صفحه اي با اتصال پورت
    توسط mehran901 در انجمن نرم افزار Protel
    پاسخ: 7
    آخرين نوشته: 2015/02/12, 14:54
  4. مشکل در اتصال lcd به پورت B میکروی Avr
    توسط roberty در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2011/12/09, 14:23
  5. مشکل در اتصال ال سی دی به پورت سی میکرو مگا 32
    توسط shahre ghashang در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2010/09/16, 12:13

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

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

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

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

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