مقالات آموزشی

راه اندازی ال سی دی کارکتری توسط AVR و اتمل استودیو

راه اندازی LCD کارکتری توسط AVR و اتمل استودیو

آموزش راه اندازی نمایشگر ال سی دی کارکتری با میکروکنترلر AVR با کامپایلر استاندارد اتمل استودیو:

همانطور که می دانید استفاده از برد های آماده ای مانند آردیونو و … که به صورت کاملا آماده بوده و متن باز (Open Source) می باشند، روز به روز در حال افزایش می باشد.

راحتی استفاده از زبان برنامه نویسی (C++) در کامپایلر آردیونو و موجود بودن سخت افزار آن و قابلیت نصب انواع سنسور و ماژول و … استفاده از آن را بسیار زیاد نموده است.

اما با تمامی قابلیت ها و راحتی کار و کاربر پسند بودن آن، مشکلات متعددی مانند: تولید حجم بالای کد و پر نمودن حافظه فلش میکروکنترلر، ضعیف نمودن برنامه نویس در مهارت در کد نویسی به دلیل داشتن توابع آماده، کند نمودن سرعت پردازشی میکروکنترلر بدلیل استفاده از توابع متعدد، ضعیف عمل کردن در تایمر ها و وقفه که در صنعت کاربرد فراوان دارند و … استفاده از برنامه نویسی به زبان استاندارد GCC برای کد نویسی تخصصی بسیار بسیار مهم می باشد.

در این آموزش به زبان سی و با استفاده از کامپایلر اتمل استودیو که یک کامپایلر استاندارد GCC می باشد، نحوه راه اندازی و نمایش متن و انواع متغیر در نمایشگر LCD (صفحه نمایش کریستال مایع) آموزش داده خواهد شد.

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

برای مشاهده شبیه سازی برنامه نوشته شده، باید نرم افزار پروتئوس ورژن 8.9 به بالاتر نیز را از قبل نصب کرده باشید. با اجرا کردن فایل شبیه سازی نحوه عملکرد برنامه نوشته شده را مشاهده خواهید کرد.

برای خلاصه سازی آموزش راه اندازی نمایشگر ال سی دی، از اینکه هر پین در نمایشگر ال سی دی چیست، چه کاربری در این سخت افزار (Peripheral) دارد و چگونه عمل می کند، عبور خواهیم کرد. و بیشتر در مورد نحوه استفاده از درایور نوشته شده، برای این سخت افزار توضیح خواهیم داد.

ال سی دی کارکتری چیست؟

ال‌ سی‌ دی کارکتر (LCD) یکی از انواع نمایشگرها است که به طور خاص برای نمایش کاراکترها و اطلاعات متنی طراحی شده است. این نوع نمایشگر به طور معمول در دستگاه‌های الکترونیکی و سیستم‌های مختلف استفاده می‌شود. در زیر توضیحات کاملی در مورد این نوع نمایشگر، قابلیت‌ها و موارد استفاده آن ارائه شده است:

راه اندازی ال سی دی کارکتری توسط AVR و اتمل استودیو

راه اندازی ال سی دی کارکتری توسط AVR و اتمل استودیو

۱. ساختار و ویژگی‌های ال سی دی کارکتری:

نحوه عملکرد: ال‌ سی‌ دی کارکتری از تکنولوژی الکترونیکی مایع (LCD – Liquid Crystal Display) استفاده می‌کند. این صفحه نمایش معمولاً دارای ماتریس‌های پیش‌ساخته است که به کمک ولتاژهای مختلف، کاراکترهای مختلف را نمایش می‌دهد.

سایز های استاندارد: این نمایشگرها معمولاً در اندازه‌هایی مانند 16×2، 20×4 و … در دسترس هستند، که به ترتیب شامل 16 کاراکتر در 2 ردیف یا 20 کاراکتر در 4 ردیف هستند.

