نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
قدس خرمشهر دیگر می شود
مهدی دمیرچیلو

نوشتن متن فارسی در LCD های کاراکتری

نوشتن متن فارسی در LCD های کاراکتری : تو این پروژه avr با  LCD کاراکتری (البته بعدا انشاالله میریم سراغ اون گرافیکی هاش) میشه ۸ تا کاراکتر تعریف کرد.
(مثلا تو این پروژه ما ۴ تا کاراکتر فارسی و یه کاراکتر که به شکل قلب o_O هستش رو ایجاد کردیم)

به نام خدا

اگه در مورد LCD  و این که این اتصالات داستانش چیه و هر کدوم از پایه ها کارشون چیه و… چیزی نمیدونید میتونید مطلب زیر رو بخونید :
آموزش ساخت شمارنده عدد در LCD

کد های این پروژه + توضیحات

 

تو خود پروژه یه سری توضیحات دادم و باز نیاز به توضیح هستش pardon

1) ما چطور این کاراکتر ها رو ایجاد میکنیم(مثلا همین حرف » ش «)

کد هایی که در بالا میبینید ؛ به وسیله یه نرم افزار ایجاد میشن که ما تو اون نرم افزاره شکل کاراکترمون رو میکشیم و بعد اون نرم افزاره کد های این شکل ما رو بهمون میده
(البته این کد ها رو به سه زبون پاسکا-بیسیک و سی میده که ما چون با کدویژن و سی کار میکنیم »»»» کد های قسمت سی رو کپی میکنیم.)
مثلا تو عکس زیر من کلمه ___ش___ رو کشیدم.  @_@
این نرم افزار در آخر همین مطلب برا دانلود شا دوستان گزاشته شده است. ^_^

دانلود نرم افزار Custom LCD Character

2) این کاراکتر های ما کجا ذخیره میشن :
تو LCD های کاراکتری حافظه ای به نام CGRAM وجود داره که میتونی توش ۸ و فقط ۸ تا کاراکتر ذخیره کنیم.
(میدونم .زیاد ناراحت نشو!»» فعلا با همین ۸ تا کاراکتر سرگم بشید تا بعد) laugh1
توجه مهم : هر خانه این LCD ها در واقع از ماتریسهای ۷×۵ یا ۱۰×۵  ساخته شده.(البته برا ما ۷×۵ هستش.)

3) انواع حافظه میکرو :  
راسش رو بخواید الان حس توضیح دادنش رو ندارم!!! کسی اگه خواست بگه براش توضیح بدم. blush

دانلود پروژه این مطلب

 

عملی بستن این پروژه : اینم فیلمی از همین پروژه ساده که به صورت عملی بستمش، فقط این که lcd رو به portc وصل نکنید و به پورت دیگه ای وصل کنید و در کد های پروژه هم در قسمت

کد پورتی که lcd بهش وصل هستش  رو قرار بدید.

