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





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









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





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

صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 26
  1. #1
    2006/03/05
    تهران - ري
    164
    1

    مشکل در ارتباط lpc1768 با lcd2*16

    سلام خدمت دوستان.

    یه برنامه نوشتم برای هدر برد 1768 برای ارتباط با lcd16*2 . هرکاری می کنم چیزی روی lcd نشون نمیده الا یه ردیف
    مربع.
    البته همین برنامه رو برای LPC2138 نوشتم و روی پروتئوس بستم جواب داد ولی نمی دونم چرا برای 1768 جواب نمیده.

    ( اینم بگم که از هردبرد استفاده می کنم و شروع برنامه رو از طبق دستورالعمل از 0x2000 و در برگه ASM عبارت NO_CRP رو وارد کردم. قبلا هم چند تا برنامه ساده نوشتم و جواب گرفتم.)
    توکامپایل هم ارور نداره.

    به نظرتون مشکل در سیم بندی یا چیز دیگه ایه؟؟ :redface:
    اینم برنامه من:

    لینک دانلود فایل برای تست:

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

    عضویت



    عکس برنامه :

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

    عضویت



    عکس از مدارم:

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

    عضویت


    ask One Question
  2. #2
    2006/03/05
    تهران - ري
    164
    1

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    آقا پس کسی نمی دونه؟؟ oo:

    بابا انتظارا بیشتر از این حرفاست .!!

    اشکال نداره.

    حداقل اگه کسی یه برنامه ساده برای LCD16*2 و نحوه ارتباط با پین ها داره رو برام بگذاره. ممنون می شم. :rolleyes:


    ask One Question
  3. #3
    2012/05/30
    کرمان
    793
    19

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    سلام.
    من هدر lcd شما رو ندیدم ولی دیگه lcd کاراکتری چیزی نیست که نشه راه اندازیش کرد.
    شما از کنتراست lcd و سیم کشی و همچنین سلامت lcd اطمینان پیدا کن.
    اگه باز هم کار نکرد این هدر رو هم امتحان کن.
    تو این هدر فقط خروجی کردن پایه ها رو باید خودت انجام بدی.
    تغییر پایه ها هم که ابتدای هدر مشخصه.
    کد:
    #ifndef _LCD_INCLUDED_ 
    #define _LCD_INCLUDED_
    
    #define lcd_rs(x) ((x)?(LPC_GPIO0->FIOSET= 1<<0):(LPC_GPIO0->FIOCLR= 1<<0));
    #define lcd_en(x) ((x)?(LPC_GPIO0->FIOSET= 1<<1):(LPC_GPIO0->FIOCLR= 1<<1));
    #define lcd_d4(x) ((x)?(LPC_GPIO0->FIOSET= 1<<2):(LPC_GPIO0->FIOCLR= 1<<2));
    #define lcd_d5(x) ((x)?(LPC_GPIO0->FIOSET= 1<<3):(LPC_GPIO0->FIOCLR= 1<<3));
    #define lcd_d6(x) ((x)?(LPC_GPIO0->FIOSET= 1<<4):(LPC_GPIO0->FIOCLR= 1<<4));
    #define lcd_d7(x) ((x)?(LPC_GPIO0->FIOSET= 1<<5):(LPC_GPIO0->FIOCLR= 1<<5));
    
    #define lcd_cursor_on   0x0e
    #define lcd_cursor_off  0x0c
    #define lcd_cursor_blink 0x0f
    #define lcd_clear     0x01
    #define lcd_home     0x02
    #define lcd_display_off  0x0c
    #define lcd_display_on  0x08
    #define lcd_shift_left  0x18
    #define lcd_shift_right  0x1e
    #define lcd_4bit_mode   0x28
    
    
    const unsigned char UserFont[8][8] = {
     {	 4,4,4,10,10,4,4,4 },
     {32 , 20 , 20 , 20 , 20 , 31 , 32 , 32},
     {32 , 32 , 32 , 21 , 21 , 31 , 32 , 32 },
     {32,21,31,16,16,16,16,32},
     {3,4,15,8,8,8,8,32},
     {32,32,4,10,17,21,10,32},
     {32,4,9,10,6,4,8,8},
     {32,17,17,10,10,4,4,32}
    };
    void delay_us (int d){
    	d*=12;
    	while(d--);
    }
    
    void lcd_init (void){
    char i;
    lcd_cmd(lcd_home);
    lcd_cmd(lcd_4bit_mode);
    lcd_cmd(lcd_display_off);
    lcd_cmd(lcd_display_on);
    lcd_cmd(lcd_cursor_off);
    for(i=0;i<8;i++) lcd_define_char(UserFont[i],i);
    }				
    //************************************************************
    void lcd_cmd(unsigned char c){
    lcd_rs(0); 
    lcd_write(c);
    if(c<3) delay_us(1500);}
    //************************************************************
    void lcd_puts(unsigned char *m){
    unsigned char i;
    i=0;
    while(m[i]!=0){
    lcd_putc(m[i]);
    i++;}}
    //************************************************************
    void lcd_put(int w){
    unsigned char t[17],b;
    int a,c;
    a=w;b=0;
    while(a>9){a=a/10;b++;}
    c=1;
    for(a=0;a<b;a++){c=c*10;}
    for(a=0;a<18;a++){t[a]='\0';}
    a=0;
    while(c!=0){
    t[a]=(w/c)+0x30;
    w=w%c;
    c=c/10;
    a++;}
    lcd_puts(t);}
    //************************************************************
    void lcd_write(unsigned char c){
    lcd_port(c>>4);
    lcd_en(1);
    delay_us(35);
    lcd_en(0);
    lcd_port(c);
    lcd_en(1);
    delay_us(35);
    lcd_en(0);}
    //*************************************************************
    void lcd_gotoxy(unsigned char x,unsigned char y){
    (x-1)?(lcd_cmd(0xc0+y-1)):(lcd_cmd(0x80+y-1));}
    //*************************************************************
    void lcd_port(unsigned char p){
    lcd_d4(p&1);
    lcd_d5((p>>1)&1);
    lcd_d6((p>>2)&1);
    lcd_d7((p>>3)&1);}
    //******************************************************
    void lcd_define_char(const char *pc,char char_code){
      char a,i;
      a=((char_code<<3)|0x40) & 0xff;
      for(i = 0; i < 8 ;i++){
       lcd_cmd(a++);
       lcd_putc(pc[i]);
      }}
    //********************** END LCD.H ****************************
    void lcd_putc(unsigned char a){
    	lcd_rs(1);
    	lcd_write(a);}
    #endif
    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا
  4. #4
    2006/03/05
    تهران - ري
    164
    1

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    نقل قول نوشته اصلی توسط mehdi_nxp
    سلام.
    من هدر lcd شما رو ندیدم ولی دیگه lcd کاراکتری چیزی نیست که نشه راه اندازیش کرد.
    :redface: :redface:
    آقا مارو شرمنده کردید. ببخشید سوالم مبتدیانه ( :nerd بود. باز هم ممنون.
    درصورت رفع مشکل خبر میدم.
    ask One Question
  5. #5
    2006/03/05
    تهران - ري
    164
    1

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    سلام مجدد.
    ببخشید که قبلا نگفتم از هدر استفاده نمی کردم. ضمنا از ارتباط 8 سیمه استفاده شده.
    LCD هم تازه خریدم.
    یه پروژه جدید باز کردم و اسم این هدر رو mylcd.h گذاشتم و به پروژه ام اضافه کردم.
    این هدر رو اضافه کردم ولی موقع کامپایل کلی ارور داد!!! نمی دونم چرا؟ :cry2: :cry2:


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

    عضویت



    کد:
    Build target 'Target 1'
    compiling lcd16-2 new.c...
    mylcd.h(40): warning: #223-D: function "lcd_cmd" declared implicitly
    mylcd.h(45): warning: #223-D: function "lcd_define_char" declared implicitly
    mylcd.h(48): error: #159: declaration is incompatible with previous "lcd_cmd" (declared at line 40)
    mylcd.h(50): warning: #223-D: function "lcd_write" declared implicitly
    mylcd.h(57): warning: #223-D: function "lcd_putc" declared implicitly
    mylcd.h(76): error: #159: declaration is incompatible with previous "lcd_write" (declared at line 50)
    mylcd.h(77): warning: #223-D: function "lcd_port" declared implicitly
    mylcd.h(89): error: #159: declaration is incompatible with previous "lcd_port" (declared at line 77)
    mylcd.h(95): error: #159: declaration is incompatible with previous "lcd_define_char" (declared at line 45)
    mylcd.h(100): warning: #223-D: function "lcd_putc" declared implicitly
    mylcd.h(103): error: #159: declaration is incompatible with previous "lcd_putc" (declared at line 57)
    Target not created
    ترسیدم یدفعه..! :eek:
    آقا ببخشید :redface: .... یه مثال خیلی ساده با استفاده از همین هدر می تونید بزنید برای بنده مبتدی :nerd:.
    یه مثال از نحوه استفاده از بعضی از توابعشون.
    مثلا یه تکست رو روی ال سی دی نشون بده.ممنون

    ask One Question
  6. #6
    2012/05/30
    کرمان
    793
    19

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    مثلا این جوری:
    کد:
    lcd_init();
    .
    .
    .
    lcd_cmd(lcd_clear);
    lcd_gotoxy(1,1);
    lcd_puts("HEllo");
    اینا رو هم توی هدر بعد از دیفاین ها بذار:
    کد:
    void lcd_init (void);
    void lcd_cmd(unsigned char c);
    void lcd_puts(unsigned char *m);
    void lcd_put(int w);
    void lcd_write(unsigned char c);
    void lcd_gotoxy(unsigned char x,unsigned char y);
    void lcd_port(unsigned char p);
    void lcd_define_char(const char *pc,char char_code);
    void lcd_putc(unsigned char a);
    نمیدونم چرا تو هدر نیستن.
    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا
  7. #7
    2012/07/02
    8
    0

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    سلام . من هم دقيقا همين مشکل رو با ال سي دي کاراکتري تو LPC1768 دارم ولي روم نمي شد بگم
    با AT91SAM7X قبلا راه انداختم ولي با LPC1768 چندين بار امتحان کردم هم بصورت 8 بيتي هم بصورت 4 بيتي ولي فقط يک رديف مربع نشون ميده !!!!
    اگه کسي بلده لطفا يه سورس کامل بزاره ، ممنون ميشم .
  8. #8
    2006/03/05
    تهران - ري
    164
    1

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    سلام استاد Mehdi_nxp :read:

    ارتباط بین پایه های LCD و میکرو باید اینجوری باشه:

    rs = p0.0
    en = p0.1
    db4 = p0.2
    db5 = p0.3
    db6 = p0.4
    db7 = p0.5

    درست فهمیدم؟؟؟؟

    باید تو برنامه تعیین کنم یا اینکه تو هدر تعیین شده؟ چون تو هدر دیدم که این اتصالات رو ابتدای هدر زده بود ولی یه جاهایی علامت سوال و x بود .

    اول بگم که این توابع که گفتید بعد از define ها بذارم ، گذاشتم و ارور ها برطرف شد. :agree:

    من تو مدارم مثل بالا اتصالات رو برقرار کردم. و برنامه رو ریختم رو میکرو ولی باز هم هیچی غیر از یکردیف مربع نشون نمیده. اینهم کد ساده ای که ریختم رو میکرو.
    کد:
    #include <LPC17xx.H>
    #include "mylcd.h"
    
    
    int main(){
    	
    lcd_init();
    
    lcd_cmd(lcd_clear);
    lcd_gotoxy(1,1);
    lcd_puts("h");
    
    
    while(1);
    	
    	
    	
    	
    	
    	
    }
    ( شاید شما در جوابم بگید پ نه پ ! :icon_razz: ولی من قبلا با AVR و PIC کار کردم و LCD چیز خیلی ساده ای بود اینجا گیر افتادم. از کمک های شما هم ممنونم. امیدوارم خسته تون نکرده باشم با این سولای زاقارتم )
    ask One Question
  9. #9
    2012/05/30
    کرمان
    793
    19

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    سلام.
    بله پایه ها درسته.
    فقط ، قبلا هم گفتم که پایه های استفاده شده رو باید خروجی کنید.
    و شما این کار رو نکردید.
    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا
  10. #10
    2006/03/05
    تهران - ري
    164
    1

    پاسخ : مشکل در ارتباط lpc1768 با lcd2*16

    نقل قول نوشته اصلی توسط mehdi_nxp
    فقط ، قبلا هم گفتم که پایه های استفاده شده رو باید خروجی کنید.
    و شما این کار رو نکردید.
    سلام مجدد.
    اینکار رو هم کردم. برنامه رو ریختم و مدارو دوباره تست کردم.
    کد:
    int main(){
    
    LPC_GPIO0->FIODIR= 1<<0;
    LPC_GPIO0->FIODIR= 1<<1;
    LPC_GPIO0->FIODIR= 1<<2;
    LPC_GPIO0->FIODIR= 1<<3;
    LPC_GPIO0->FIODIR= 1<<4;
    LPC_GPIO0->FIODIR= 1<<5;
    	
    	
    lcd_init();
    
    lcd_cmd(lcd_clear);
    lcd_gotoxy(1,1);
    lcd_putc('k');
    	
    lcd_gotoxy(2,7);
    	
    lcd_putc('H');
    
    while(1);
    	
    	
    	
    	
    	
    	
    }
    باز هم همونه. سیم بندی ها رو هم چند بار عوض کردم و چک کردم. کنتراست LCD رو هم کم وزیاد کردم ولی نشد.
    باز هم همون ردیف مربعی رو نشون میده. :angry:

    نمیدونم کجای کارم ایراد داره که این عملکرد مدار ساده رو نمیتونم ببینم. :cry2:

    توی سایت

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

    عضویت

    خوندم که چون ARM با 3.3 ولت کار میکنه و LCD با 5 ولت باید از یک اینترفیس استفاده کنه که سطح ولتاژ ها رو درست کنه. یک مدار هم درهمون لینک پیشنهاد داده. این حرفش درسته؟؟؟ oo:
    5V LCD wont operate on 3.3V and also since lpc214x runs on 3.3V and 5Volts might fuse some of its GPIO pin we are gonna need a level shifter or translator that can shift 3.3Volts to 5Volts for LCD Module to be safe. Vikram Sharma M. has successfully interfaced JHD162A with MSP430 MCU using CD4050B IC as explained in his post @ http://msharmavikram.wordpress.com/2012/08/14/3-mistakes-of-lcd-with-msp430-solved/ .

    Some of the buffers / level shifters than can be used are : SN74AHC244N , SN74AC241N , CD74AC244E , CD4050B , etc.. out of which CD4050B is readily available. I purchased a few HCF4050 which is same as CD4050B except it is manufactured by ST Microelectronics and not Texas Instruments.

    HCF4050B is a non-inverting Hex Buffer. In our case we’ll be needing 2 of them at minimum since we are going to use 8+2=10 pins from MCU which need to be shifted to 5Volts. There are going to be 8 Data pins and 2 control pins connected from MCU to the LCD Module using 2x HCF4050B.
    امیدوارم ازاینکه وقتتون رو میگیرم ببخشید منو. :redface:
    ask One Question
صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 26

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

  1. مشکل با اتصال lcd2.8 به پورت atmega64 E
    توسط sepehr63 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 4
    آخرين نوشته: 2015/12/10, 11:00
  2. ارتباط USB ميکرو LPC1768 با PC
    توسط vivana در انجمن NXP
    پاسخ: 30
    آخرين نوشته: 2014/12/06, 19:35
  3. ارتباط با SPI در LPC1768
    توسط mortezai در انجمن NXP
    پاسخ: 4
    آخرين نوشته: 2014/07/19, 21:11
  4. مشکل در عدم ارتباط با LPC1768 با jtag
    توسط hamze-20 در انجمن NXP
    پاسخ: 3
    آخرين نوشته: 2014/05/10, 00:19
  5. مشکل در ارتباط MMC با LPC1768
    توسط sarm در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2014/05/04, 08:47

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

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

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

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

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