نور پس‌زمینه: برخی از مدل‌های LCD کارکتری دارای نور پس‌زمینه LED هستند که به خوانایی بهتر در شرایط نوری مختلف کمک می‌کند.

 

۲. قابلیت‌های LCD کارکتری:

نمایش متن: این نمایشگرها برای نمایش کاراکترهای ASCII (کاراکترهای کمی و عددی) طراحی شده‌اند و قادر به نمایش متن به صورت خطی هستند.

تنظیمات کاراکتر: برخی از مدل‌ها امکان برنامه‌ریزی و تنظیم کاراکترهای خاص و شخصی‌سازی شده را فراهم می‌کنند.

سرعت پاسخ‌دهی: زمان پاسخ‌دهی نمایشگرهای ال‌سی‌دی کارکتری معمولاً سریع است و می‌توانند به سرعت اطلاعات را بروزرسانی کنند.

مصرف انرژی کم: نسبت به بسیاری از دیگر انواع نمایشگرها، LCD کارکتری از انرژی کمتری استفاده می‌کند و برای دستگاه‌هایی که نیاز به کارکرد طولانی‌مدت دارند، مناسب است.

۳. موارد استفاده از ال سی دی های کارکتری:

دستگاه‌های اندازه‌گیری: در ابزارآلات اندازه‌گیری و سنسورها برای نمایش نتایج اندازه‌گیری.

کنترل پنل‌ها: در دستگاه‌های صنعتی و خانگی مانند لوازم خانگی، پنل‌های کنترل و نمایش وضعیت.

سیستم‌های مبتنی بر میکروکنترلر: در پروژه‌های الکترونیکی آموزشی و DIY (خودت بساز) برای نمایش اطلاعات و تعامل با کاربر.

دستگاه‌های پزشکی: در دستگاه‌های نظارتی پزشکی، برای نمایش اطلاعات بیماران.

دستگاه‌های اتوماسیون: در سیستم‌های اتوماسیون صنعتی و تجاری، برای نمایش وضعیت و داده‌های کاربران.

سیستم‌های حسابداری و مالی: برای نشان دادن اطلاعات عددی و مالی، در دستگاه‌های ثبت سفارش و نقاط فروش.

۴. مزایا و معایب استفاده از ال سی دی های کارکتری:

مزایا:

  • کارکرد ساده و آسان

  • هزینه‌ پایین

  • مصرف کم انرژی

  • قابلیت نمایش اطلاعات به صورت خوانا

 

معایب:

  • محدودیت در نمایش تصاویر و گرافیک

  • کیفیت تصویر نسبت به برخی دیگر از نمایشگرها ضعیف‌تر است

  • در شرایط نوری بسیار روشن می‌تواند مشکل‌ساز باشد

 

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

در زیر ابعاد و اندازه نمایشگر ال سی دی 2 در 16 را مشاهده می کنید:

ابعاد و سایز ال سی دی کارکتری

در شکل زیر شماتیک یا فایل شبیه سازی راه اندازی نمایشگر LCD کارکتری با میکروکنترلر Atmega16 را مشاهده می کنید.

راه اندازی ال سی دی کارکتری توسط AVR و اتمل استودیو

به طور کلی برای راه اندازی و درایو کردن نمایشگر LCD کارکتری دو روش وجود خواهد داشت. در روش اول برای راه اندازی نمایشگر، نیاز به 8 پین ورودی-خروجی از میکروکنترلر می باشد. در روش دوم، که بسیار مرسوم تر و کاربردی تر است، تنها از 4 پین میکروکنترلر برای درایو کردن ال سی دی استفاده می شود.

در این آموزش از روش دوم و استفاده از 4 پین برای راه اندازی نمایشگر استفاده خواهیم نمود. پین های RS و RW و EN پین های کنترلری نمایشگر هستند، در حالی که پین های D4 و D5 و D6 و D7 پین های دیتای نمایشی روی صفحه نمایشگر هستند.

پین های استفاده شده نمایشگر LCD و میکروکنترلر  AVRدر زیر آورده شده است:

