*کار با ال سی دی گرافیکی
هدف پروژه: آشنایی با صفحه LCD و کار با کتابخانه آن. این روند به شرح زیر است: ما شکل ها و متن را با استفاده از توابع کتابخانه گرافیکی LCD نمایش می دهیم.
سخت افزار مورد استفاده: در این مقاله از تابلوی آموزش Avr Naminik مستقر در ATMEGA32 استفاده می کنیم. در صفحه ، سر 20 برای صفحه نمایش گرافیکی LCD طراحی شده است. این سربرگ شامل پین های 0 تا 5 از پورت d و کل پورت c است. در مجموع 14 پین. این مثال با تمام صفحه های LCD گرافیکی کار می کند که با تراشه ks0108b قابل کار هستند. به عبارت ساده ، همان مانیتور LCD در بازار! به عنوان مثال ، ال سی دی LG128643 یا TSM12864E. این تراشه (ks0108b) توسط بسیاری از صفحه نمایش های LCD کپی شده شناخته شده و مورد استفاده قرار می گیرد و بیشتر برای تنظیم صفحه نمایش ال سی دی 128 ماتریس در 64 نقطه استفاده می شود.
کتابخانه های مورد استفاده: کتابخانه های جدید دو کتابخانه در خط 8 و 12 هستند. کتابخانه glcd.h توابع را برای کارکردن آسان LCD مشخص می کند ، و کتابخانه فونت font5x7.h برای نمایش کاراکترها استفاده می شود. توجه داشته باشید که صفحه نمایش های گرافیکی LCD مانند صفحه نمایش های LCD شخصی نیستند و خطی در حافظه آنها ندارند. در این مثال ما از یک فونت ساده استفاده کردیم که هر حرف را در مستطیل 5 x 7 نشان می دهد شما می توانید با استفاده از کتابخانه های قلم Codwijan یا کتابخانه های دو فرمت آنلاین ، از هر فونت در صفحه LCD استفاده کنید.
توضیحات کد: برای شروع ، باید نمونه ای از ساختمان با نام GLCDINIT_t را تعریف کنیم. ما این مثال را glcd_init_data (خط 36) نامیدیم. ماموریت این ساختمان حفظ تنظیمات اصلی برای تنظیم صفحه LCD است. اکنون ویژگی قلم glcd_init_data را روی font5x7 (خط 57) تنظیم کنید. خط 60 و خط 63 دو ویژگی ساختمان GLCDINIT_t را نشان می دهد. اول خواندن اطلاعات از حافظه خارجی در ابتدا و دوم نوشتن در حافظه خارجی. هر دو این ویژگیها برابر با صفر ارائه شده اند. اما در صورت نیاز به انجام این کار ، خطوط 16 تا 30 دو عملکرد را مشخص می کنند که آرگومان نوع ساخت GLCDMEMADADRR_t را در بر می گیرد. این دو عملکرد به جای تهی قرار می گیرند.
حال با فراخوانی تابع glcd_init روی خط 65 ، ما در حال عبور از ساختمان glcd_lnit_data که تنظیم شده ایم. عملکرد glcd_clear در خط 67 کل صفحه را پاک می کند. Glcd_outtextxyf متن را از یک سایت خاص نشان می دهد. در خط 69 ، این عملکرد urin Naminik را از 20 مختصات (طول) و 20 ثانیه (عرض) نمایش می دهد. برنامه ما به اینجا خاتمه می یابد ، اما تعدادی عملکرد دیگر نیز وجود دارد. شامل:
تابع Vcd glcd_setfont (ساختار * فونت *): پس از جاسازی فونت مورد نظر خود ، نام فونت مشخص شده را به این عملکرد منتقل کنید. به عنوان مثال ، برای کتابخانه arial_bold14.h ، نام arial_bold14 را به عملکرد منتقل کنید. این عملکرد را می توان در هر جایی بعد از عملکرد glcd_init فراخوانی کرد.
تابعglcd_line void (int x_start، int y_start، int x_end، int y_end): این عملکرد یک خط را در مختصات مشخص ترسیم می کند. دو نقطه اول مختصات شروع و دو نقطه بعدی مختصات خط پایان است.
تابع glcd_setlinestyle نامعتبر (int pixel_size ، int line_style): این تابع فقط برای گرافیک در نظر گرفته شده است نه متن. پست قبلی یک خط مداوم با قطر 1 پیکسل ترسیم کرد. اگر می خواهید یک خط ، دایره ، چند ضلعی یا چیز دیگری بکشید ، می توانید از این عملکرد برای مشخص کردن قطر و نوع خطوط مانند نقطه استفاده کنید. با فراخوانی این عملکرد ، تنظیمات باقی می ماند تا زمانی که دوباره در طول برنامه آنرا صدا کنید. همچنین برای متغیر تابع دوم ، تعدادی تعریف وجود دارد ، مانند GLCD_LINE_DOT_SMALL ، GLCD_LINE_DOT_LARGE ، GKCD_LINE_SOLID و غیره ، که ساختار خط را تعریف می کند.
Void setcolor (int pixel_color) و توابع setbkcolor (int back_color) خالی است: این صفحه نمایش های LCD از دو رنگ تجاوز نمی کنند. سیاه و سفید. آرگومان های هر دو عملکرد فقط مقدار 1 یا صفر را می پذیرند. 1 به معنی سیاه ، زرد به معنی سفید است. عملکرد اول رنگ پیکسل های ترسیم شده را تغییر می دهد و عملکرد دوم کل رنگ پس زمینه را تغییر می دهد. این دو عملکرد معمولاً با هم خوانده می شوند.
توابع glcd_rectrel ، glcd_circle ، glcd_arc ، glcd_rectround ، glcd_getimagee و glcd_putimagee: تابع اول مستطیل را ترسیم می کند و دارای 4 آرگومان است که اولین مختصات شروع و دومین مختصات انتهای مستطیل است. عملکرد دوم یک دایره رسم می کند و 3 آرگومان دارد. دو مورد اول مختصات مرکز دایره و سوم شعاع دایره است. عملکرد سوم قوس را ترسیم می کند و 5 آرگون دارد. 4 اولین استدلال نقاط شروع و پایان قوس و آخرین آرگومان شعاع منحنی که بین دو نقطه خاص کشیده شده است. عملکرد سوم همان عملکرد اول است ، یک مستطیل را با زاویه دایره ای ترسیم می کند. این یک آرگون اضافی دارد که شعاع گوشه ها را تعیین می کند. عملکرد بعدی تصویر بخشی از صفحه را در حافظه نگه می دارد و دارای 5 آرگومان است. با استفاده از چهار آرگومان اول ، مختصات مستطیلی صفحه را برای ذخیره کردن تعریف می کنیم. آخرین آرگومان نام یک آرایه متغیر از حروف بدون حروف است که در آن تصویر ذخیره می شود. اگر می خواهید تصویر را در حافظه خارجی ذخیره کنید ، به ابتدای مقاله مراجعه کنید. آخرین کار از حافظه داخلی یا خارجی تصویر می گیرد و آن را در صفحه نشان می دهد و این عملکرد دارای 4 حالت است. دو آرگومان اول مختصات شروع است که از آن تصویر نمایش داده می شود. آرگومان دوم نام متغیری است که در آن تصویر ذخیره می شود و آرگومان سوم مشخص می کند که تصویر در حال بارگذاری منفی است.