آموزش PICآموزش الکترونیک

آموزش نمایش شکل های خاص در ال سی دی کاراکتری ( کد کاراکتر خاص LCD PIC )

سلام. آموزش نمایش شکل های خاص در ال سی دی کاراکتری ( کد کاراکتر های خاص LCD PIC ) را آماده کردیم.

آموزش نمایش شکل های خاص در ال سی دی کاراکتری

آموزش نمایش شکل های خاص در ال سی دی کاراکتری

در این مطلب ما میخواهیم نحوه ساخت کاراکتر ها و شکل های خاص برای نمایش در ال سی دی کاراکتری را به شما آموزش دهیم. این آموزش در کامپایلر MPLABX برای میکروکنترلر PIC انجام شده است اما مفهوم آن را یاد میگیرید و میتوانید برای بقیه میکروکنترلر ها استفاده کنید. حتی شما میتوانید با صبر حوصله از ال سی دی کاراکتری مثل یک ال سی دی گرافیکی استفاده کنید و حتی یک انیمیشن ساده و کوتاه بسازید.

همانطور که می دانیم هر کاراکتر در LCD ترکیبی از 5*8 نقطه است. ما باید انتخاب کنیم که کدام نقطه (پیکسل) در یک کاراکتر روشن باشد و کدام یک خاموش. تصویر زیر که کاراکتر قلب است به درک شما از نحوه ساخت کاراکتر کمک میکند.

ایجاد شکل قلب در ال سی دی کاراکتری

همانطور که در تصویر بالا که شکل قلب را نشان میدهد میبینید این کاراکتر از 8 ردیف و 5 ستون تشکیل شده است. برای هر ردیف ما یک کد باینری داریم. و برای هر کاراکتر خاص 8 کد باینری داریم که آن شکل را میسازند. کد باینری از 7 بخش تشکیل شده است. دو بخش سمت چپ آن یکسان است یعنی 0b. پنج بخش دیگر به ما توانایی کنترل پیکسل های یک کاراکتر را میدهد. برای روشن کردن یک نقطه در کاراکتر ما باید مقدار آن نقطه را 1 قرار دهیم و برای خاموش کردن یک نقطه برای آن مقدار 0 را قرار دهیم.

مثلا به کاراکتر پایین که شکل آدمک را نشان میدهد توجه کنید :

کاراکتر آدمک در ال سی دی کاراکتری

همانطور که در تصویر پیداست، ما در ردیف اول سه نقطه میانی را روشن کردیم. پس کد ما میشود 0b1110. این سه عدد 111 باعث روشن شدن سه نقطه میانی در ردیف اول کاراکتر ما میشوند. ردیف دوم هم به همین صورت است. در ردیف سوم فقط یک نقطه میانی روشن است پس کد باینری این قسمت میشود 0b00100. در ردیف چهارم مانند ردیف اول و دوم سه نقطه میانی روشن است. در ردیف پنجم نقطه ها یکی در میان خاموش هستند یعنی کد ما میشود 0b111. در ردیف ششم مانند ردیف سوم فقط نقطه میانی روشن است. در ردیف هفتم و هشتم نقطه ها یکی در میان روشن هستند یعنی کد آن میشود 0b110.

حتما ببینید :  آموزش ساخت وب سرور با رزبری پای (سایت وردپرس با Raspberry pi)

برای درک بهتر کاراکتر لبخند که تصویر آن در پایین آورده شده است را نیز توضیح میدهم.

آموزش ایجاد کاراکتر لبخند در LCD کاراکتری

به تصویر بالا توجه کنید. ردیف اول و دوم نقطه روشنی ندارند پس کد باینری آن ها میشود 0b00000. در ردیف سوم نقطه ها یکی در میان روشن هستند یعنی کد آن میشود 0b110. در ردیف چهارم و پنجم فقط نقطه میانی روشن است و کد باینری این دو ردیف میشود 0b00100. در ردیف ششم فقط نقطه اول و آخر روشن هستند یعنی کد آن میشود 0b10001. در ردیف هفتم سه نقطه میانی روشن هستند یعنی کد این ردیف میشود 0b1110. در ردیف آخر هم مانند ردیف اول و دوم هیچ نقطه روشنی نداریم.

تعدادی از کاراکتر های خاص دیگر را آماده کردیم و کد آن ها را برای استفاده در پایین صفحه قرار داده ایم.

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

کد کاراکتر های خاص LCD PIC

