راه اندازی LCD کاراکتری به روش 8 بیتی

آشنایی با LCD کاراکتری

کسانی که با میکروکنترلر کار کردند حتما با LCD کاراکتری هم آشنا هستند. در کامپایلرهای مختلف معمولا کتابخانه های آماده برای استفاده از این نوع نمایشگرها وجود داره. اما اگه قصد داشته باشیم خودمون این نمایشگرها رو راه اندازی کنیم باید چکار کنیم؟ مثلا اگه چه راهی وجود داره اگه بخوایم برای یه میکروکنترلر دارای پردازنده ARM که کتابخونه ای براش نوشته نشده برنامه بنویسیم و خروجیها رو روی LCD کاراکتری نمایش بدیم ؟
در این مطلب نحوه راه اندازی LCD کاراکتری 16x2 توضیح داده شده.

پایه های LCD کاراکتری

عملکرد پایه های LCD کاراکتری از 1 تا 16 در شکل زیر دیده می شن:

lcd pinout

پایه 1 به زمین و پایه 2 معمولا به 5 ولت متصل و کنتراست LCD با اتصال پایه 3 به سر وسط یک پتانسیومتر تنظیم می شه. پایه 4 یا همون RS اگه بالا باشه LCD در حالت داده قرار می گیره، یعنی اطلاعاتی که روی پایه های D0 تا D7 قرار می گیره برای LCD به معنی کد کاراکترهایی هستند که باید نمایش داده بشن. اما اگه پایه RS پایین باشه LCD در حالت دستوری قرار می گیره. یعنی با قراردادن کد مناسب روی پایه های D0 تا D7 می شه دستوراتی مثل پاک کردن صفحه نمایش رو انجام داد.
پایه 5 اگه high باشه LCD در حالت خواندن و اگه low باشه در حالت نوشتن قرار می گیره. اکثرا نیازی به خوندن وضعیت LCD نداریم و معمولا می شه این پایه رو به زمین وصل کنیم.
پایه های 15 و 16 هم به ترتیب پایه تغذیه و زمین LED نور پس زمینه هستند ام باید یه مقاومت مناسب مثلا 390 اهم برای راه اندازی نور پس زمینه استفاده بشه.
راه اندازی LCD کاراکتری در دو حالت 8 بیتی و 4 بیتی امکان پذیره. در مد 4 بیتی فقط پایه های D4 تا D7 مورد استفاده قرار می گیرند.

راه اندازی LCD کاراکتری در حالت 8 بیتی


این حالت نسبت به روش 4 بیتی آسون تره و تعداد دستورات کمتری برای راه اندازی احتیاج داره. بعد از اتصال تغذیه LCD حداقل 100uS صبر می کنیم و بعد مراحل زیر رو انجام می دیم:

1- پایه E رو high می کنیم.
2- پایه RS رو low می کنیم.
3- عدد 0011100 رو روی پایه های D0 تا D7 قرار می دیم. طوری که رقم سمت چپ باید به D7 و رقم سمت راست به D0 اعمال بشه.
4- بعد پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
5- بعد عدد 00001100 رو مثل مرحله 3 روی پایه های داده قرار می دیم.
6- مثل مرحله 4 پایه E رو low و high می کنیم.

با اعمال دستورات بالا LCD آماده کار می شه. اولین دستوری که به LCD داده شد حالت کاری رو مشخص می کنه که در اینجا نمایشگر 2 ردیفی، نحوه اتصال 8 بیتی و فونت 7x5 پیکسلی انتخاب شدند. در واقع هر بیت نشان دهنده یک وضعیت می تونه باشه که با رجوع به دیتاشیت می تونین به راحتی عملکرد هر بیت رو پیدا کنین.
دستور دوم هم نمایشگر رو روشن، cursor رو خاموش و چشمک زن رو هم خاموش می کنه. اگه بخوایم cursor دیده بشه بیت مربوط به D1 رو 1 می کنیم و اگه بخوایم چشمک زن رو هم فعال کنیم بیت مربوط به D0 رو 1 می کنیم.
حالا LCD آماده دریافت اطلاعات از میکروکنترلر هست. برای این کار مراحل زیر رو انجام می دیم.

1- پایه RS رو high می کنیم.
2- کد اسکی کاراکتر دلخواه رو روی پایه های D0 تا D7 قرار می دیم. مثلا برای نمایش حرف K عدد 01001011 رو روی باس داده قرار می دیم.
3- بعد پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.

در این مرحله کاراکتر K روی صفحه نمایش ظاهر می شه.
عیب روش 8 بیتی اینه که مجبوریم 4 پایه میکروکنترلر رو بیشتر از حالت 4 بیتی به LCD متصل کنیم. به همین علت روش راه اندازی LCD کاراکتری به روش 4 بیتی در اینجا به طور کامل توضیح داده شده.


karakit