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

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

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

به نام خدا

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

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

 

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

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

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

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

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

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

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

 

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

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

نام پورت آدرس پورت
PORTA ox1b
PORTB ox18
PORTC ox15
PORTD ox12
1MB نوشتن متن فارسی در LCD های کاراکتری
0%
00:00  /  00:14
تعداد مطالب : 357 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : ???
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه

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

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

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

  1. مهمان

    سید محمد مهدی میرشریفی

    rtfm ببخشید فایل برنامه کجاس؟

  2. مهمان

    ابوالفضل

    اجنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
    انشالا داداش زود

  3. مهمان

    Mohsen

    سلام
    مرسی بابتت پروژه عالیتون smile

    چطور میتونم اینو تو پروتئوس پیاده سازی کنم؟
    یعنی مدار پروتئوسش رو چطور باید رسم کنم؟
    ممنون میشم جواب بدید

  4. مهمان

    مرتضی

    سلام من نمیخوام با استفاده از کتابخانه های حروف و کاراکتر ها رو چاپ کنم بلکه خودم می خوام به صورت مستقیم به پیکسل ها دسترسی داشته باشم و هر کدوم رو که خواستم روشن یا خاموش کنم. راهنمایی بفرمایید

    • مهمان

      آرمین

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

      • مهمان

        ویدا

        سلام چیکار کنیم که حروف به همدیگه بچسبن؟

  5. مهمان

    مرتضی رستگار

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

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

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

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

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

  6. مهمان

    یاسین

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

  7. مهمان

    msk

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

  8. مهمان

    نیما

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

  9. مهمان

    نادر

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

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

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

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

  10. مهمان

    mahdi

    کجا سیو کنیم

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

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

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

  11. مهمان

    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 و عبارت بالاش پیه که می نویسیم؟!

  12. مهمان

    زهرا

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

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

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

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

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

  13. مهمان

    mohsen

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

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

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

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

  14. مهمان

    عزیزی

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

  15. مهمان

    hossein

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

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

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

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

      • مهمان

        hossein

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

  16. مهمان

    ناشناس

    wink wink wink dash

  17. مهمان

    علی

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

  18. مهمان

    aida

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

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

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

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

  19. مهمان

    حمید

    استاد ممنون بابت دیدن سوالم . میشه یه لطفی کنید تو سه خط پایین راجع به 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 واحد شیف دادم رو خاطرم نی – خیلی وقت پیش متاسفانه این مطلبو نوشتم و الان خاطرم نی علتشو

  20. مهمان

    حمید

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

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

      مهدی دمرچیلو

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

  21. مهمان

    حمید

    با سلام خدمت استاد عزیز ، امکانش هست راجع به این خط های پروژه بالا مفصل تر توضیح بدین ؟ ممنون
    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++); //این تابع برای نوشتن یک بایت کاراکتر دلخواه در حافظه داخلی میکرو استفاده میشه
    // به نکته هم توجه کنید که هر حرفی که ما آرایه اش رو تو بالا نوشتیم دارای ۸ بایت هستش
    //لذا اون حلقه فور رو نوشتیم برا این که هر ۸ بایت ذخیره بشه
    }
    ///////////////////////////////////////////////////////////////////////////////
    void main(void)
    {
    int i; // با این متغییر ما میخوایم کاراکتری که به شکل قلب ساختیم رو چندین بار نمایش بدیم
    lcd_init(16); //عدد داخل پرانتز تعداد ستون های ال سی دی هست
    //تعریف کاراکتر های ایجاد شده
    //مثلا اگه بگیم به ال سی دی عدد یک رو به عنوان کاراکتر
    //چاپ کن میاد و اون کاراکتری که ما ساختیم رو نمایش میده
    // که در این جا کاراکتری که صفر براش تعیین شده "علی "هستش
    define_char(char0,0);
    define_char(char1,1);
    define_char(char2,2);
    define_char(char3,3);
    define_char(char4,4);
    lcd_gotoxy(0,0); // رفتن به مختصات سطر اول و ستون اول ام ال سی دی
    lcd_putchar(0);
    lcd_gotoxy(6,0); // رفتن به مختصات سطر اول و ستون ۷ ام ال سی دی
    for(i=0;i<=5;i++)
    lcd_putchar(4); // نمایش شکل قلب–با توجه به حلقه این قلبه ۶ بار نمایش داده میشود

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

      مهدی دمرچیلو

      توضیح چی بدم؟ حسش نی جان داش cry – توضیح دادم دیگه sorry بگو کجاشو مشکل داری تا دقیق توضیح بدم good

  22. مهمان

    Rahele

    سلام من میخوام یه متن بنویسم ولی این که فاصله میوفته بین حروف خیلی زشتش میکنه برنامه نیس که بیش تر از ۵ مربع رو بشه ساخت ؟
    دوم اینکه من روی این برنامه ۳ تا خط داخل فلش اضافه کردم که جمله کامل بشه ولی char 5 و 6و 7 رو اصلا نشون نمیده چرا ؟

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

      مهدی دمرچیلو

      سلام
      از lcd گرافیکی استفاده کن اگه میخوای فاصله نیوفته.
      تو تعریف کاراکتر فارسی محدودیت وجود داره حدود 7-8 تا

  23. مهمان

    هیتلر آریایی

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

  24. مهمان

    پیمان

    سلام من الان بخوام اسم خودم ر بنویسیم باید توی cod vision چجور طراحیش کنم

  25. مهمان

    محمد

    سلام سایت قشنگ تون ونیت خالصانه شماقابل ستایش هست.
    سربازان امام زمان بخاطر مال دنیا نمی جنگند.خیلی از کسانی که از امتیازات مادی حکومتی برخوردارند.ادعای بسط و توسعه جامعه اسلامی و مدنی دارند.که همه می دانیم ادعای بیش نیست.و خطر ناک تر از دشمن هستن.
    ولی ای کاش می فهمیدیم با فحش دادن فرهنگ خودرا برهنه می کنیم.همیشه دست ما بخاطر یک چیپ 2هزارتومنی به سمت تمام کشورهایی که بهشون فحش میدیم دراز میشه.و هنوز هم که هنوزه به برندهای usaرا بهترین می دانیم.و برای مسافرت به این سرزمین هامیلیاردها پول میدیم.و صد البته 90 درصد کسانی که صندلی در بهارستان دارندواولاد و نوادگان رده های بالا حکومتی در خارج کشورو این سرزمینهای هدف فحش مان زندگی می کنند.
    اونوقت یک مهندس مابه فکر شیعه کردن یک سنی هست.

  26. مهمان

    میثم

    سلام …
    من تون تابعی رو که نوشتین متوجه نمی شم .. یشه ساده تر توضیح بدین

  27. مهمان

    ariyana

    سلام!!
    نمیشه حافضش رو برد بالا؟؟؟؟×!!!
    مثلا با ماژول اسمشو یادم نیست crazy
    ازاینایی که رم میزاری میخونه…..
    میشه حافظش رو برد بالا؟؟؟؟

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

      مهدی دمرچیلو

      سلام.نه

  28. مهمان

    Daves

    با تشکر از مطلب مفیدتون و مخصوصا اون نرم افزار که کارو خیلی سریع کرد heart

  29. مهمان

    zahra

    سلام، مشکل تکرارشو حل کردم ولی همجنان به هم ریخته نشون میده dash
    http://uupload.ir/files/4iar_0000.png

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

      مهدی دمرچیلو

      سلام
      یه سوال – چقدر احتمال میدید که مشکل از پروتئوس نباشه؟! تو عمل هم یه تستی بکنید.

      • مهمان

        zahra

        فک کنم مشکلو پیدا کردم wacko اومدم یه کلمه و چنتا عدد دیگه نوشتم که از ۸ بیت(کارکتر؟ نمیدونم) کمتر بود مثلا آب و عدد هم ۲۲۸۴ بعد بدون مشکل نشون میداد، مثلا همون آب رو ۶ بار رو صفحه بهم نشون داد مشکل از تعداد define ها هست فک کنم، ولی خب نمیدونم چیکار کنم بیشتر از ۸ تا بشه هم بتونم نشون بدم بهم نریزه unknw

  30. مهمان

    zahra

    سلام من برنامه ای که فرستادم جواب ندادین بهم sad اگر لازمه فایل پروتئوس و هگزو جایی اپلود کنم لینک بدم نمیدونم

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

      مهدی دمرچیلو

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

      • مهمان

        zahra

        همین نظر قبلی که گذاشتم سوال داشتم رو میگم….. اینم لینک :
        http://uupload.ir/view/lolu_azmayeshe8.zip
        اولش که ال سی دی روشن میشه اسمم به هم ریخته هست یکم ،کاری با اون ندارم بعد درست میکنم مشکلم اینه که بعدش که باید شماره دانشجویی بیاد عددا کلا به هم ریخته رفته تو دو ردیف به ترتیبم نیست اصلا و یه مشکل دیگه هم اینکه من میخام بعد که شماره رو نشون داد باز بره اسم رو نشون بده (چرخه باشه هی اسم بیاد بعدش ش.د تا بینهایت) ولی رو شماره ثابت میمونه!!! نمیدونم چیکارش کنم sad

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

          مهدی دمرچیلو

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

  31. مهمان

    zahra

    سلام ممنون بابت سایت خوبتون که تو تمرینای آز-میکرو به من کمک کرد، یه سوالی دارم، من میخوام اول روی lcd اسم و فامیلم رو بزنه بعدش شماره دانشجویی و این روند تا اخر تکرار بشه، ولی این برنامه ای که نوشتم اول اینکه شماره رو کلا به هم میریزه و بعدشم دیگه اسم رو تکرار نمیکنه رو شماره ثابت میمونه،میشه بگید اشکالش چیه؟ ممنون
    #include
    #asm
    .equ __lcd_port=0x18; //PORTB
    #endasm
    #include
    #include
    typedef unsigned char byte;
    flash byte char0[8]={0,2,0,2,4,8,16,0};
    flash byte char1[8]={0,0,31,21,31,0,0,0};
    flash byte char2[8]={0,0,0,3,4,8,16,0};
    flash byte char3[8]={0,4,4,4,4,4,0,0};
    flash byte char4[8]={0,2,5,9,30,0,0,0};
    flash byte char5[8]={0,8,5,3,4,8,0,0};
    flash byte char6[8]={0,4,4,4,4,4,0,0};
    flash byte char7[8]={6,0,15,9,15,1,31,0};
    flash byte char8[8]={0,12,0,17,17,31,0,0};
    flash byte char9[8]={30,18,30,2,2,2,2,2};
    flash byte char10[8]={9,9,15,8,8,8,8,8};
    flash byte char11[8]={15,8,15,8,8,8,8,8};
    flash byte char12[8]={0,0,12,18,18,18,12,0};
    flash byte char13[8]={0,4,10,17,17,17,21,27};
    flash byte char14[8]={15,8,15,8,8,8,8,8};
    flash byte char15[8]={21,21,31,16,16,16,16,16};
    flash byte char16[8]={0,4,10,17,17,17,21,27};
    flash byte char17[8]={4,10,17,17,17,17,17,17};
    void define_char(byte flash *pc,byte char_code){
    byte i,a;
    a=(char_code<<۳)|۰x40;
    for(i=0; i<۸; i++) lcd_write_byte(a++,*pc++);
    }
    void main(){
    lcd_init(16);
    define_char(char0,0);
    define_char(char1,1);
    define_char(char2,2);
    define_char(char3,3);
    define_char(char4,4);
    define_char(char5,5);
    define_char(char6,6);
    define_char(char7,7);
    define_char(char8,8);
    lcd_gotoxy(0,0);
    lcd_putchar(8);
    lcd_putchar(7);
    lcd_putchar(6);
    lcd_putchar(5);
    lcd_putchar(4);
    lcd_putchar(3);
    lcd_putchar(2);
    lcd_putchar(1);
    lcd_putchar(0);
    delay_ms(1000);
    lcd_clear();
    define_char(char9,9);
    define_char(char10,10);
    define_char(char11,11);
    define_char(char12,12);
    define_char(char13,13);
    define_char(char14,14);
    define_char(char15,15);
    define_char(char16,16);
    define_char(char17,17);
    lcd_gotoxy(0,0);
    lcd_putchar(9);
    lcd_putchar(10);
    lcd_putchar(11);
    lcd_putchar(12);
    lcd_putchar(13);
    lcd_putchar(14);
    lcd_putchar(15);
    lcd_putchar(16);
    lcd_putchar(17);
    delay_ms(1000);
    while(1){
    };
    }

  32. مهمان

    میلاد

    مشکلم حل شد…ممنون
    فقط یه سوال داشتم….تو جوابی که دادی گفتی توی بسکام نمیشه بیشتر از هفت تا کاراکتر درج کرد…خودمم هم به ای مطلب برخورده بودم تو نت…
    اگه اشتباه نکنم ما دو نوع lcd داریم….۱- کاراکتری ۲- دیجتیال
    میشه بگی فرقشون چیه….با lcd میشه چه کارهایی کرد و چه کاربرد های داره
    و lcd دیجیتال چه مزیت هایی نسبت به lcd کرارکتری داره؟
    ممنون heart

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

      مهدی دمرچیلو

      بحث ۷ تا کاراکتر ربطی به بسکام و کدویژن و … نداره – مربوطه به خود نمایشگر
      بسته به پروژه شما نمایشگرتون رو باید انتخاب کنید.
      نمایشگر گرافیکی مدلش تو سایت هستش – یه چند تا پروژه و آموزش.

      • مهمان

        میلاد

        بازم ممنون بابت پاسخگویی….
        سایتی …منبعی جای خاصی رو میشناسید که اموزش بیسکام باشه و من بتونم ازش استفاده کنم؟؟؟؟؟؟؟
        با تشکر heart

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

          مهدی دمرچیلو

          نه متاسفانه.

  33. مهمان

    میلاد

    سلام…
    من میخام با استفاده از یک atmega16 و یک lcd 16*2 ( lm016l ) برنامه ی درست کنم که رو lcd یه کلمه فارسی نوشته بشه..یه کلمه یا یه جمله فرقی نمیکنه… من با برنامه بیسکام کار میکنم نه کد ویژن تو نت هر چی گشتم همش کد ویژن بود…خواهش میکنم اگه ممکنه راهنمایی کنید توی بیسکام چطور میشه برنامه ای نوشت که روی lcd متن فارسی نشون داده بشه؟
    با تشکر

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

      مهدی دمرچیلو

      سلام
      بسکام کار نمیکنم – در ضمن فقط ۷ کاراکتر میشه تعریف کرد و نه بیشتر!

      • مهمان

        میلاد

        سایتی رو سراغ نداری بتونه کمکم کنه؟

  34. مهمان

    صادق

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

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

      مهدی دمرچیلو

      سلام-نه.

  35. مهمان

    علیرضا آهنی

    سلام.
    چرا سوال من را پاک کردین?

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

      مهدی دمرچیلو

      سلام-کدوم؟

    • مهمان

      علیرضا آهنی

      ببخشید .
      حواسم نبود نوشتم laugh

  36. مهمان

    علیرضا آهنی

    سلام.
    من این پروزه رو بستم در عمل.
    فرکانس ۸مگ داخلی
    پورت B
    ولی تا میکرو فرمان رو می فرسته ال سی دی خاموش میشه cry
    چندین بار کدها و پورت ها را تعویض کردم.اما نشد cry
    عید شما مبارک smile

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

      مهدی دمرچیلو

      سلام
      عید شما هم مبارک
      یعنی چی که خاموش میشه؟
      اطلاعات نمایشگر پاک میشه یا …؟
      چون اگه نور پسزمینه خاموش میشه اون مشکل از تغذیه و اتصالی و … هستش.

    • مهمان

      علیرضا آهنی

      سلام.
      هم اعطلاعات و هم نور زمینه خاموش می شود smile

  37. مهمان

    789

    سلام.
    من این مدار را در جایی پر از سیم بستم و پروگرام کردم با برنامه ی AVRstdio4پروگرام کردم. پروگرامرم هم نواوان الکترونیک است.تعغییری هم در مدار ندادم و هم چنین کدها. پیشاپیش ممنون از کمکتون smile .راستی پروزه را دانلود کردم. فایل پروتئوس هم ارور می دهد. پروتئوس۸ هم دارم smile

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

      مهدی دمرچیلو

      سلام
      پروتئوس چه اروری میده؟ عکس بده.

    • مهمان

      789

      چه طوری عکس بزارم sad

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

        مهدی دمرچیلو

        wacko
        دکنه PRT SCR SYS RQ روی کیبورد رو بزن – عکس رو تو PAINT ذخیره کن – تو یه آپلود سنتر آپلود کن – اینجا لینک بده.

  38. مهمان

    852

    سلام.
    میکرو مگا۱۶هست یامگا۳۲ smile
    اگر مگا۳۲هست می توان توی مگا۱۶ نوشت mail
    ایا تفاوت قدرت دارند wacko هزینه wacko یاتعداد پورت ها wacko mosking

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

      مهدی دمرچیلو

      سلام
      اول کد پروژه نوشته شده.
      به شرط تغییر نام کتابخونه.
      دیتاشیت رو مقایسه کن. – مگا ۳۲ یکم گرون تره

  39. مهمان

    123

    پروزه ی خوب و کاملی بود

  40. مهمان

    علیرضا آهنی

    سلام.
    ممنون . گرفتم smile دست شما درد نکند

  41. مهمان

    علیرضا آهنی

    سلام.
    بعد از نوشتن کراکترچه کار کنیم. sad
    خواهشن سریع سریع سریع سریع پاسخ بدهید
    سایت بسیار بسیار خوبی دارید good
    لطفا نخندید rtfm diablo

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

      مهدی دمرچیلو

      سلام-یعنی چی که بعد نوشتن کاراکتر چی کار کنیم – متوجه نشدم منظورتو.

    • مهمان

      علیرضا آهنی

      منظورم بود بعد از گرفتن کد باید چیزی به کد اضافه کنیم مثل اگر فقط بخواهیم حرف های ر ی ح ا ن ه بدون رفت وبرگشت نشان دهیم بعد رو میکرو پروگرام کنیم shout

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

        مهدی دمرچیلو

        شرفتا مطلب رو خوندی؟ پروژه رو دیدی؟ فیلم پروژه رو دیدی؟ خب تو مطلب نوشتن متن فارسی رو گفتم دیگه – مثل اون عمل کن – الان کجاشو مشکل داری آخه

    • مهمان

      علیرضا آهنی

      سلام.
      مطلب رو۲۰بار خوندم.پروزه را دیدم.فیلم راندیدم.یعنی همین جوری که کدا رو گرفتم از بر نامه کپی کنم تو کدویزن wacko و بعد پایه هاروخروجی کنم .ها
      راستی می توان همه ی پرتهای c را خروجی کرد sad

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

        مهدی دمرچیلو

        سلام
        کدها رو کپی نکن
        پروژه ته مطلب رو دانلود کن و اونو تغییر بده و استفاده کن.
        راستی جیتگ رو غیر فعال کن از طریق فیوز بیت ها تا پروژه کار کنه در عمل برات!

  42. مهمان

    علیرضا آهنی

    سلام.
    اقا اچب برنا مه ای بود///////////////////////******************* good good good good good good good good give_rose

  43. مهمان

    پوریا

    سلام، من این برنامه رو نوشتم ولی کدویژن define_char رو نمیشناسه، این ارور رو میده
    storage modifier not allowed in this context

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

      مهدی دمرچیلو

      سلام – اگه از eeprom استفاده کردی – این کارو نکن –
      تو سایت زیر بزار کد رو و لینکش رو بده.
      http://paste.debian.net/

  44. مهمان

    saeid

    سلام دوست عزیز ، بابت آموزش خوب شما که غنیمت است تشکر می کنم ، یک اشتباه تایپی که در نگارش این آموزش صورت گرفته این است که کدهای ایجاد شده توسط تابع Define_char() در حافظه ی CGRAM که روی LCD Char قرار دارد ذخیره می شوند .
    با تشکر

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

      مهدی دمرچیلو

      سلام – خب منم تو مطلب همینو گفتم که!!!

      تو LCD های کاراکتری حافظه ای به نام CGRAM وجود داره که میتونی توش ۸ و فقط ۸ تا کاراکتر ذخیره کنیم.

  45. مهمان

    mehdi

    سلام داداش. دمت گرم. حالا چطوری میشه بیشتر از 8 کاراکتر فارسی رو نشون داد؟! فرض کن تو سطر اول ال سی دی بخواییم مثلا ناممون با حرف فارسی از چپ وارد بشه و تو سطر دوم شماره دانشجوییمون با حرف فارسی از راست به چپ وارد بشه. تعداد حروفمون هم بیشتر از 8 کاراکتر میشه. راه حلش چیه؟ اصلا امکانش وجود داره که کاراکترمون رو چاپ نکنیم و بریزیش تو تابع sprintf و ازونجا چاپش کنیم؟

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

      مهدی دمرچیلو

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

  46. مهمان

    زینب

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

  47. مهمان

    هادی

    با سلام
    یه سوال از شما داشتم اگر لطف کنید و من رو راهنمایی کنید:
    اگر قصد داشته باشیم در بسکام (AVR) ولتاژهایی رو با ولتاژ مشخصی بررسی کنیم( در ورودی ADC ) ، نحوه برنامه نویسی آن به چه صورت می شود؟

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

      مهدی دمرچیلو

      سلام
      بسکام کار نکردم

      • مهمان

        هادی

        باز هم ممنون از شما

    • مهمان

      هادی

      ببخشید حالا جدا از زبان بسکام میشه راهنماییم کنید؟

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

        مهدی دمرچیلو

        خب مطلب آموزش ADC در سایت هستش – شما کدش رو مینویسی میگی اگه مقدار ولتاژ خونده شده از مقدار مد نظررت بیشتر یا کمتر شد فلان کارو بکن.

        • مهمان

          هادی

          ببخشید اگر چند تا ولتاژ شاخص داشته باشیم باید از look up table استفاده کنم؟

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

            مهدی دمرچیلو

            جدول لوکاپ نمیدونم چیه – اسمش آشناس ولی چیزی خاطر ندارم.

  48. مهمان

    yasin

    سلام ممنون از اموزش ها و سایت خوبتون یه سؤال داشتم… میشه با اردوینو هم روی ال سی دی فارسی نوشت؟

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

      مهدی دمرچیلو

      سلام
      مطلبش در سایت هستش.

  49. مهمان

    محمد

    آقا دمت گرم. آموزشت خیلی خوب بود. سالاری به مولا. ایشالا همیشه موفق باشی

  50. مهمان

    سجاد

    سلام مهندس ,خسته نباشی
    مهندس واسه ال سی دی ۲۰×۴ همین کتابخانه که داخل کدویژن هست کار میکنه دیگه!؟

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

      مهدی دمرچیلو

      سلام
      باس کار کنه

  51. مهمان

    ناشناس

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

  52. مهمان

    رها

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

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

      مهدی دمرچیلو

      سلام
      والا تابع define_char رو قبلا یکی از دوستان پرسد گفتم اطلاع ندارم و باید دیتاشیت LCD کاراکتری رو نگاه کنید
      ولی علامت < < و >> برا شیفت دادن اعداد هستش و | و & هم برا اور و اند بیتی متغییر ها هستن که میتونید از آموزش های توی نت استفاده کنید و دربارشون مطالعه کنید.

  53. مهمان

    احسان

    a=(kaleme_to_karakter<<3)|0x40;
    سلام بیزحمت لطفا این کادر رو توضیح بدین
    متشکرم ,سایت خیلی عالی دارین

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

      مهدی دمرچیلو

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

  54. مهمان

    AMIR

    من برنامه ای که شما تو فایل قرار دادیدو وقتی میخوام تو کدویژن کامپایل کنم با این که تغییری تو برنامه ندادم ارور میده:
    ‘undefined symbol ‘lcd_write_byte
    function argument #1 of type ‘flash byte [8]’ is incompatible with required parameter of type ‘unsigned char*’

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

      مهدی دمرچیلو

      سلام
      1-اگه همین پروژه رو دانلود میکنی و کامپایلش میکنی و این ارور رو میده : کدویژنت باید مشکل داشته باشه—ببین کرکش سالمه – من همین الان تست کردم مشکلی نبود
      2-اگه کدهای پروژه رو کپی میکنی و در یه پروژه جدید قرار میدی و کامپایل میکنی این ارور رو میده >>> بازم ببین کجا سوتی دادی و یا تغییرات دادی چون به این طریق هم الان تست کردم و ارور نداد
      3-اگه میخوای بیا تا از طریق TeamViewer مشکلت رو حل کنم(نرم افزارش تو نت هستش)

  55. مهمان

    س.ا

    ممنون بابت توضیحاتتون

  56. مهمان

    m

    ممنون

  57. مهمان

    fatima

    سلام، ممنون از پروژه کاملتون. میشه همینو با ربان اسمبلی هم بذارید؟ ینی برنامه اسمبلیشو میخوام با ال سی دی و کی پد

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

      مهدی دمرچیلو

      سلام
      اسمبلی بلد نیستم

  58. مهمان

    quasar

    سلام، ممنون از پروژه خوب و کامل تون. یه سوال داشتم: اگه بخوایم به اسمبلی بنویسیم. بعد از این که حافظه CGRAM رو مشخص و پر کردیم برای نمایش محتویات CGRAM چجوری باید دستور بدیم…. پیشاپیش از راهنمایی تون ممنون!

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

      مهدی دمرچیلو

      سلام
      والا دقیقا متوجه نشدم ولی ما با define_char کاراکترمون رو تو حافظه مربوطه ذخیره میکنیم و بعد با lcd_putchar نمایشش میدیم…..اگه بخوای اینو به اسمبلی بنویسی من بلد نیستم

  59. مهمان

    ایمان

    سلام ممنون از سایت خوبتون. چرا فایل پرتئوس باز نمیشه؟

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

      مهدی دمرچیلو

      سلام
      ورژن پروتئوس شما؟
      برا من ۷٫۷

  60. مهمان

    هادی دمرچلی

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

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

      مهدی دمرچیلو

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

  61. مهمان

    elham

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

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

      مهدی دمرچیلو

      سلام
      led یا lcd???
      برا lcd که آموزشش تو همین مطلب هست
      برا led هم که گفتم….برنامه دات ماتریس تو نت زیاده….یکیش رو دانلود کن…مثلا یه متن ثابت نشون بده…بعد متن خودت رو جایگزینش کن

  62. مهمان

    elham

    اگه بخوام این کاراکتر ها رو روی led نمایش بدم جی؟
    باید چیکار کنم؟میشه کمکم کنید؟

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

      مهدی دمرچیلو

      هیچی میای و چند تا led رو میزاری کنار هم که میشه مثل دات ماتریس…..لذا به جای این که چند تا led رو کنار هم بزاریم میایم و از دات ماتریس استفاه میکنیم….
      که پروژه هاش تو اینترنت هستش….اگه سرچ کنی “پروژه نمایش متن در دات ماتریس” یه چیزایی گیرت میاد…..فک کنم تو سایت گزاشته باشم یه چیزایی….البته مطمئن نیستم

  63. مهمان

    ماکان

    سلام … خسته نباشید
    من یک LCD 16 *2 با Atmega 16 دارم
    می خوام حروف رو نمایش بده
    همین برنامه شما رو پروگرم کردم
    ولی LCD هیجی نشون نمیده
    چندتا دیگه هم عوض کردم ولی LCD هیچی نشون نمیده
    میشه راهنمایی کنید من رو
    مرسی ؟

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

      مهدی دمرچیلو

      سلام
      ۱) Lcd ایت سوخته…(LCD رو عوض کن ببین درست میشه….)
      ۳) میکروت سوخته(اگه میکرو پروگرام بشه یعنی سالمه)
      ۴) اتصالات اشتباه هستش.(به احتمال زیاد مشکل همینه)
      ۵) تو اتصالات قطعی وجود داره
      ۶) ولتاژ مدار ۵ ولت نیست(ولتاژ مدار و LCD باید ۵ ولت باشه)

  64. مهمان

    مهدی

    هم تو و هم اون بابا دستتون مریزاد

  65. مهمان

    رضا

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

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

      مهدی دمرچیلو

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

  66. مهمان

    sahar

    میشه بگی چجوری فاصله بین حرفا رو ازبین ببریم!! ننویسه
    ش ن ب ه

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

      مهدی دمرچیلو

      این دیگه مشکل از lcd کاراکتری هستش…..چون اگه lcd رو از نزدیک نگاه کنی بین این کلماتی که گفتی …. چیزی برا روشن شدن وجود نداره تا بتونیم این کلمات فارسی رو به صورت پیوسته و به هم چسبیده نشون بدیم……(امید وارد فهمیده باشی منظورم رو)
      —————–
      در عوض میتونی از lcd گرافیکی استفاده کنی…..که مطالبش رو تو سایت گزاشتم.

  67. مهمان

    sahar

    برنامه تعریف ی کارکتر رو نوشتم ولی پروتوس اجراش نمیکنه رو lcd چیزی نمایش نمیده!!! :؟ نمیدونم دیگه باید چیکار کنم!!
    برنامه هم خطایی نداره sorry

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

      مهدی دمرچیلو

      پروژش رو که تو سایت پیوست کردم….
      من خودم این پروژه رو هم تو عمل و هم تو پروتئوس تست کردم و جواب داده unknw

  68. مهمان

    zero

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

  69. مهمان

    zero

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

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

      مهدی دمرچیلو

      سلام
      لینک تصحیح شد

  70. مهمان

    ُشبنم

    خیلی ممنونم ! آموزش ها واقعا عالین ! امیدوارم در تمام مراحل زندگی پیشرفت و تعالی داشته باشین ! smile

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

      مهدی دمرچیلو

      خواهش smile