نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ

آموزش جامع راه اندازی با lcd کاراکتری با lpc1768

به نام خدا : تو این مطلب جامع ترین کتابخونه lcd کاراکتری برا میکروکنترلر آرم سری lpc1768 رو نوشتم ( البته کتابخونه آردوینو رو ویرایش کردم و با lpc1768 سازگار کردم – اینو بگم صحیح تر هستش )، لذا تو این مطلب دیگه از اموزش توابع کتابخونه lcd کاراکتری خبری نیست و باید مطلب مقابل رو بخونید : آموزش جامع کار با lcd کاراکتری در ARDUINO؛ حالا تو این حین به احتمال زیاد تو بستن نمایشگر کاراکتری به مشکل میخورید، برا حل این مطلب مطلب مقابل رو بخونید : آموزش جامع کار با LCD کاراکتری

آموزش جامع راه اندازی با lcd کاراکتری با lpc1768

پروژه lcd کاراکتری با lpc1768

عکس پروژه در عمل : 
پروژه lcd کاراکتری با lpc1768

شماتیک پروژه :
ترتیب پایه های LCD کاراکتری به صورت زیر هستش و نحوه اتصال LCD به LPC1768 رو هم در زیر به صورت متن مینویسم  :
ترتیب پایه های LCD کاراکتری
۱ : GND
۲ : ۵ ولت
۳ : پایه وسط پتاسیومتر ۱۰ کیلو ( یه پایه پتاسیومتر رو به ۵ولت و یکی دیگه رو به GND و وسطی رو هم به پایه ۳ نمایشگر وصل کنید.)
۴ : P0.0
۵ : P0.1
۶ : P0.2
۱۱ : P0.3
۱۲ : P0.4
۱۳ : P0.5
۱۴ : P0.6
۱۵ : ۵ ولت
۱۶ : GND

کد پروژه : برای دیدن توضیحات این پروژه و توابعش به اون لینکی که در اول مطلب گزاشتم برید.

فیلم پروژه : فیلم زیر رو هم ببینید تا عملکرد تمام توابع این کتابخونه lcd کاراکتری رو مشاهده کنید.

13.5MB آموزش راه اندازی lcd کاراکتری با lpc1768
0%
00:00  /  01:08

 

کتابخانه lcd کاراکتری lpc1768

لیست توابع این کتابخونه به صورت زیر هستش :

این کتابخانه lcd کاراکتری برای کامپایلر Keil، و مختص میکروکنترلر lpc1768 هستش.

همون طور که گفتم این کتابخونه در اصل برا آردوینو بوده که تبدیلش کردم برا lpc1768، چرا؟ چون ۵-۶ تا پروژه تو سایت های خارجی و 1-2 تا تو سایت های فارسی زبان بود و همشون ناقص بودن. dash لذا گفتم برم کتابخونه بنویسم و اولش لباس مشکلی پوشیدم و بعدش دیدیم تا آردوینو رو داریم غم نداریم، رفتم کتابخونه lcd کاراکتری آردوینو رو برداشتم و تبدیلش کردم. boast

فعلا یا علی تا مطلب بعد ( اگه زنده بودیم ^_^ )




بروزرسانی در تاریخ جمعه – 22 بهمن 1395

  • مشکلاتی در فایل gpio بود که پروژه و کتابخونه برا پورت 2 و … و پایه های 15 به بالا درست کار نمیکرد که این مشکل در پروزه و کتابخونه زیر بر طرف شده.

تعداد مطالب : 358 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : ???
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) پسورد فایل های سایت : www.dmf313.ir

3) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. مهمان

    سید محمود حسینی

    سلام good
    خداخیرت بده smile
    ان شا الله با روح الله و اجدادش محشورت کنه wink cry
    چرا میگه تکراریه قبلا فقط گفته بودم خدا خیرت بده و افتخار میکنم یکی مثل شما این سایت رو اداره میکنه

  2. مهمان

    سید محمود حسینی

    سلام good
    خداخیرت بده smile
    ان شا الله با روح الله و اجدادش محشورت کنه wink cry

  3. مهمان

    سعید

    با سلام
    من فرکانس کاری میکرو رو عوض میکنم و این کتابخونه کار نمی کنه . میخواستم بپرسم چجوری میتونم با فرکانس جدید این کتابخونه رو راه اندازی کنم؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      تاخیر زمانی های توی پروژه رو بررسی کنید – فک کنم مشکل از اینجا باشه.

      • مهمان

        سعید

        دقیقا مشکل از تاخیراس
        این جوریه که اگر فرکانس تایمر صفر بیشتر از ۱۸ مگا هرتز شد تابع ال سی دی کار نمی کنه تا قبل از اون مشکلی نداره.
        چند روزه دارم بهش فکر میکنم ولی واقعا نمی دونم چرا ?

        • نویسنده این مطلب

          مهدی دمرچیلو

          الان کتابخونه رو نگاه کردم – کتابخونه delay رو بر حسب تایمر نوشتم انگار و توش محسابتو بر حسب فرکانس 100 میگ فک کنم انجام دادم – این فایلو باید ویرایش کنی.

      • مهمان

        مشکل

        با سلام
        منم همچین مشکلی رو دارم . میشه خواهشا بیشتر راهنمایی بفرمایید
        ممنون

        • نویسنده این مطلب

          مهدی دمرچیلو

          سلام
          توضیح دادم در بالا.
          الان من تایمرو بر اساس فرکناس میکروی 100 میگ کد زدم – مثلا فرکانس شما اگه 20 میگ باشه یعن 1/5 فرکانس ماکس
          لذا تاخیر زمانی 1 ثانیه توی تایمر ( که محاسباتش بر حسب فرکانس 100 میگ انجام شده ) همون 1 ثانیه هستش ولی اگه فرکانس میکرو بشه 20 میگ و کد مربوط به تایمر تغییر نکنه، اون تاخیر دیگه 1 ثانیه طول نمیکشه بلکه 5 ثانیه طوول میکشه و خب این مشکل سازه
          همون طور که پیشتر گفتم باید فایل کتابخونه delay که فایلش توی پروژه هستش – اون فایل delay.c رو ویرایش کنید – که خب مقدمش بلد بودن بحث تایمرها هستش.البته کار خاصی هم نداره هااا – برید تو فایل فوق و اون عدد 100,000,000 رو بکنید مثلا 20,000,000 به همین راحتی.
          تنها مشکلی که به نظرم میرسه همین هستش
          در ضمن این بحث پایه هایی که برای lcd استفاده میکنید هم مهمه – مخصوصا اگه از برد آموزشی یا هدربرد استفاده کنید که در اون صورت از بعضی پایه ها نمیتونید استفاده کنید که برای بررسی این موضوع باید به شماتیک هدربرد/برد آموزشی تون مراجعه کنید.

      • مهمان

        سعید

        ببخشید مجددا مزاحم میشم
        مشکل از تاخیرها هم نیست. تاخیر ها رو متاسب با فرکانس تایمر صفر تغییر دادم ولی lcd هنوز کار نمیکنه!
        چیز دیگه ای به ذهنتون میرسه شما؟
        ممنون

        • نویسنده این مطلب

          مهدی دمرچیلو

          بحث پایه های بردتون و این که ممکنه از بعضی پایه ها نتونید استفاده کنید رو بررسی کردید؟
          به شماتیک هدربردتون مراجعه کنید

        • مهمان

          سعید

          بردم ، برد آموزشی eca هست.
          فکر نکنم از این جهت مشکلی داشته باشم.
          به یه مشکل خیلی کوچک و حل نشدنی تبدیل شده wacko

  4. مهمان

    morteza

    سلام وقت بخیر
    من lcd رو که میبندم فقط در خط دوم lcd مربع هایی روشن میشه …در ضمن چون برد آموزشی من 5 ولتش کمه تعذیه lcd را از بیرون میدم ولی خوب زمین تغذیه بیرونی و برد اموزشی رو یکی کردم.

  5. مهمان

    porya

    مشکل با cmsis
    با سلام و خداقوت
    من فایل کتابخونه رو جدا تست کردم جواب میده، ولی وقتی کنابخونه gpio ه cmsis اضافه بشه و ازش استفاده بشه، دیگه error میده

  6. مهمان

    توحید

    سلام
    امکان نوشتن کاراکتر های فارسی هستش؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام-بله-۷ کاراکتر حداکثر فک کنم میشه فقط

      • مهمان

        توحيد

        امکانش هست در این خصوص راهنمایی کنین که چطوری کاراکتر های فارسی رو وارد کتابخانه بکنم؟,تشکر

        • نویسنده این مطلب

          مهدی دمرچیلو

          مطلب رو بخونید!

  7. مهمان

    محمد

    سلام طاعات قبول
    آقا من هر دو پروژه رو تست کردم جواب نمیده LCD‌من فقط روشن می مونه هیچ کاراکتری دیده نمیشه. من تنها کاری که نکردم اینه که پتانسیومتر رو متصل نکردم. آیا این می تونه دلیلش باشه؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      تو اکثر نمایشگر ها نیاز به پتاسیومتر هستش.

    • مهمان

      محمد

      آقا پتانسیومتر رو هم وصل کردم اما متاسفانه جواب نمیده، فقط LCD روشن می مونه، هیچی نمایش نمیده!

  8. مهمان

    ارش

    با سلام من ال سی دی lcd 2*40دارم در قسمت زیر ۱۶ رو ۴۰ کردم و طبق شماتیک پایه ها رو وصل کردم ….هیچ نوشته ای رو lcdنمیاد…چیز دیگه ای هم باید تغییر کنه؟اصلا برای ۴۰*۲جوابه میده….
    begin(16, 2, LCD_5x8DOTS);
    |
    begin(40, 2, LCD_5x8DOTS);

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      رو نمایشگر ۲*۱۶ تست کن اول و بعد ۴*۴۰ تست کن و نتیجه رو اعلام کن – البته پایه ها در هر دو حالت یکسان باشه و تغییر نده.

    • مهمان

      ارش

      سلام البته فک کنم منظورت ۲*۴۰٫٫٫فردا تست کنم نتیجه رو میگم… good

      • نویسنده این مطلب

        مهدی دمرچیلو

        نه همون ۲*۱۶ منظورم بود – با این تست کن – رو همون پایه ها – ببین جواب میده یا نه –
        نمایشگر ۲*۱۶ و ۴*۴۰ هر دو رو، رو پایه های تغیین شده برابر تست کن.

    • مهمان

      ارش

      سلام ال سی دی ۲*۱۶هم جواب نمیده با کد زیر هم چک کردم نشد
      init3( P2_0/*rs*/, P2_1/*rw*/, P2_2/*enable*/, P1_24/*d4*/, P1_25/*d5*/, P1_26/*d6*/, P1_27/*d7*/ );
      begin(16, 2, LCD_5x8DOTS);
      تغذیه هاش رو هم از یه برد که روی آن lcdجواب میده وصل کردم تنها شک من به دیپ سوییچ ۵ حالته روی هدر برده…و شاید هم پروگرام شدن میکرو..حلت آون ها هم تاثیری داره؟

      • نویسنده این مطلب

        مهدی دمرچیلو

        سلام مجدد – پروژت رو زیپ کن و برام بفرست تا خودم تست کن – حتما بفرست

    • مهمان

      ارش

      به ایمیل mahdedamarchi@gmail.com ارسال شد… ok

      • نویسنده این مطلب

        مهدی دمرچیلو

        پروژتو تست کردم جواب داد – ولی طبق عکسی که برام فرستادی معلومه که پتاسیومتر نزاشتی رو بردت برا LCD
        یه سوال – تغذیه این هدربرد از کجا تامین میشه؟ اگه تغذیه نمایگشر از یه جای دیگه تامین میشه – GND ها رو مشترک کن ( به هم وصل کن ) – من نمایشگر رو به VCC و GND خود میکرو وصل کردم – و تغذیه مدار رو هم جداگونه تامین میکنم ( و نه پروگرامر )

    • مهمان

      آرش

      آقا مرسی…درست شد…خیلی عالی بود… victory درسته من VccوGndال سی دی و میکرو رو یکی نکرده بودم یعنی از جاهای مختلفی براشون تغذیه وصل کرده بودم..___نکته اخلاقی__لطفاً +۵vوGNDهدر برد رو به +۵VوGNDال سی دی متصل نمایید__.در مورد پتانسیو متر هم تاثیر داره ولی توی اون عکس استثنا نبود ولی کلا تو مدار گذاشته بودم …فقط یه نکته میمونه اینکه فکر کنم توی فایل بروز رسانی شده به جای p0_7مقدارP1_26نوشته شده …البته فکر کنم به خودی خود مشکلی نداره ولی برای بعضیا مثل من که حواس ندارند به این نکته ممکنه توجه نکنند…زیاد حرف زدم …مخلص …یا حق

  9. مهمان

    saeed

    سلام ممنون از شما برنامه عالی بود.
    میخواستم ال سی دی رو رو پورت ۲ ببندم. میشه بگید کجا باید تغییرات رو اعمال کنم؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام.
      خط ۸ پروژه رو باید تغییر بدی.

      init3( P0_0/*rs*/, P0_1/*rw*/, P0_2/*enable*/, P0_3/*d4*/, P0_4/*d5*/, P0_5/*d6*/, P0_6/*d7*/ );

      نام پایه های مد نظرت رو بنویس.

      • مهمان

        saeed

        همین کار رو کردم الان ولی بازم نشد.

        • نویسنده این مطلب

          مهدی دمرچیلو

          چیکار کردی؟ از کدوم پروزه استفاده کردی؟

          • مهمان

            saeed

            پروژه به روز رسانی رو استفاده کردم… و مثلا p0_0 رو کردم p2_0

          • نویسنده این مطلب

            مهدی دمرچیلو

            good

  10. مهمان

    علی

    سلام!
    من دارم این کتاب خونه رو به c++ تبدیل میکنم!
    فقط دو تا نکته:
    ۱- شما راضی هستید من اینو پیشرفته ترش بکنم بزارم تو نت؟
    ۲- توی فایل GPIO.C خیلی مشکل وجود داره!
    مثالا توی تابع digitalWrite همه برای پورت ۰ نوشته شدن!
    و اینکه با %۱۰ که پین به دست نمیاد! واین فقط برای ۹ پین اول صادقه تازه اونم برای این کار میکنه که هیچ تاثیری روشون نمیزاره وگرنه اوضاع خراب تر هم میشد!
    ولی در کل ممنون!
    چون من با آردوینو آشنایی نداشتم نمیتونستم بنویسم و این خیلی بهم کمک کرد! ممنون!
    یا علی مدد…!

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      غیر از این مشکلات
      چی میخوای اضافه کنی؟
      بگو شاید خودم اینکارو کردم.
      در ضمن فاصله gpio رو بازنویسی کردم و بروزرسانیش کردم و به زودی اگه حسش و یادش! بود مطلب رو بروزرسانی میکنم.

      • مهمان

        علی

        من کامل کار هایی که میخواستم انجام بدم رو روش اعمال کردم! ولی خواستم تست کنم دیدم مشکل داره و کار نمیکنه!
        رفتم سورس شما (یعنی دست نخورده اش رو) پروگرم کردم روی برد بازم کار نکرد! البته من با پورت ۲ کار میکنم! درضمن مشکلاتی که توی فایل GPIO بود رو برطرف کردم بازم کار نکرد!
        اگه شما میتونید برای پورت ۲ هم تست کنید ببیند مشکل از کجاست که کار نمیکنه؟

        • نویسنده این مطلب

          مهدی دمرچیلو

          فردا پسفردا بررسی میکنم و پروژه رو میبندم و اگه مشکلی بود مطلب رو تصحیح میکنم – البته اگه یادم نره shout

          • نویسنده این مطلب

            مهدی دمرچیلو

            سلام مجدد – مشکلات رو بر طرف کردم و پروژه و کتابخونه جدید رو پیوست کردم – امر دیگه ای بود بفرمایید تا اعمال کنم – چون این اتصالات نمایشگر رو قطع کنم دیگه حسش نیست دوباره ببندمشون – هیمن الان بررسی کن – مشکلی و امری بود بگو. ( الان رو همه پورت و پایه ها جواب میده پروژه )

          • مهمان

            علی

            سلام ممنون برای پاسختون!
            اگه میشه شما با مشخصات زیر ال سی دی تون رو ببندید، ببینید کار میکنه؟
            init3( P2_0/*rs*/, P2_1/*rw*/, P2_2/*enable*/, P2_4/*d4*/, P2_5/*d5*/, P2_6/*d6*/, P2_7/*d7*/ );
            توجه کنید پین ۳ رو نبستیم! یه وقت اشتباه نکنید!

          • نویسنده این مطلب

            مهدی دمرچیلو

            برو خودت ببند laugh – حسش نیست pardon – ببند اگه با کتابخونه جدید جواب نداد بهم بگو.

          • مهمان

            علی

            خوب من بستم کار نکرد! گفتم شاید هنوز مشکل از کتابخونه هست! (با کتابخونه جدیده بستم)

          • نویسنده این مطلب

            مهدی دمرچیلو

            بستم کار کرد no

          • مهمان

            علی

            خیلی ببخشید زحمتت میدم!
            چطور ممکنه؟
            خوب پس چرا ازمن کار نمیکنه؟! فقط اگه همون خط init3 رو تغییر بدیم کفایت میکنه یا به چیز دیگه ای هم نیاز داره؟!
            آخه من وقتی سورس خود ECA رو روش میریزم کار میکنه و مشکلی نداره ولی وقتی از شما رو میریزم کلا فقط سطر اول مربع سفید نشون میده! (از ولتاز و.. نمیتونه باشه وگرنه نباید سورس eca هم کار میکرد) شما چیزی به نظرتون میرسه؟
            بازم عذر میخوام هی مزاحم میشم نمیزارم به کارتون برسید sad شرمنده!

          • نویسنده این مطلب

            مهدی دمرچیلو

            بله همین خط تغییر بدی کافیه
            من همین کد شما رو به پروژه ام گزاشتم و اتصالات رو هم طبق کد شما اعمال کردم پروژه کار کرد
            شما احتمالا اتصالاتتون اشتباهه یا پتاسیومتر نزاشتین.
            باور نداری میتونم عکس و فیلم بدم بهت. smile

          • مهمان

            علی

            نه ممنون! باورت دارم! دروغ که نمیگی smile
            خوب پس من بیشتر بهش ور میرم شاید درست بشه!
            فقط یه چیزی میگم نکنه درایور راه اندازش فرق میکنه باهم؟

          • نویسنده این مطلب

            مهدی دمرچیلو

            یه عکس از پروژه جدیدت بده ببینم اتصالات رو چطور تنظیم کردی.

          • مهمان

            علی

            راستش خیلی اتصالاتم زشته smile
            این عکس زیر قیقا عین اتصالات منه (البته خودم طراحی کردم)
            http://alef-ba.ir/uploads/picture/Myrobot.png
            دیگه واقعا کم آوردم…!

          • نویسنده این مطلب

            مهدی دمرچیلو

            خب یه کاری کن – الان تو فقط پروژه ته مطلب رو اجرا و تست میکنی؟
            در عمل منظورم بود عکس بده از پروژت ببینم اتصالاتت چطوری هستش.
            راستی سایته خودته این الفبا؟

          • مهمان

            علی

            آره! سایت خودمه! همین الان یه مطلب گذاشتم! (خیلی طول میکشه) ۲ ساعت طول کشید مطلب گذاشتم! smile
            باشه من برم نماز برگشتم یه عکس میگیرم میزارم!

          • نویسنده این مطلب

            مهدی دمرچیلو

            من ۲-۳ هفته طول میکشه ۱ مطلب رو بزارم – ۱-۲ ساعت که چیزی نیست shout

          • مهمان

            علی

            سلام شرمنده دیر شد!
            راستش نمازم رو خوندم رفتم سراغ درسام smile
            اونجور که دوستمون گفتن که از اوشون هم کار نکرد کلا ناامید شدم و قیدش رو زدم… رفتم سراغ کتابخونه ی خوده eca و یه تغییراتی روی اون انجام دادم! ولی خوب از eca فقط برای LCD 16*2 با مد ۴ بیتی هست! یعنی ثابته و قابل تغییر نیست! دوست داشتم دستم توی انتخاب و تغییر اینها باز باشه که خوب …
            به هرحال ممنون
            فعلا
            یا علی مدد…!

  11. مهمان

    محمدرضا

    سلام
    ممنونم
    امیدوارم کار کنه بدون مشکل
    از یجا دیگه دانلود کردم هر کاری کردم درست کار نکرد یه بار در میون چرت و پرت نشون میداد یه ساعت با اتصالات ور رفتم کدو تغییر دادم اخر نشد که نشد
    موفق باشید

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام – اگه کار نکنه و چیزی نشون نده که مشکل از نزاشتن پتاسیومتره – اگه چرت و پرت نشون میداد که اون یه حرف دیگس good
      در عمل تست کردم مشکلی نداره – فیلم ته مطلب گویای حرف منه.

  12. مهمان

    مهدی آوینی

    سلام. خسته نباشید
    ببخشید من می خوام ی پروژه با آرم انجام بدم.
    چطور میشه با شما با تلگرامی یا هر طور دیگه صحبت کرد ؟

    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      پروژه انجام نمیدم.

  13. مهمان

    Far

    داداش ببین امکانش هست یه آموزش ابتدایی و ساده بزاری برای طرز تبدیل کتابخونه
    مچکریم

    • نویسنده این مطلب

      مهدی دمرچیلو

      آخه آموزش فک نکنم بخواد – کسی که میخواد تبدیل بزنه باید هر دو مورد رو بلد باشه – موافقی با حرفم یا مخالف؟ با ذکر دلیل بگو.

  14. مهمان

    یاسر

    خیلی هم عالی و متشکرم
    یاور امام زمان باشی انشاالله……….

  15. مهمان

    محمدحسن

    سلام خسته نباشید
    من خیلی دوس دارم یه سری از کتابخونه های آردوینو رو به زبان C تبدیل کنم و در پروژه های غیر از آردوینو استفاده کنم (به دلیل قوی بودن و دردسترس بودن زیاد آنها)
    اگه ممکنه یه آموزشی هم واسه تبدیل کتابخونه آردوینو به c درنظربگیرید
    خیلی ممنون از مطالب خوب و مفید سایتتون

    • نویسنده این مطلب

      مهدی دمرچیلو

      فک نکنم نیاز به اموزش داسته باشه
      شما برنامه نوسی سی و اردوینو و lpc رو بلد باشید میتونید تبدیل بزنید