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

راه اندازی LCD کاراکتری به روش 8 بیتی قبلا توضیح داده شد. گفتیم که برای آزاد کردن 4 تا پایه میکروکنترلر می تونیم از روش راه اندازی 4 بیتی استفاده کنیم.
در این روش مراحل راه اندازی اولیه LCD کمی طولانی تره و برای فرستادن کد اسکی به نمایشگر هم به دو مرحله احتیاج داریم. بنابراین این روش از روش 8 بیتی کند تر عمل می کنه اما با توجه به سرعت میکروکنترلرهای امروزی در عمل به مشکلی بر نمی خوریم.

lcd pinout

در روش 4 بیتی پایه های D0 تا D3 استفاده نمی شن و به طور کلی در مدار به جایی متصلشون نمی کنیم. اتصال بقیه پایه ها مثل روش 8 بیتی هست.

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


ابتدا تغذیه LCD رو وصل می کنیم و 100mS صبر می کنیم. بعد مراحل زیر رو به ترتیب انجام می دیم:

1- پایه E رو high می کنیم
2- پایه RS رو low می کنیم
3- عدد 0011 رو روی پایه های D4 تا D7 قرار می دیم. طوری که رقم سمت چپ به D7 و رقم سمت راست به D4 اعمال بشه.
4- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
5- به مدت 50mS صبر می کنیم.
6- عدد 0011 رو روی باس داده قرار می دیم.
7- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
8- به مدت 100uS صبر می کنیم.
9- عدد 0011 رو روی باس داده قرار می دیم.
10- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
11- به مدت 100uS صبر می کنیم.
12- عدد 0010 رو روی باس داده قرار می دیم.
13- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
14- به مدت 100uS صبر می کنیم.
15- عدد 0010 رو روی باس داده قرار می دیم.
16- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
17- عدد 1000 رو روی باس داده قرار می دیم.
18- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
19- به مدت 100uS صبر می کنیم.
20- عدد 0000 رو روی باس داده قرار می دیم.
21- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
22- عدد 1000 رو روی باس داده قرار می دیم.
23- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
24- به مدت 100uS صبر می کنیم.
25- عدد 0000 رو روی باس داده قرار می دیم.
26- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
27- عدد 0001 رو روی باس داده قرار می دیم.
28- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
29- به مدت 3mS صبر می کنیم.
30- عدد 0000 رو روی باس داده قرار می دیم.
31- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
32- عدد 0110 رو روی باس داده قرار می دیم.
33- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
34- به مدت 100uS صبر می کنیم.
35- عدد 0000 رو روی باس داده قرار می دیم.
36- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
37- به مدت 100uS صبر می کنیم.
38- عدد 1100 رو روی باس داده قرار می دیم.
39- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
40- به مدت 100uS صبر می کنیم.

با پایان این مراحل LCD آماده نوشتنه. از ابتدای مرحله 15 تا آخر مرحله 19 مربوط به تنظیم حالت کاری LCD در نمایشگر 2 ردیفی، نحوه اتصال 4 بیتی و فونت 7x5 پیکسلی هست. از ابتدای مرحله 20 تا آخر مرحله 24 صفحه نمایشگر خاموش می شه. از ابتدای مرحله 25 تا آخر مرحله 29 دستور پاک کردن صفحه نمایش صادر می شه. از ابتدای مرحله 30 تا آخر مرحله 34 نحوه افزایش شاخص مکان نما مشخص می شه که در اینجا با تایپ هر کاراکتر یکی به اون اضافه می شه. و بالاخره از ابتدای مرحله 35 تا آخر مرحله 40 نمایشگر روشن می شه، cursor خاموش و چشمک زن هم غیر فعال می شه.
حالا LCD آماده دریافت کد اسکی کاراکترهاست. برای نمایش هر کاراکتر مراحل زیر رو انجام می دیم:

1- پایه RS رو high می کنیم.
2- 4 بیت سمت چپ کد اسکی رو روی باس داده قرار می دیم. مثلا 0100 رو برای حرف K
3- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.
4- 4 بیت سمت راست کد اسکی رو روی باس داده قرار می دیم. مثلا 1011 رو برای حرف K
5- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.

در اینجا اگه همه مراحل درست انجام شده باشه باید حرف K روی LCD ظاهر بشه.


karakit