نام پورتآدرس پورت
PORTAox1b
PORTBox18
PORTCox15
PORTDox12
1MB نوشتن متن فارسی در LCD های کاراکتری
0%
00:00  /  00:14
انجمن های تخصصی برق و الکترونیک ECA
تعداد مطالب : 340 تا
مهدی دمیرچیلو جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : ???
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه

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

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

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

  1. Avatar

    مهمان

    مرتضی رستگار

    سلام
    نظر بی ربطی به این موضوعش هستش، فقط خواستم بگم که از طریق آموزش زیر باگ افزونه Wp-jalali رو برطرف کنید تا تاریخ وردپرستون رو شمسی بشه:

    https://wptutorial.ir/resolve-wp-jalali-date-problem/

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

      سلام / از افزونه فوق استفاده نمیکنم ( قبلا استفاده میکردم ) / ممنون از لطف شما.

  2. Avatar

    مهمان

    یاسین

    سلام خسته نباشید
    طبق این نرم افزار من یه کاراکتر حرف فارسی ساختم و در اخر فایل خروجی از این نرم افزار با فرمت .lcd ذخیره شد میخوام بدونم چجوری باید از این فایل استفاده کنم

  3. Avatar

    مهمان

    msk

    سلام وقتتون بخیر
    من یه پروژه ای دارم که باید یه کلمه فارسی رو روی lcdنمایش بدم وقتی برای این برنامه کد مینویسم اون قسمت void define charr رو باید تغیر بدم؟ مثلا اگه خواسته باشم اسم مژده رو نمایش بدم

  4. Avatar

    مهمان

    نیما

    سلام
    استادمون یه پروژه داده تحت عنوان نمایش حروف فارسی روی lcd بدون استفاده از توابع
    کسی میتونه راهنمایی کنه؟؟

  5. Avatar

    مهمان

    نادر

    سلام
    میشه بیشتر در مورد خط زیر توضیح بدید چرا 3 شیفت به چپ انجام شده؟
    a=(kaleme_to_karakter<<3)|0x40

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

      سلام – احتمالا باید مربوط به بحث آدرس دهی باشه – به دیتاشیت lcd فوق مراجعه کنید ( عبارت CGRAM Address رو جستجو کنید )

  6. Avatar

    مهمان

    mahdi

    کجا سیو کنیم

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

      چیو کجا save کنی؟!

  7. Avatar

    مهمان

    saeed0047

    void define_char(unsigned char flash *my_kalame ,unsigned char kaleme_to_karakter)
    {
    unsigned char i,a;
    a=(kaleme_to_karakter<<3)|0x40;
    for(i=0;i<=7;i++)
    lcd_write_byte(a++ , *my_kalame++);
    help
    اگه میشه در مورداین بخش یکم بیشتر توضیح بدید من نتونستم این بخش رو بفهمم و صرفا حفظ کردم.کلا دلیل این حلقه FOR و عبارت بالاش پیه که می نویسیم؟!

  8. Avatar

    مهمان

    زهرا

    سلام،خسته نباشید؛ببخشید من کد نوشتم که جمله سال نو مبارک رو به صورت روان روی ال سی دی نمایش میدهد فقط مشکلی که دارم اینه که وقتی حرف ک به انتهای ال سی دی میرسه(سطر اول ستون اول) این حرف روی سطر دوم نماش داده میشه تا وقتی جمله به پایان برسه.ممنون میشم راهنمایی کنین،خیلی واجبه

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

      سلام
      سال نو مبارک = س ا ل ن و م ب ر ک = 9 تا کاراکتر
      دیتاشیت نمایشگر رو بخون ببین حداکثر تعداد کاراکتری که میتونی تعریف کنی چندتاس

      شما یه تابع بنویس.که یه for داشته باشه و از 0 تا 16 بشموره.برا بحث جابجا شدن بین ستون ها.اطلاعات رو از ستون 0ام نمایش بده ( مثلا داده ما 5 کاراکتر هستش ) بعد 100ms بیا ستون 0 تا 4 رو پاک کن ( از lcd_clear استفاده نکن ) بعد بیا اون 5 تا کاراکترتو یه ستون جابجا کن یعنی ستون 1 تا 5 و…
      وقتی مثلا رسیدی به ستون 11 ( نمایشگر 16 تا ستون داره و چون شمارش ستون ها رو از 0 شروع کردیم فلذا ستون اخر میشه 15 ) حالا میخوای 5 تا کاراکترتو نشون بدی.به کاراکتر اخر که رسیدی میبینی که رسیدی به ستون اخر فلذا کاراکتر اخر رو نشون نمیدی یا تو ستون اول نشون میدی….که شما یه متغیر اگه تعریف کرده باشی و در هر بار جابجا کردن داده ات یه واحد متغیر فوق رو زیاد کنی متوجه میشی که چقدر جابجا شدی و بعد با یه if ساده میتونی بررسی کنی که جا برا نمایش داده هات هستش یا نه

  9. Avatar

    مهمان

    mohsen

    سلام آقا خسته نباشی. دمت گرم به خاطر مطالب خوبتون. من یه پروژه بستم که توش یه شکل که متشکل از سه نقطه است، به صورت رندم روی صفحه ظاهر می شه و تا پایین صفحه میاد، از اون طرف یه شکل دیگه پایین صفحه است که با کلید و وقفه خارجی جابه جا می شه، حالا اگه اون شکله که به صورت رندم ظاهر می شه و پایین میاد به شکل پایین صفحه بخوره، game over می شیم! یه چیزی تو مایه بازی آتاری ! من تو پروتیوس برنامه رواجرا کردم، حدود بیست ثانیه درست اجرا می شه و بعد کلا شکل پایین صفحه می پره، به نظرت مشکلش کجاست؟
    اگه کمکم کنی خیلی لطف کردی.

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

      سلام
      با پروتئوس کلا کار نکن – در عمل تست کن پروژه رو – دوباره همون مشکل رخ داد – تو کدت دنبال مشکل بگرد ( من باشم اینکارو میکنم ) – حل نشد – فیلم بگیر ( از مدار در عمل بسته شده ) تو سروش به آیدی dmf313 بفرست.

  10. Avatar

    مهمان

    عزیزی

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

  11. Avatar

    مهمان

    hossein

    سلام
    می خوام این فایل رو به فارسی ترجمه کنم چطوری این کار رو انجام بدم؟؟؟؟؟
    لینک فایل
    https://drive.google.com/open?id=1jNeuTaJznSTHwiOsGE_T2pIBkyEsJOoc

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

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

      • Avatar

        مهمان

        hossein

        خوب من این رو بدون این که کد نویسی کنم (زیاد از کد نویسی سرم نمیشه ) wink sorry قسمت های که داخل پرانتز هستش رو به فارسی ترجمه کردم ولی بعد اپلود فایل فارسی رو نمی شناسه کارکتر های نامفهم میاره.

  12. Avatar

    مهمان

    ناشناس

    wink wink wink dash

  13. Avatar

    مهمان

    علی

    سلام
    با تشکر از شما
    سوال:
    اگر بخوایم مقدار یه متغیر رو نمایش بدیم واون متغیر رو هم فارسی بنویسیم چیکار باید کرد
    مثل:
    (sprintf(W,”Value :%u”,W

  14. Avatar

    مهمان

    aida

    سلام فایلی که دانلود میشه proteus نداره sad
    میشه یه عکس کامل از بستن مدار بذارین مرسی

    • مهدی دمیرچیلو

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

      مهدی دمیرچیلو

      سلام
      عکس اول مطلب شماتیک پروژه اس دیگه.

  15. Avatar

    مهمان

    حمید

    استاد ممنون بابت دیدن سوالم . میشه یه لطفی کنید تو سه خط پایین راجع به 3>> و عدد 7 در حلقه for و خط سوم توضیح بدید
    void define_char(unsigned char flash *my_kalame ,unsigned char kaleme_to_karakter)
    {
    unsigned char i,a;
    a=(kaleme_to_karakter<<3)|0x40; // محل شروع ذخیره اطلاعات در حافظه CGRAM
    for(i=0;i<=7;i++) // نوشتن در حافظه CGRAM
    lcd_write_byte(a++ , *my_kalame++); sad

    • مهدی دمرچیلو

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

      مهدی دمرچیلو

      شرمنده-
      >> که برا شیقت دادنه آموزشش هم تو نت هستش
      ولی این که چرا 3 واحد شیف دادم رو خاطرم نی – خیلی وقت پیش متاسفانه این مطلبو نوشتم و الان خاطرم نی علتشو

  16. Avatar

    مهمان

    حمید

    سلام خدمت استاد عزیز ! چرا سوال من که تو قسمت ارسال نظر نوشته بودم پاک شده است ؟ ممنون

    • مهدی دمرچیلو

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

      مهدی دمرچیلو

      پاک نشده – اون موقع چون هنوز جواب نداده بودم – اینطور میشه –

1 2