همانطور که در تصویر های بالا دیدید هر کاراکتر از 8 کد باینری تشکیل شده است. ما باید همه این 8 کد را به یکدیگر متصل کنیم اما چگونه ؟

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

به طور مثال برای کاراکتر آدمک ما باید این 8 کد باینری را کنار هم قرار دهیم مانند کد زیر :

0b01110,0b01110,0b00100,0b01110,0b10101,0b00100,0b01010,0b01010,

دقت کنید برای هر کاراکتر یک خط باید استفاده کنید.

کد کاراکتر های خاص LCD PIC

تصویر بالا را ببینید ما 8 کاراکتر را در ردیف اول ال سی دی کاراکتری زیر نشان داده ایم. کد این 8 کاراکتر خاص را برای میکروکنترلر تعریف کرده ایم. این کد ها را باید در حافظه CGRAM ذخیره کنیم. این کد را ببینید :

const unsigned short Custom_Char5x8[] = {
  0b01110,0b01110,0b00100,0b01110,0b10101,0b00100,0b01010,0b01010, // کد کاراکتر اول
  0b00000,0b00000,0b01010,0b00100,0b00100,0b10001,0b01110,0b00000, // کد کاراکتر دوم
  0b00100,0b01110,0b11111,0b11111,0b01110,0b01110,0b01010,0b01010, // کد کاراکتر سوم
  0b01110,0b10001,0b10001,0b11111,0b11011,0b11011,0b11111,0b00000, // کد کاراکتر چهارم
  0b01110,0b10000,0b10000,0b11111,0b11011,0b11011,0b11111,0b00000, // کد کاراکتر پنجم
  0b00000,0b10001,0b01010,0b10001,0b00100,0b01110,0b10001,0b00000, // کد کاراکتر ششم
  0b00000,0b00000,0b01010,0b10101,0b10001,0b01110,0b00100,0b00000, // کد کاراکتر هفتم
  0b11111,0b11111,0b10101,0b11011,0b11011,0b11111,0b10001,0b11111  // کد کاراکتر هشتم
};

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

حتما ببینید :  آموزش نصب MQTT روی رزبری پای برای اینترنت اشیا

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

    Lcd_Clear();
Lcd_Set_Cursor(1,1);
Lcd_Print_Char(0); // نشان دادن کاراکتر اول
Lcd_Print_Char(1); // نشان دادن کاراکتر دوم
Lcd_Print_Char(2); // نشان دادن کاراکتر سوم
Lcd_Print_Char(3); // نشان دادن کاراکتر چهارم
Lcd_Print_Char(4); // نشان دادن کاراکتر پنجم
Lcd_Print_Char(5); // نشان دادن کاراکتر ششم
Lcd_Print_Char(6); // نشان دادن کاراکتر هفتم
Lcd_Print_Char(7); // نشان دادن کاراکتر هشتم

کد کاراکتر های خاص برای نمایش در LCD کاراکتری

کد کاراکتر های خاص برای نمایش در LCD کاراکتری

در جدول پایین کد کاراکتر هایی که در تصویر بالا میبینید را آورده ایم میتوانید استفاده کنید. به طور مثال از کاراکتر قفل باز و قفل بسته میتوانید برای پروژه های امنیتی استفاده کنید.

شماره نام کاراکترکد کاراکتر
1آدمک0b01110,0b01110,0b00100,0b01110,0b10101,0b00100,0b01010,0b01010
2لبخند0b00000,0b00000,0b01010,0b00100,0b00100,0b10001,0b01110,0b00000
3فلش رو به بالا0b00100,0b01110,0b11111,0b11111,0b01110,0b01110,0b01010,0b01010
4قفل0b01110,0b10001,0b10001,0b11111,0b11011,0b11011,0b11111,0b00000
5قفل باز شده0b01110,0b10000,0b10000,0b11111,0b11011,0b11011,0b11111,0b00000
6چهره ناراحت0b00000,0b10001,0b01010,0b10001,0b00100,0b01110,0b10001,0b00000
7قلب0b00000,0b00000,0b01010,0b10101,0b10001,0b01110,0b00100,0b00000
8صورت0b11111,0b11111,0b10101,0b11011,0b11011,0b11111,0b10001,0b11111

برای دانلود فایل ها کلیک کنید !

موارد موجود در فایل : فایل سورس کامل ، شماتیک کامل و …

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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

دکمه بازگشت به بالا
بستن
بستن