LCDSTM32

راه اندازی LCD گرافیکی T6963 با STM32

راه اندازی GLCD TOSHIBA T6963 با STM32

5/5 - (48 امتیاز)

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

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

LCD های گرافیکی در ابعاد مختلف ساخته می شود ، ابعاد بر مبنای تعداد پیکسل های بکار رفته در LCD مشخص می شود ، از نمونه های موجود در بازار ابعاد 128×64 , 128×128 , 240×128 از همه پرکاربردتر هستند . در این آموزش به راه اندازی LCD گرافیکی با درایور T6963 در ابعاد 240×128 پیکسل خواهیم پرداخت .

LCD های گرافیکی در دو مد متنی و گرافیکی تولید می شوند . مد متنی یا TEXT یعنی داخل lcd گرافیکی حافظه ای وجود دارد که تمامی فونتهای اسکی (ASCII) درون این حافظه قرار دارد و تنها با چند دستورالعمل می توانیم متن دلخواه خود را بر روی LCD گرافیکی نمایش دهیم .

مد گرافیکی فقط قابلیت نمایش تصاویر با روشن و خاموش کردن پیکسل ها را دارد ، البته می توان فونت کاراکترهای اسکی را توسط نرم افزارهای فونت ساز ایجاد کرد و درون حافظه میکروکنترلر ذخیره نمود و با خاموش و روشن کردن پیکسل ها بر اساس فونت ساخته شده ، متن دلخواه خود را بر روی LCD گرافیکی نمایش داد .

از LCD گرافیکی های موجود در بازار برخی دارای هر دو مد TEXT , GRAPHIC می باشند . LCD گرافیکی با درایور T6963 شرکت توشیبا که در ابعاد 240×128 ساخته شده است دارای هر دو مد متن و گرافیک می باشد . لازم به ذکر است برخلاف lcd گرافیکی t6963 در ابعاد 240×128 که داخل خودش تمام فونتهای ASCII رو داره ،lcd گرافیکی t6963 در ابعاد 128×64 فاقد فونت با مد متنی می باشد .

از مزایای lcd گرافیکی هایی که دارای هر دو مد متن و گرافیک می باشند ، می توان به سرعت بالاتر در رفرش و نمایش متن بر روی lcd گرافیکی و صرفه جویی در حافظه میکروکنترلر اشاره کرد .

از معایب استفاده از lcd گرافیکی دارای مد متن و گرافیک ، می توان به قیمت بالاتر و فونت در یک یا دو سایز کوچک اشاره کرد . البته می توان فونت در سایز و ابعاد مختلف در مد گرافیکی استفاده کنیم ولی فونت های ساخته شده توسط ما باید در حافظه میکروکنترلر ذخیره شوند .

تشریح پایه های LCD گرافیکی T6963

پایه اول یا FG مخفف Frame Ground هست که به بدنه فلزی LCD گرافیکی وصل می شود و برای محیط های نویزی باید به بدنه دستگاه و زمین وصل بشه.
پایه 4 یا پایه Vo که ورودی کنتراست LCD گرافیکی می باشد و  با یک پتانسیومتر 10کیلو اهم از پایه Vout که پایه شماره 19 هست تامین می شود.
پایه 9 پایه RST  است و مخفف RESET می باشد .
پایه 18 یا پایه FS است و مخفف FONT SELECT می باشد . در صورتی که پایه FS به زمین یا 0 منطقی متصل شود ، اندازه یا سایز فونت کاراکترها در مد متن ، LCD گرافیکی برابر 8×8 و اگر پایه FS به Vcc یا 1 منطقی متصل شود ، اندازه یا سایز فونت کاراکترها در مد متن ، LCD گرافیکی برابر 8×6 خواهد شد .

راه اندازی lcd گرافیکی t6963
راه اندازی lcd گرافیکی t6963

راه اندازی LCD گرافیکی توشیبا با درایور T6963 توسط STM32

در این مثال ما از هدر بورد Bluepill که میکروکنترلر بکاررفته در این بورد Stm32f103c8t6 می باشد استفاده شده است .

برای اتصال lcd گرافیکی با درایور t6963 به میکروکنترلر stm32 ، توسط نرم افزار stm32cubemx میکروکنترلر مورد نظر خود را انتخاب نمایید و پایه های دیتا و فرمان lcd گرافیکی t6963 را بدلخواه بر روی پایه های میکروکنترلر تعریف کنید .

نام پین ها حتما باید هم نام پین های تعریف شده در تصویر زیر باشد . در این حالت نیاز به هیچگونه تغییر در فایل کتابخانه نمی باشد  .

پیکربندی t6963 با stm32cubemx
پیکربندی t6963 با stm32cubemx

توابع کتابخانه lcd گرافیکی t6963

void GLCD_Initalize(void);
int  GLCD_Chceck_Status(void);
void GLCD_Write_Command(int command);
void GLCD_Write_Data(int data);
int  GLCD_Read_Data(void);
void GLCD_Clear_Text(void);
void GLCD_Clear_CG(void);
void GLCD_Clear_Graphic(void);
void GLCD_Write_Char(char ch);
void GLCD_Write_String(char * str);
void GLCD_Text_GoTo(int x, int y);
void GLCD_GraphicGoTo(unsigned char x, unsigned char y);
void GLCD_Define_Character(int charCode, int * defChar);
void GLCD_SetPixel(int x, int y, T6963_Color color);
void GLCD_Line(int X1, int Y1,int X2,int Y2, T6963_Color color);
void GLCD_FillRect(int X1, int Y1,int X2,int Y2, T6963_Color color);
void GLCD_InvertRect(int X1, int Y1,int X2,int Y2);
void GLCD_DrawBitmap(const unsigned char *bitmap, unsigned char x, unsigned char y, TShow_Mode mode);

قابلیت کتابخانه lcd گرافیکی t6963 برای stm32

کتابخانه و مثال برای نرم افزارهای STM32CUBEIDE و KEIL
قابلیت نمایش متن و تصویر
دارای فونت فارسی در ابعاد 8*8 و 11*9 , 16*12
پیکربندی پایه های lcd گرافیکی با درایور t6963 توسط STM32CubeMX
سورس کد راه اندازی glcd t6963 در مدهای متنی و گرافیکی توسط توابع HAL
قابلیت نوشتن حروف فارسی با Encoding UTF8 در محیط STM32CubeIDE ، KEIL و نمایش مستقیم بر روی lcd گرافیکی t6963

راه اندازی LCD گرافیکی T6963 با STM32
راه اندازی LCD گرافیکی T6963 با STM32

مطلب پیشنهادی >> راه اندازی LCD گرافیکی با درایور KS108 توسط STM32

نویسنده : حسین غیاثوند
خرید و دانلود در لحظه :

نوشته های مشابه

مشترک شدن
اطلاع رسانی کن
guest
3 دیدگاه
قدیمی ترین
جدیدترین محبوب ترین
بازخورد داخلی
مشاهده همه نظرات