ال سی دی های کاراکتری در AVR

جلسه پنچم

 

توضیحات تکمیلی:

این نوع LCDها در ابعاد مختلفی ساخته می­ شوند. تعداد سطرهای این نوع LCDها می­ تواند 1، 2 یا 4 باشد و تعداد ستون­ ها می­ تواند 16، 20 یا 40 باشد. در اینجا بیشتر مد نظر نمایشگرهایی با 2 سطر و 16 ستون که پرکاربردترین نوع این نوع نمایشگرها نیز هستند می­ باشد. در شکل بالا نمونه­ ای از این نمایشگرها نشان داده شده است.

 

همانطور که از شکل مشخص است این نمایشگر همزمان می­ تواند 32 کاراکتر مختلف(2 سطر 16 تایی) را نمایش دهد. هر خانه از این نمایشگر که قابلیت نمایش یک کاراکتر را دارد خود از تعدادی پیکسل کوچکتر تشکیل شده است. تصویر بزرگنمایی شده از کاراکتر L را در شکل می­ بینید.

 

توضیحات پایه ها:

 

 پایه شماره 1 و 2 به ترتیب پایه ­های منفی و مثبت تغذیه داخلی نمایشگر است که باید به زمین و 5 ولت تغذیه وصل گردند. پایه شماره 3 پایه کنترل درخشندگی نمایشگر می ­باشد که بین 0 ولت(حداکثر درخشندگی) و 5ولت(حداقل درخشندگی) متغیر می­ باشد. این پایه باید با استفاده از یک پتانسیومتر به ولتاژ مورد نظر وصل گردد. پایه های 15 و 16 به ترتیب پایه­ های مثبت و منفی تغذیه LED پس ­زمینه نمایشگر می ­باشند که اگر بخواهیم نمایشگر به صورت دید­در­شب کار کند باید آن را روشن نماییم.

 

 پایه­ های 7 تا 14 (DB0 تا DB7) پایه ­های داده نمایشگر می­ باشد. کنترلر داخلی نمایشگر از طریق این 7 پایه با میکروکنترلر تبادل داده می­ کند. به عبارتی تمامی تبادل داده ای که بین نمایشگر و میکروکنترلر انجام می شود با استفاده از این پایه ها می باشد. داده ­های دودویی که روی این پایه­ ها قرار می­ گیرند ممکن ­است به دوگونه تعبیر شوند: 1- به صورت دستورالعمل؛ مانند پاک کردن صفحه نمایشگر، روشن کردن نمایشگر، انتقال مکان­ نما به مکان خاص و غیره، 2- داده؛ یعنی همان کاراکترهایی که قرار است نمایش داده شوند. تمایز بین این دو حالت هم توسط پایه شماره 4 تشخیص داده می­ شود. پایه شماره 4 پایه انتخاب رجیستر(RS) می­ باشد.

 

پایه 4 همان پایه RS است که بین دو حالت فوق انتخاب می کند. اگر این پایه را صفر کنیم پایه های 7 تا 14 به عنوان دستورالعمل تلقی می شوند و اگر 1 کنیم به عنوان داده.

 

پایه 5 پایه RW است که اگر آن را 0 کنیم پایه های 7 تا 14 به عنوان ورودی می شوند و از میکروکنترلر داده ای به نمایشگر فرستاده می شود و اگر 1 کنیم پایه های 7 تا 14 به عنوان خروجی شده و داده از نمایشگر خوانده می شود. معمولا خواندن داده از نمایشگر در کاربردهای معمولی مد نظر نیست. بنابراین می توان در خیلی از کارکرد ها آن را به زمین وصل کرد.

 

می ماند پایه 6 یا E. اگر داده روی پایه های 7 تا 14 آماده بوده و پایه های RW و RS هم به درستی مقداردهی شده باشند باز هم داده توسط نمایشگر خوانده نمی شود! چرا؟ چون نمایشگر منتظر می ماند تا یک لبه پایین رونده روی پایه E ایجاد شود. این هم از کاربرد E است.

 

#آموزش

 

توجه❗️:

 

نیازی نیست که کاملا عملکرد هر یک از پایه ها را یاد بگیرین ( البته یاد بگیرین که بهتره )

 

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

 

 

خوشبختانه توابع ال سی دی برای کدویژن وجود داره که کار ما رو خیلی راحت می‌کنه.

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

فقط از پایه D4 تا D7 استفاده میکنیم.

 

 

توابع lcd کاراکتری در کدویژن:

 

 1⃣ lcd_init(column);

 

قبل از هر کار دیگر، هنگامی که نیاز به استفاده از ال سی دی داریم باید این تابع را استفاده نماییم. ورودی این تابع نوع تعداد ستون های ال سی دی مورد استفاده می باشد. به عنوان مثال در این جا ۱۶ می باشد. این تابع ال سی دی را راه اندازی نموده و صفحه ی آن را پاک کرده و نشانگر را به سطر و ستون صفر می برد.

 

2⃣ lcd_clear();

 

این تابع صفحه ی نمایش را پاک کرده و نشانگر را به سطر و ستون ۰ می برد.

 

3⃣ lcd_gotoxy(column,row);

 

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

 

4⃣ lcd_putchar(char);

 

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

 

5⃣ lcd_puts(string);

 

این تابع رشته ی مورد نظر ار روی ال سی دی نمایش می دهد. ورودی این تابع یک رشته می باشد. رشته همان کلمه است. برای مثال "Ali"یک رشته است.