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





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









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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13
  1. #1
    2008/10/29
    2,098
    219

    راه اندازی LCD16*2 در محیط Mplab

    سلام
    من قبلا ال سی دی 16*2 رو راه اندازی کردم بدین صورت که 8 پایه داده ال سی رو به به میکرو وصل می کردم و با لبه EN داده ها رو منتقل می کردم اما حالا می خواستم یکم راحتی برای خودم و بردم ایجاد کنم و اومدم از کتابخانه xcld استفاده کردم و مطابق توضیحات فایل .asm و .inc رو به پروژه افزودم و بدون اینکه کوچکتری خطی در برنامه نویسی ازش استفاده کنم(یعنی هیچ تابعیش رو صدا نزدم) پروژه رو که کامپایل می کنم خطا های زیر رو بهم داد


    Error[105] ..\XLCD.INC 37 : Cannot open file (Include File "XLCD.def" not found)
    Error[113] ..\XLCD.INC 71 : Symbol not previously defined (XLCDInit)
    Error[113] ..\XLCD.INC 72 : Symbol not previously defined (XLCDCommand)
    Error[113] ..\XLCD.INC 73 : Symbol not previously defined (XLCDPut)
    Error[113] ..\XLCD.INC 74 : Symbol not previously defined (XLCDDelay5ms)
    Error[113] ..\XLCD.INC 75 : Symbol not previously defined (XLCDDelay100us)
    Error[113] ..\XLCD.INC 76 : Symbol not previously defined (XLCDCommandInit4bit)
    Error[113] ..\XLCD.INC 77 : Symbol not previously defined (XLCDL1home)
    Error[113] ..\XLCD.INC 78 : Symbol not previously defined (XLCDL2home)
    Error[113] ..\XLCD.INC 79 : Symbol not previously defined (XLCDClear)
    Error[113] ..\XLCD.INC 80 : Symbol not previously defined (XLCDReturnHome)
    Error[113] ..\XLCD.INC 81 : Symbol not previously defined (XLCDSendMsg)
    Error[113] ..\XLCD.INC 84 : Symbol not previously defined (XLCDMODE)
    Error[113] ..\XLCD.INC 88 : Symbol not previously defined (XLCDRWPIN)
    Error[113] ..\XLCD.INC 89 : Symbol not previously defined (XLCDIsBusy)
    Error[113] ..\XLCD.INC 90 : Symbol not previously defined (XLCDReadData)
    Error[105] ..\XLCD.ASM 45 : Cannot open file (Include File "p16xxx.inc" not found)
    Error[105] ..\XLCD.ASM 46 : Cannot open file (Include File "p18xxx.inc" not found)

    خطاها رو که بخونیم انگاری 3 تا فایل کمه
    XLCD.def
    p16xxx.inc
    p18xxx.inc

    دوستانی که lcd رو تحت mplab و با این کتابخانه کار کردن می تونن کمک کنن
    شاید فایل های من ناقص هست اگر داریدشون لطفا در همین پست قرار بدین یا راهنمایی در جهت رفع این مشکل کنین

    ممنونم
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  2. #2
    2009/02/18
    تهران
    270
    1

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام

    من قبلا ال سی دی 16*2 رو راه اندازی کردم بدین صورت که 8 پایه داده ال سی رو به به میکرو وصل می کردم و با لبه EN داده ها رو منتقل می کردم اما حالا می خواستم یکم راحتی برای خودم و بردم ایجاد کنم و اومدم از کتابخانه xcld استفاده کردم و مطابق توضیحات فایل .asm و .inc رو به پروژه افزودم و بدون اینکه کوچکتری خطی در برنامه نویسی ازش استفاده کنم(یعنی هیچ تابعیش رو صدا نزدم) پروژه رو که کامپایل می کنم خطا های زیر رو بهم داد
    چرا فایلای .asm و .inc رو اضافه کردین ؟!
    شما فقط باید توابع مورد نیازتون رو از دایرکتوری زیر به پروژتون اضافه کنید


    C:\Program Files\Microchip\mplabc18\v3.40\src\pmc_common

    برای این کار از پی دی اف MPLAB_C18_Libraries_51297f استفاده کنید

    http://fadak-srt.persiangig.com/other/mplab-d/MPLAB_C18_Libraries_51297f.pdf

    من در آموزش شماره 2 این کار رو توضیح دادم

    http://www.eca.ir/forum2/index.php?topic=59815.0

    موفق باشید.




    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه
  3. #3
    2008/10/29
    2,098
    219

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام آقا رمضانی و ممنونم از راهنماییتون
    من این کارها رو مطابق کارهایی که در این فایل

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

    عضویت

    قرار دارد رو انجام دادم

    چند تا سوال داشتم
    1-من پین 11 تا 14 ال سی دی رو متصل کردم به پورت b پایه 0 تا 3 و پین RS رو به پورت b پین 4 و en هم وصل کردم به پورت b پین 5 و پایه RW ال سی دی هم متصل کردم به زمین حالا این تنظیمات رو کجای برنامه باید اعمال کنم؟
    2-من فایل های c و هدر رو ادد کردم و فایل دیگه ای رو به عنوان source فایلم انتخاب کردم و تنها هدر رو داخل برنامه include کردم اما بعد از کامپایل کردن عبارت زیر رو نشون داد

    ** No rule to make target `C:/Users/babyPC/Desktop/PIC/xlcd.h', needed by `build/default/production/_ext/1472/Untitled.o'. Stop.
    مشکل از کجاست؟

    ممنونم از راهنماییاتتون
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  4. #4
    2008/10/29
    2,098
    219

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام و شرمنده باز سوال دارم
    داخل فایل lcdx.h من عبارت زیر رو دیدم
    #include "p18cxxx.h"
    نیاز نیست تغییری بدم به اسم تراشه خودم؟
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  5. #5
    2009/02/18
    تهران
    270
    1

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    اگر ممکنه کدهای main رو قرار بدین

    1-من پین 11 تا 14 ال سی دی رو متصل کردم به پورت b پایه 0 تا 3 و پین RS رو به پورت b پین 4 و en هم وصل کردم به پورت b پین 5 و پایه RW ال سی دی هم متصل کردم به زمین حالا این تنظیمات رو کجای برنامه باید اعمال کنم؟
    این تغییرات باید در فایل هدر انجام بشه درون این فایل آرایش پینها وجود داره و اما دقت کنید راه درست برای این کار اینکه فایل xlcd.h رو از دایرکتوری :

    C:\Program Files\Microchip\mplabc18\v3.40\h
    در محل پروژه کپی کنید و بعد در برنامه برای فراخانی هدر xlcd.h به جای <> از " " برای فراخانی استفاده کنید , با این کار از تغییر کتابخانه اصلی در امان میمانید :smile:

    و حتما دقت کنید هر تابعی که از این به بعد به پروژه اضافه میکنید رو ادیت کرده و از " " برای فراخانی هدر xlcd.h استفاده کنید

    اطلاعات بیشتر رو درباره تغییر پورت میتوانید در لینک زیر ببینید :


    http://www.eca.ir/forum2/index.php?topic=59815.30

    داخل فایل lcdx.h من عبارت زیر رو دیدم
    #include "p18cxxx.h"
    نیاز نیست تغییری بدم به اسم تراشه خودم؟
    خیر این هدر مربوط به خانواده 18f میباشد و کل خانواده رو پوشش میده , درون این هدر دستورات پیش پردازنده وجود داره و به صورت خودکار فقط خطوط مربوط به تراشه مورد نظر شما کامپایل میشه


    2-من فایل های c و هدر رو ادد کردم و فایل دیگه ای رو به عنوان source فایلم انتخاب کردم و تنها هدر رو داخل برنامه include کردم اما بعد از کامپایل کردن عبارت زیر رو نشون داد
    بیشتر توضبح بدین , اگه ممکنه کدهارو قرار بدین
    سعی کنید از فایل های اصلی کتابخانه که در محل نصب کامپایلر هست استفاده کنید و اونارو در محل پروژتون کپی کنید
    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه
  6. #6
    2008/10/29
    2,098
    219

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام و ممنونم از زحماتتون
    آقا این فایل main من هست

    کد:
    #include <p18f452.h>
    #include <delays.h>
    #include "xlcd.h"
    
    #pragma config OSC=HS
    #pragma config WDT=OFF
    #pragma config BOR=OFF
    #pragma config LVP=OFF
    #pragma config PWRT=ON
    #define lcd PORTDbits.RD3
    #define but PORTDbits.RD2
    
    
    
    
    void main(void)
    {
      while(1)
      {
    
      }
      }
    همونطوری هم که می بینین دستوری ننوشتم اما موقع کامپایل خطای زیر رو بهم می ده
    ** No rule to make target `C:/Users/babyPC/Desktop/PIC/xlcd.h', needed by `build/default/production/_ext/1472/Untitled.o'. Stop.
    make[1]: *** [.build-conf] Error 2
    make: *** [.build-impl] Error 2

    این هم زیر شاخه project کارم


    خیلی ممنونم که راهنمایی و کمک می کنین
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  7. #7
    2008/10/29
    2,098
    219

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام
    آقا خطا رو حل کردم باید فایل lcdx.h رو در فولدرش می زاشتم که قبلا گذاشته بودم و فکر می کردم انجامش دادم(اما متاسفانه پاکش کرده بودم) حالا چند تا تست بگیرم.ممنون می شم در رابطه با این قسمت که حالا چه جوری برای روش 4 بیتی باید تنظیمات رو انجام بدم راهنماییم کنین
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  8. #8
    2008/10/29
    2,098
    219

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام

    آقا main من به صورت زیر هست بدون هیچ گونه خطایی
    کد:
    #include <p18f452.h>
    #include <delays.h>
    #include <stdio.h>
    #include "xlcd.h"
    
    
    #pragma config OSC=HS
    #pragma config WDT=OFF
    #pragma config BOR=OFF
    #pragma config LVP=OFF
    #pragma config PWRT=ON
    #define lcd PORTDbits.RD3
    #define but PORTDbits.RD2
    
    
    
    unsigned int cont = 0 ;
    char buf[20];
    
    void main(void)
    {
    
     Delay10KTCYx(250) ;
    
     OpenXLCD( FOUR_BIT & LINES_5X7 );
     while( BusyXLCD() );
     WriteCmdXLCD(DON & BLINK_OFF & CURSOR_OFF);
     while( BusyXLCD() );
     WriteCmdXLCD(0b00000001);//clear display
    
     while( BusyXLCD() );
     SetDDRamAddr( 2 );
    
     while( BusyXLCD() );
     putrsXLCD( "be name KHODA" );
    
     while( BusyXLCD() );
    
     cont = 0 ;
    
     while(1)
     {
    
    
      Delay10KTCYx(50) ;
    
      Delay10KTCYx(50) ;
    
      cont = cont + 1 ;
      sprintf(buf,"a+b = %4d srt", cont);
    
      while( BusyXLCD() );
      SetDDRamAddr( 40 );
      while( BusyXLCD() );
      putsXLCD( buf );
    
     }
    }
    و در فایل lcdx.h عبارت های زیر رو تغییر دادم
    #define RW_PIN LATBbits.LATB2 /* PORT for RW */
    #define TRIS_RW TRISBbits.TRISB2 /* TRIS for RW */
    #define RS_PIN LATBbits.LATB4 /* PORT for RS */
    #define TRIS_RS TRISBbits.TRISB4 /* TRIS for RS */
    #define E_PIN LATBbits.LATB5 /* PORT for D */
    #define TRIS_E TRISBbits.TRISB5 /* TRIS for E
    */

    اینجا دو تا سوال مطرح می شه
    برای ارسال 4 بیتی که من پایه 5 رو زمین کردم در عبارت بالا می تونم این دو خط رو حذف کنم یا اگر خیر باید چی کارش کنم؟

    #define RW_PIN LATBbits.LATB2 /* PORT for RW */
    #define TRIS_RW TRISBbits.TRISB2 /* TRIS for RW *

    کجای برنامه می تونم 4 بیت اختصاص داده شده به داده ها رو تعریف کنم ؟
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  9. #9
    2009/02/18
    تهران
    270
    1

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام

    کجای برنامه می تونم 4 بیت اختصاص داده شده به داده ها رو تعریف کنم ؟
    به خط 34 و 35 هدر xlcd.h دقت کنید


    /* DATA_PORT defines the port to which the LCD data lines are connected */
    #define DATA_PORT PORTB
    #define TRIS_DATA_PORT TRISB

    این دستورات به معنی این هستن که دیتا بر روی پرت B کانفیگ شده است

    و همچنین شما با استفاده از دستور OpenXLCD( FOUR_BIT & LINES_5X7 ); به کامپایلر میگویید که دیتای من 4 بیت پهنا دارد که اگر به جای FOUR_BIT از EIGHT_BIT استفاده کنید کامپایلر تمام هشت بیت پورت B را به دیتا اختصاص میدهد .

    یک نکته هم اینجا خیلی مهم است , اگر مد چهار بیت را انتخاب کنید کتاب خانه به صورت پیش فرض چهار بیت کم ارزش را برای دیتا انتخاب میکند و اگر بخاهید چهار بیت بالایی را برای این کار اختصاص دهید باید خط /* #define UPPER */ رو از حالت کامنت خارج کنید ( خط 31 )


    /* When in 4-bit interface define if the data is in the upper
    * or lower nibble. For lower nibble, comment the #define UPPER
    */
    /* #define UPPER */



    برای ارسال 4 بیتی که من پایه 5 رو زمین کردم در عبارت بالا می تونم این دو خط رو حذف کنم یا اگر خیر باید چی کارش کنم؟

    #define RW_PIN LATBbits.LATB2 /* PORT for RW */
    #define TRIS_RW TRISBbits.TRISB2 /* TRIS for RW *
    فکر میکنم پین RW برای خاندن و نوشتن استفاده میشه و هنگامی که میکرو رجیستر های LCD رو چک میکنه به این پین احتیاج داره و نباید اون رو غیر فعال کرد


    همچنین به خطوط :


    #define lcd PORTDbits.RD3
    #define but PORTDbits.RD2

    نیاز نیست !!
    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه
  10. #10
    2008/10/29
    2,098
    219

    پاسخ : راه اندازی LCD16*2 در محیط Mplab

    سلام و ممنونم که وقت می زارین برای توضیحات کاملتون
    آقا من منصرف شدم برای استفاده از این کتابخانه چون اگر بخوام روی یه پورت فقط داده و به ترتیبی نامنظم باشه انگار این کتابخانه باید ویرایش بشه تا بشه این عمل رو انجام داد ، الان دارم یه کتابخانه می نویسم که بشه تمامی پینها رو به دلخواه انتخاب کرد و گزینه تحمیلی به کاربر وارد نکرده باشم تا اینجا دستورات کانفیگ ال سی دی ، تاخیر و نوشتن رو نوشتم (برای 4 بیت) و ان شالله بقیه هم تا فردا بنویسم
    بازم ممنونم
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

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

  1. اندازه گیری زمان اجرای یک قسمت از برنامه در محیط MPLAB
    توسط tenti در انجمن میکروکنترلرهای PIC
    پاسخ: 6
    آخرين نوشته: 2016/01/03, 10:41
  2. مشکل با راه اندازی PWM در MPLAB
    توسط shahin2222 در انجمن میکروکنترلرهای PIC
    پاسخ: 6
    آخرين نوشته: 2015/07/13, 01:08
  3. نحوه راه اندازی حافظه های EEPROM & FLASH در MPLAB !!؟؟
    توسط arash.golsaz در انجمن میکروکنترلرهای PIC
    پاسخ: 1
    آخرين نوشته: 2014/09/08, 21:52
  4. راه اندازی پورت سریال در MPLAB
    توسط baby_1 در انجمن میکروکنترلرهای PIC
    پاسخ: 16
    آخرين نوشته: 2012/08/08, 13:03
  5. راه اندازی moc3021 در محیط proteus
    توسط r_sh2012 در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2012/06/01, 19:19

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

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

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

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

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