پین های نمایشگر LCD کارکتری 2 در 16  پین های میکروکنترلر Atmega16
RS PORTA5
RW PORTA6
EN PORTA7
D4 PORTC7
D5 PORTC6
D6 PORTC5
D7 PORTC4

 

در کتابخانه LCD استفاده شده در این پروژه آموزشی، این قابلیت وجود دارد که هر پین از نمایشگر LCD به یک پین دلخواه میکروکنترلر AVR متصل شود.

برای استفاده از کتابخانه LCD اتمل استودیو در پروژه خود از قسمت هدر LCD در برنامه تغئیرات لازم را انجام دهید.

ابتدا فایل lcd.h را باز کنید سپس در قسمت مشخص شده در زیر تنظیمات مربوط به IO در پروژه خود را تنظیم کنید و استفاده نمائید.

توضیح برنامه حلقه اصلی راه اندازی ال سی دی کارکتری توسط AVR و اتمل استودیو:

در زیر برنامه نوشته شده در تابع main آورده شده است. در هر خط از برنامه نوشته شده توضیح (کامنت) نحوه کار آن نوشته شده است.

 

در برنامه نوشته شده در تابع main در حلقه اصلی یک متغیر شمارنده نمایش داده شده که پس از شمارش مقدار آن را درنمایشگر ال سی دی نشان می دهد. در شکل زیر آن را مشاهده می کنید.

AVR_LCD_ATMEL_STUDIO

 

توضیح توابع استفاده شده در کتابخانه LCD اتمل استودیو:

تابع lcd_PutC: برای نمایش یک کارکتر از این تابع استفاده می گردد.

مثال: lcd_PutC(‘M’) این دستور کارکتر M را روی صفحه نمایش چاپ می کند.

تابع lcd_PutS: برای نمایش یک رشته کارکتری موجود در حافظه sram از این تابع استفاده می گردد.

مثال: lcd_PutS(tempStr) اگر متغیر ارایه ای  tempStr = “ABCD”باشد، این دستور رشته ABCD را روی صفحه نمایش چاپ می کند.

تابع lcd_PutLen: برای نمایش تعدادی از یک رشته کارکتری موجود در حافظه sram از این تابع استفاده می گردد.

مثال: lcd_PutLen(tempStr , 3) اگر متغیر ارایه ای tempStr = “ABCDEF” باشد، این دستور رشته ABC را  که سه کلمه اول متغیر tempStr است، روی صفحه نمایش چاپ می کند.

تابع lcd_PutSF: برای نمایش یک رشته کارکتری موجود در حافظه flash از این تابع استفاده می گردد.

مثال: lcd_PutSF(“ABCD”) این دستور به صورت مستیم و بدون نیاز به تعریف هیچگونه متغیری، رشته ABCD را روی نمایشگر چاپ می کند.

 

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

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

 

محمود باقریان

درباره محمود باقریان

مهراد کیت با ۱۵ سال سابقه در زمینه طراحی سیستم های کنترل از راه دور و تولید تجهیزات خانه هوشمند و هر گونه هوشمند سازی توسط مهندسین داخلی آماده ارائه محصولات و خدمات می باشد.

4 دیدگاه در “راه اندازی ال سی دی کارکتری توسط AVR و اتمل استودیو

  1. ارسلان گفت:

    با سلام و تشکر از مطالب بسیار مفیدتون
    از این کتابخونه میشه برای راه اندازی LCD های 4 در 20 یا بالاتر هم استفاده کرد؟؟؟؟

    1. سلام.
      ممنون.
      بله توی تنظیمات lcd.h میتونید مدل ال سی دی رو تنظیم کنید.

  2. احمد رضا گفت:

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

    1. این برنامه توسط کامپایلر اتمل استادیو ورژن 7 ساخته شده. و باید اتمل استادیو خودتون رو آپگرید کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Time limit is exhausted. Please reload the CAPTCHA.