نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

نمایش متن در lcd

به نام خدا : نمایش متن در lcd – سلام خدمت دوستان bye – اینو با زبون c وبا کدویژن نوشتم و با پروتئوس طراحیش کردم. و از atmega16 استفده کردم اما شما میتونید از هر IC دیگه ای استفاده کنید؛ کار این برنامه هم اینه که یه متن رو در LCD نمایش میده. شما میتونید متن مورد نظرخودتون رو جایگزین متن فعلی بکنید؛ کد ها رو هم تقریبا خط به خط توضیح دادم که کارشون چی هست. چیز خاصی هم نداره.
نمایش متن در lcd

 

دانلود : نمایش متن در LCD

طبق معمول سوالی اگه بود در خدمتیم

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو امیدوارم مطالب ناچیز این سایت مفید باشه براتون؛ به امید روزی که دانسته هامونو به اشتراک بزاریم، حالا پولی یا رایگانش زیاد مهم نی؛ بعضی ها فک میکنن چیزی که بلدن، اگه با دیگران به اشتراک بزارن ... !
ارسال دیدگاه
63

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

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

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

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

  1. Avatar

    مهمان

    حمید

    بوس بوس hi heart laugh
    تشکر ok

  2. Avatar

    مهمان

    سایه

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

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

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

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

      سلام – از توابع آماده استفاده نکنید – یعنی چی؟ خودتون میخواید کتابخونشو بنویسید؟ ( خب برید بنویسید ) – یا چیز دیگه ای مد نظرتونه؟

  3. Avatar

    مهمان

    moamad

    سلام
    من وقتی من پایه های لازم برای lcd که d4 تا d7 هستن رو به پایه های portc وصل کردم(به غیر از portc.3)
    پایه های منبع رو هم وصل کردم
    کد زدم که روی lcd یک S تایپ کنه.
    اما وقتی منبع رو وصل میکنم ردیف بالای من مربع مربع نشون میده و ردیف پایین هیچی.
    در ضمن این اتفاق وقتی میفته که GND v رو وصل میکنم
    یعنی تا قبل از اینکه GND وصل بشه LCD مربع مربع نیست.
    میخواستم کمکم کنید که مشکل من حل بشه
    ممنون و سپاس گذار

  4. Avatar

    مهمان

    مهدی

    سلام
    میشه برای lcd دو در 16 برای AVR دستوری نوشت که تو سطر اول یه جمله بنویسه ، بعد از 1 ثانیه تو سطر دوم یه جمله بنویسه ، بعد از 1 ثانیه کل صفحه پاک بشه و تو وسط از 00 شروع به شمارش کنه و تا 99 ادامه بده
    همچین کدی میشه نوشت ؟
    ممنون

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

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

      مهدی دمرچیلو

      سلام
      چرا نشه

  5. Avatar

    مهمان

    Shima

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

  6. Avatar

    مهمان

    علیرضا آهنی

    سلام.
    من بر این شرطIFنوشتم ولی ال سی دی هیچی نشون نمیده .
    کدام
    #include #include
    #include
    #include
    #asm
    .equ __lcd_port=0x1B ;PORTA
    #endasm
    void main(void)
    {
    char buffer[]=”DMF313.ir”;
    lcd_init(16); //آماده کردن ال سی دی برای دریافت اطلاعات
    lcd_clear(); //پاک کردن صفحه نمایش
    while (1)
    {
    lcd_clear(); //پاک کردن صفحه نمایش
    lcd_gotoxy(0,0); //رفتن به محط ایک و وای
    if(PINA.0==1) lcd_puts(buffer); //چاپ حافظه موجود در حافظه اس رم
    delay_ms(5000); //ایجاد فاصله زمانی
    }
    }

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

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

      مهدی دمرچیلو

      سلام مجدد – اگه میخوای تو الکترونیک پیشرفت کنی سعی کن با ارتباط سریال کار کنی و برا تست و باگ گیری – اطلاعات رو به PC بفرستی و اونجا بخونی و بررسی کنی – از این نمایشگر های کاراکتری و … استفاده نکنی بهتره – هر چی مدارت ساده تر باشه بهتره – مطلب زیر رو بخون – و سعی کن یه کتابخونه برا UART میکرو بنویسی تا با فراخونی اسم کتابخونه و یه تابع راه اندازی – UART میکرو رو راه اندازی کنی و همش مجبور نباشی با رجیستر ها ور بری یا کلی کد رو کپی پیس کنی و …
      http://dmf313.ir/اتصال-avr-به-کامپیوتر-از-طریق-usb-با-ماژول-cp2102/

    • Avatar

      مهمان

      علیرضا آهنی

      سلام.
      ممن.ن از راهنمایی شما.
      سعی می کنم از PCاستفاده کنم.

  7. Avatar

    مهمان

    محمد امین

    داداش مشکلم حل شد.

  8. Avatar

    مهمان

    محمد امین

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

  9. Avatar

    مهمان

    محمد امین

    بی زحمت پس یه کمکی بکنید.کارم گیره.

  10. Avatar

    مهمان

    محمد امین

    ته مطب رو دیدم.اما اون چیزی که مد نظرم بود متاسفانه یافت نشد.تا اون جایی که من میدونم از طریق دستور lcd_write_data(0x18); میشه متن رو در lcd به چپ شیفت داد. اما اشکال این دستور محدود بودنش نسبت به lcd_init(); هست که حد اکثر 40 کاراکتر رو بیشتر ساپورت نمیکنه.اگه امکانش هست بزرگواری بفرمایید برنامه ای که بتونه اون 60 کاراکتر یا بیشتر رو به صورت کامل شیفت بده به راست یا چپ رو به ایمیلم ارسال کنید،ممنون میشم.با تشکر.

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

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

      مهدی دمرچیلو

      متاسفانه امکانش نیست.

  11. Avatar

    مهمان

    محمد امین

    ببینید دوتا متن کاملا مختلف هستش که یکی در خط 1 و اون یکی دیگه در خط 2 قرار دارن که می خوام به صورت همزمان از سمت راست صفحه نمایش lcd وارد بشن و از سمت چپ lcd خارج بشن(به صورت تابلو روان).(چون متن ها به زبان انگلیسیه دیگه).طول متن ها حدودا 65 کاراکتر هستش.امید وارم منظورم رو به خوبی رسونده باشم.

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

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

      مهدی دمرچیلو

      مطلب زیر رو بخونید – تو اون فایل ته مطلب – اینا رو توضیح داده – یه تابع برای این کار هستش – بگردید اگه پیدا نکردید بهم بگید، الان دارم کتابخونه همین نمایشگر رو برای آردوینو مینویسم برا بحث آموزش نوشتن کتابخونه – یکم سم شلوغه – فکرم جای دیگس >>>> البته خودتون هم میتونید برای این کار تابع بنویسید ولی خب منطقی نیستش خود lcd این امکان رو داره.
      http://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-lcd-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1%DB%8C/

  12. Avatar

    مهمان

    محمد امین

    سلام.می خواستم بدونم چطوری میتونیم یه متن خیلی طولانی رو به صورت تابلو روان روی alc 2*16 نمایش بدیم؟

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

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

      مهدی دمرچیلو

      سلام
      خب میخواین یه متنی تعیین کنید مثلا که در خط 1 به صورت حرکتی همش باشه؟ دقیقا بگید به چه صورت باشه بهتر میتونم راهنمایی کنم.

      • Avatar

        مهمان

        محمد امین

        ببینید من می خوام دو متن مختلف که یکی در خط 1 و دیگری در خط 2 lcd هستند رو همزمان از سمت راست lcd وارد بشه و از سمت چپ خارج.(چون متن مسلما انگلیسیه دیگه).در نظر داشته باشید که متن ها طولانی هستند.(حدودا 65 کاراکتر).امیدوارم منظورم رو به خوبی رسونده باشم.ممنون.

  13. Avatar

    مهمان

    Myself

    Salam bar shoma
    Man in madar to Bastam dar amal va Proteus ,dar proteus javab dad vali dar amal aslan LCD Roshandel nemishe ,ba micro va LCD jadid test kardam va Bastam hamoonjoore ,yedoone led be ye port dige ham dadam v codesh to ezafe kardam ta az doorstep program kardam VA bargh dadan be micro motmaen sham VA didam roshan mishe
    Baraye port haye mokhtalef code ro check kardam VA baz ham Hamonjoorei aesabam dige khoord shode,lotfan
    komak konin

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

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

      مهدی دمرچیلو

      سلام
      1-اگه نور پس زمینه هم روشن نمیشه پس یعنی اتصالات شما اشتباه هستش یا ولتاژی کمتر از 5 ولت (مثلا2 ولت) دادین.
      2-مطلب آموزش lcd کاراکتری رو بخون.
      3-فارسی بنویس pardon

  14. Avatar

    مهمان

    پوریا

    سلام،ببخشید،من ال سی دی ای که دارم ،اگه جوری بگیزیش که پایه هاش بالا باشه سمت راست پایه هاش یدونه شپنزده نوشته و سمت چپشون یدونه یک
    این شماره و ترتیب پایه هاس؟

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

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

      مهدی دمرچیلو

      سلام – لینک زیر رو ببین – سرچ کنی زود تر به جواب میرسی good
      lcd2*16 pinout

  15. Avatar

    مهمان

    پوریا

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

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

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

      مهدی دمرچیلو

      سلام
      والا نمیدونم کجا سوتی دادی – اگه یه پروژه جدید ایجاد کرده باشی و تو کدویزارد میکرو مگا 16 رو انتخاب کرده باشی و فرکانس رو هم 8 میگ و بعد پروژه رو ذخیره کرده باشی و بعد کد منو کپی کرده باشی نباید مشکلی وجو داشته باشه
      راستی فایل پروتئوس هم از پروتئوس من استفاده میکنی یا خودت؟ —– تو پروتئوس باید روی میکرو کلیک کنی و بری تو تنظیماتش و فرکانس 8 میگ براش انتخاب کنی.

      • Avatar

        مهمان

        پوریا

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

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

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

          مهدی دمرچیلو

          lcd وقتی میسوزه که ولتاژ زیاد بهش بدی – بیشتر از 5 – ولی باز اگه بسوزه معلومه میشه چون هنگام سوختن یه صدایی میده.
          اگه تو پروتئوس جواب میگیری پس مدارت مشکل داره
          مطلب اموزش lcd کاراکتری رو بخون.
          در ضمن – یه 30ثانیه صبر کن – ببین متن رو نشون میده یا نه و بعد بی خیال بشو.

  16. Avatar

    مهمان

    سعید

    سلام داداش ممنونم از همه مطالب عالیت واقعا عالی هستی یه سوال داشتم میشه این قسمت را هم توضیح بدی مخصوصا برای کد هگزش و این دستوری که حالت کتابخونه داره
    #asm
    .equ __lcd_port=0x1B ;PORTA
    #endasm

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

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

      مهدی دمرچیلو

      سلام
      این قسمت به زبون اسمبلی هستش…منم اسمبلی بلد نیست…..و در ضمن این نحوه تعیین و فرمول تعیین پورت تو این کتابخونه از lcd رو من هنوزم نفهمیدم…..

      • Avatar

        مهمان

        سعید

        آخه راستش منم وقتی کد مینوشتم برای lcd مشکل همین دوستانی را داشتم که پایین نظر گذاشتند و کاراکترها یا نشون نمیداد و یا در هم بر هم بودش و اون متن خودم نبود ولی برنامه ی شما را که کپی پیست کردم مشکل حل شد البته من با کد ویزارد پورتمو تعیین میکردم که این نوشته اسمبلی نبودش گفتم شاید مشکلم از همینجا بوده

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

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

          مهدی دمرچیلو

          شما از کتابخوه alc فک کنم استفاده میکنی….فک نکنم کتابخونش مشل داشته باشه
          شاید رو portc نمایشگر رو میبستی و jtag رو غیر فعال نمیکردی

  17. Avatar

    مهمان

    محمد

    سلام،باتری ندارم از منبع تغذیه استفاده میکنم.احتمال داره نیم سوز شده باشه??

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

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

      مهدی دمرچیلو

      سلام
      والا دیگه نمیدونم چی بگم…

  18. Avatar

    مهمان

    محمد

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

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

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

      مهدی دمرچیلو

      سلام
      باتری رو عوض کن

  19. Avatar

    مهمان

    محمد

    اقا مهدی ولتاژ رو که از رگولاتور ۷۸۰۵ میگیرم درسته،اتصالات رو هم چک کردم ،میکرو هم سالمه،نمیدونم مشکل از کجاست.

  20. Avatar

    مهمان

    محمد

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

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

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

      مهدی دمرچیلو

      سلام
      ۱) ولتاژ lcd پنج ولت نیستش
      ۲) اتصالات اشتباه

  21. Avatar

    نویسنده سایت

    amir021

    shock
    sorry

  22. Avatar

    نویسنده سایت

    amir021

    براش یا براشلس
    لینک زیر رو بخون
    http://aryanelectro.blogfa.com/post/6
    مثلا موتور هارد دیسک

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

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

      مهدی دمرچیلو

      براشلس رو تقریبا میدونم چیه…ولی براشیل رو نه….
      بگذریم….

  23. Avatar

    مهمان

    علیرضا

    با سلام و تشکر از سایت پر محتوای شما
    من طبق گفته های شما مدار رو بستم
    ولی هر کاری کردم متنی نمایش داده نشد و بجای آن دوخط پر از کارکتر مربع نمایش داده شد
    در ضمن من از ولتاز 5.5 که توسط مازول یوی اس بی که در قسمت اتصال به HC-5 شما استفاده کرده استفاده کردم good help
    در صورت امکان فیلمی از مراحل بستن مدار (همانند HC-05) قرار دهید
    باتشکر

  24. Avatar

    مهمان

    ali

    5 ولت رو از کجا بیارم……
    3تا باتری وصل میکنی میشه4.5ولت
    4تا وصل میکنی میشه 6ولت
    این وسط واقعا نمیدونم چه ترفندی داره ک تو میگی 5ولت بزنم
    یعنی واقعا نمیدونم laugh good laugh

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

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

      مهدی دمرچیلو

      از رگولاتور ۵ ولت استفاده کن…. blum
      (فک کنم اگه)ولتاژ بالای ۶ بهش بدی…..۵ ولت بهت میده buba
      rofl rofl rofl rofl rofl

  25. Avatar

    مهمان

    ali

    ال سی دی روشن میشه ولی متن نشون نمیده
    برنامه بسکام کاملا درست هست چون تو پروتوس متنو نشون داد
    میکروی خودم رو شک دارم سالم باشه..
    اتصالات همونایی هستند ک خودتون دادید و چند بار چک هم کردم
    قطعی هم وجود نداره
    ولتاژ مدار 6ولت هست..از 4تا باتری 1.5ولت استفاده کردم
    احتمالا مشکل از خود میکرو هست..چون وقتی ال سی دی روشن شد..میکرو رو کندم دیدم ک همون جوری داره کار میکنه
    بالاخره اگه شما تو این مدت اذیت شدید شرمندت شدم..

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

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

      مهدی دمرچیلو

      برای دهمین بار laugh
      ۱) ولتاژ مدار باید ۵ ولت باشه….
      ۲) اگه میکرو پروگرام بشه یعنی سالمه
      LCD رو عوض کن ببین درست میشه….

  26. Avatar

    مهمان

    ali

    داداش این پایه هارو جوری ک خودت گفتی بستم بازم ال سی دی متن نشون نداد
    میکرو رو عوض کردم بازم نشون نداد
    دیگه واقعا ب هر کی نشون دادم توش موند…..
    میشه خودت ی مدار با ال سی دی ببندی و تست کنی و بم ایمیل کنی

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

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

      مهدی دمرچیلو

      الان دانشگو هستم……
      ۱) lcd سوخته…
      ۲) برنامه ی بسکامت اشتباه هست
      ۳) میکرو سوخته
      ۴) اتصالات اشتباه هستش.
      ۵) تو اتصالات قطعی وجود داره
      ۶) ولتاژ مدار ۵ ولت نیست

  27. Avatar

    مهمان

    ali

    دمد گرم laugh

  28. Avatar

    مهمان

    ali

    داداش تو خودت کدوم پایه هارو زدی که LCDمتن رو نشون داد…پروگرمر هم جورشد
    3تاLEDهم هست….اگه میتونی بهم بگو ک ب کدوم پایه ها وصل کنم
    این پروژه رو تا 20دی باید ب استاد تحویل بدم…
    دمد گرم…اگه تونستی خودتم ی تست بکن

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

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

      مهدی دمرچیلو

      گفتم بهت که….

  29. Avatar

    مهمان

    ali

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

  30. Avatar

    مهمان

    ali

    داش من که پروگرمر ندارم هی فرطو فرط پایه هارو عوض کنم
    ولی پایه هایی که ب GND یا VCCوصل هستند رو درست میکنم

  31. Avatar

    مهمان

    ali

    خااااااااااا
    اشتباه لپی بود laugh
    اینم لینک عکس
    http://s5.picofile.com/file/8159020500/%DB%B2%DB%B0%DB%B1%DB%B4%DB%B1%DB%B2%DB%B2%DB%B3_%DB%B1%DB%B0%DB%B1%DB%B0%DB%B4%DB%B1.jpg
    پایه یازدهم =porta.0
    پایه دوازدهم=porta.1
    پایه سیزدهم=porta.2
    پایه چهاردهم=porta.3
    پایه پانزدهم=VCC
    پایه شانزدهم=GND
    پایه سوم=مولتی ترن
    پایه چهارم=porta.4
    پایه پنجم=GND
    پایه ششم=porta.5
    پایه 10میکرو=VCC
    پایه11 میکرو=GND
    این تموم پایه هایی بود که وصل کرده بودم

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

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

      مهدی دمرچیلو

      اشتباه بستی فک کنم…..
      تو سایت چند تا مدار مربوط به lcd رو ببین میفهمی….یه اشتباه کوچولو کردی…..
      در ضمن ولتاژ lcd باید ۵ ولت باشه….
      پایه های lcd (شونزده تا پایه داره)
      ۱ و ۳ و ۱۶ : زمین
      ۲ و ۱۵ : ۵ ولت
      ۴ به porta.0
      ۵ به porta.1
      ۶ به porta.2
      ۱۱ به porta.4
      ۱۲ به porta.5
      ۱۳ به porta.6
      ۱۴ به porta.7
      اگه بازم درست نشد تست کن ببین میکروت سالمه یا نه……

  32. Avatar

    مهمان

    ali

    چشم….فردا برات میفرستم

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

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

      مهدی دمرچیلو

      الان فک کنم جز فردا حساب بشه laugh
      ساعت ۲٫۵ شب هستش…یعنی فردا rofl
      از شوخی بگریم…..
      باشه منتظرم……..
      فعلا من برم سراغ ادامه ی فیلم blush

  33. Avatar

    مهمان

    ali

    داداش سلام
    من دانشجوی ترم یک برقم.با Bascam avr کار میکنم
    من با بسکام برنامه نوشتم و با پروتوسم امتحان کردم LCD کاملا کار کرد و هر چی دلم خواست برام نشون داد ولی تو مدار عملی LCDکاراکتری فقط روشن میشه و هیچ متنی رو نمینویسه
    خواهش میکنم کمکم کن باید تا اخر دی پروژه رو ب استاد تحویل بدم good

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

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

      مهدی دمرچیلو

      سلام
      به احتمال ۱۰۲% مدار مربوط به lcd رو اشتباه بستی یا اتصالات درست برقرار نشده…..کل lcd روشن میشه(مخصوصا خط اول) و چیزی توش نشون داده نمیشه……اگه خواستی عکس مدارت رو بده ببینم…در عمل