09120786892
atrinelectronic@gmail.com تهران پاساژ امجد طبقه1 واحد 16
دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 (بخش ششم)

دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 (بخش ششم)

2019-01-04 19:42:42

جلسه چهل و هفتم _بررسی دستورات مربوط به ال سی دی گرافیکی در محیط Keil

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

در ابتدا به معرفی توابع مربوط به پوشه GLCD می پردازیم:

(void KS108_Init(Invert_Mode invert

وظیفه پیکربندی و شروع کار GLCD را بر عهده دارد.

 

(void KS108_GotoXY(unsigned char x, unsigned char y

برای مشخص نمودن مختصات نمایش از این دستور استفاده می شود که در آرگومان های ورودی آن باید مختصات X و Y نقطه مورد نظر را قرار می دهیم.

 

(void KS108_SetDot(unsigned char x, unsigned char y, unsigned char color

برای تنظیم یک پیکسل استفاده می شود که دارای سه آرگومان ورودی می باشد و دو آرگومان اول مربوط به مختصات مورد نظر می باشند و آرگومان سوم وضعیت پیکسل را مشخص می کند که می توان پیکسل مورد نظر را روشن یا خاموش نمود.

 

void KS108_FillRect(unsigned char x, unsigned char y, unsigned char width, unsigned char height, unsigned char color

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

 

(void KS108_InvertRect(unsigned char x, unsigned char y, unsigned char width, unsigned char height

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

 

(void KS108_SetInverted(Invert_Mode invert

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

 

(void KS108_DrawBitmap(_const unsigned char *bitmap, unsigned char x, unsigned char y, Show_Mode mode

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

 

()KS108_CLSx

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

 

توابع مربوط به پوشه Graphic به شرح زیر می باشند:

(void Line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, unsigned char color

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

 

(void Rectangle(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, unsigned char color

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

 

void RoundRectangle(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, unsigned char radius, unsigned char fill, unsigned char color

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

 

(void Circle_Fill(unsigned char x, unsigned char y, unsigned char radius, unsigned char fill, unsigned char color

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

توابع مربوط به کتابخانه Font به شرح زیر می باشند:

(void LcdFont(_const unsigned char *pointer

از این تابع برای انتخاب فونت استفاده می شود که نام فونت مورد نظر را در آرگومان ورودی این تابع قرار می دهیم

 

(void SetLetter(Lt_Mode L

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

 

void TextBox(unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2, char *str, unsigned char style

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

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

در صورتیکه برای نوشتن متن فارسی دچار مشکل شدید از منو Edit گزینه Configuration را انتخاب نمایید.

 

با باز شدن پنجره مربوط به آن در سربرگ Editor در قسمت Encoding گزینه Encode in ANSI را انتخاب نمایید

 

پس از انجام این تنظیمات فایل main.c را توسط نرم افزار Notepad++ باز نمایید و از منوی Encoding حالت Encoding in ANSI را انتخاب کنید و متن فارسی مورد نظر خود را تایپ کنید و پس از آن Save نمایید.

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

 

در ابتدا GLCD پیکربندی می شود پس از آن نمایشگر پاک می شود و عکس مورد نظر روی نمایشگر نمایش داده می شود.

 

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

 

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

 

در این قسمت زبان انگلیسی انتخاب می شود و فونت متناسب با آن نیز انتخاب می شود و متن مورد نظر روی نمایشگر نمایش داده می شود و پس از آن زبان فارسی انتخاب می شود و فونت متناسب با آن انتخاب می شود و متن فارسی روی نمایشگر چاپ می شود.

در انتها می توانید شماتیک مربوط به این جلسه و برنامه (keil , STM32CubeMX)  آنرا دانلود نمایید.

 GLCD_128x64_Sample_Code

 GLCD_128x64_Schematic

                                                                                                                                                                 دلتون شاد و لبتون پر خنده

                                                                                                                                                                          محمد هادی دشتی

برای مشاهده آموزش جلسه اول(معرفی هسته آرم و میکروکنترلرهای 32 بیتی شرکت ST  ) کلیک کنید.

برای مشاهده آموزش جلسه دوم( معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام  ) کلیک کنید.

برای مشاهده آموزش جلسه سوم( نحوه دانلود آخرین نسخه از نرم افزار STM32CubeMX   ) کلیک کنید.

برای مشاهده آموزش جلسه چهارم(نحوه انجام تنظیمات در نرم افزار STM32CubeMX  ) کلیک کنید.

برای مشاهده آموزش جلسه پنجم(نحوه برنامه نویسی پروژه چشمک زن با نرم افزار Keil ) کلیک کنید.

برای مشاهده آموزش جلسه ششم(نحوه تولید کد و تنظیمات در محیط STM32CubeMX و برنامه نویسی در محیط Keil برای راه اندازی کلید) کلیک کنید.

برای مشاهده آموزش جلسه هفتم(معرفی نرم افزار STM32 Flash Loader Demonstrator و نحوه دانلود برنامه و پروگرام کردن میکرو) کلیک کنید.

برای مشاهده آموزش جلسه هشتم( نحوه راه اندازی ال سی دی کاراکتری-قسمت اول) کلیک کنید.

برای مشاهده آموزش جلسه نهم( نحوه راه اندازی ال سی دی کاراکتری و آشنایی با دستورات کاربردی کتابخانه ال سی دی کاراکتری ) کلیک کنید.

برای مشاهده آموزش جلسه دهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه یازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش دوم)  ) کلیک کنید.

برای مشاهده آموزش جلسه دوازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه سیزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش دوم)  ) کلیک کنید.

برای مشاهده آموزش جلسه چهاردهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی(جلسه اول) ) کلیک کنید.

برای مشاهده آموزش جلسه پانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه شانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه هفدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه هجدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی کانتر(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه نوزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی کانتر(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیستم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و دوم (دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و پنجم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و ششم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و هفت(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و هشت(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست ونهم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی ام(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش چهارم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی System Tick Timer) کلیک کنید.

برای مشاهده آموزش جلسه سیو دوم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفیSPI (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه سی و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفیSPI (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی SPI (بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و پنج(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد RTC (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه سی و ششم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد RTC (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و هفتم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد Watchdog  (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه سی و هشتم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد Watchdog  (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و نهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی صفحه کلید ماتریسی 4x4 (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه چهلم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی صفحه کلید ماتریسی 4x4 (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه چهل و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی صفحه کلید ماتریسی 4x4 (بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه چهل و دوم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه چهل و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه چهل و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه چهل و پنجم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 (بخش چهارم)) کلیک کنید.

برای مشاهده آموزش جلسه چهل وششم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی ال سی دی گرافیکی 128x64 (بخش پنجم)) کلیک کنید.

 

به سبد خرید اضافه شد.
سبد خرید
Item removed. بازگرداندن