میکرو لایب

دستورات ال سی دی گرافیکی در کامپایلر کدویژن بخش ۱

یکی از ال سی دی هایی که کامپایلر کدویژن برای آن کتابخانه در نظر گرفته است ال سی دی گرافیکی ks0108 با رزولیشن ۱۲۸x64 می باشد.

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

تابع ۱:

void glcd_display(bool on_off)
این تابع صفحه نمایش صفحه نمایش ال سی دی را فعال و غیر فعال می کند
کاربرد:

فرض کنید یک عکس با رزولیشن ۱۲۸*۶۴ می خواهید روی ال سی دی گرفیکی نمایش دهید هنگام نمایش عکس متوجه سرعت پایین رفرش می شوید که این برای اپراتور دستگاه شاید زیاد جالب نباشد و به نوعی شاید سرعت پایین رفرش در بعضی از موارد به اعتبار شما لطمه وارد کند لذا قبل از نمایش تصویر صفحه نمایش را خاموش می کنید و سپس عکس را نمایش می دهید عکس در رم ال سی دی فرستاده می شود بدون اینکه در صفحه نمایش چیزی مشاهده شود بعد از اینکه عکس در رم ال سی دی کپی شد حال می توانید صفحه نمایش را فعال کنید

تابع دارای یک پارامتر می باشد پارامتر مقدار صفر را برای خاموش کردن صفحه نمایش و مقدار یک را برای فعال کردن صفحه نمایش می پذیرد.

مثال:

تابع ۲:

void glcd_clear(void)
این تابع کل صفحه نمایش را پاک می کند.
مثال:

تابع ۳:

void glcd_putpixel(GLCDX_t x, GLCDY_t y, GLCDCOL_t color)
این تابع یک پیکسل از صفحه نمایش را روشن و یا خاموش می کند
پارامتر اول موقعیت x ، پارامتر دوم موقعیت Y و پارامتر سوم هم تعیین می کند که پیکس موقعیت مشخص شده فعال شود یا غیر فعال که اگر مقدار یک را برای این پارامتر وارد کنی پیکسل روشن و می شود و مقدار صفر هم باعث خاموش شدن پیکسل خواهد شد.
مثال:

تابع ۴:

void glcd_setpixel(GLCDX_t x, GLCDY_t y)
این تابع همانند تابع قبلی یک پیکسل را روشن می کند تفاوت آن با تابع قبلی این است که امکان خاموش شدن پیکسل در این تابع وجود ندارد
مثال:

تابع ۵:

void glcd_clrpixel(GLCDX_t x, GLCDY_t y)
این تابع یک پیکسل را خاموش می کند.
مثال:

تابع ۶:

void glcd_moveto(GLCDX_t x, GLCDY_t y)
این تابع موقعیت مکان نما در ستون x و سطر y تنظیم می کند
مثال:

تابع ۷:

void glcd_setfont(flash unsigned char *font_name)
اگر از فونت دیگری بخواهید استفاده کنید باید فونت را ابتدا در حافظه فلش ذخیره کرده و سپس آن را فراخوانی کنید
مثال:

تابع ۸:

void glcd_settextjustify(unsigned char horiz, unsigned char vert)
با استفاده از این تابع می توانید فاصله و ارتفاع حروف از یکدیگر را کنترل کنید
مثال:

برای درک بهتر عکس زیر را ببینید:

تابع ۹:

void glcd_putcharxy(GLCDX_t x, GLCDY_t y, char c)
این تابع یک حرف را در موقعیت x , y نشان میدهد
پارامتر سوم فقط کد اسکی حرف را می پذیرد
مثال:

عدد ۶۵ همان کد اسکی حرف A می باشد بنابراین در خانه صفر و صفر حرف A بر روی ال سی دی به نمایش درخواهد آمد.

تابع ۱۰:

void glcd_putchar(char c)
این تابع همانند تابع قبلی برای نمایش یک کاراکتر با معادل کد آسکی آن به کار می رود با این تفاوت که امکان تعیین موقعیت مکان نما در این تابع وجود ندارد.
مثال:

تابع ۱۱:

void glcd_outtextxy(GLCDX_t x, GLCDY_t y, char *str)
این تابع مقدار یک آرایه را که در ram ذخیره شده است نمایش می دهد
مثال:

تابع ۱۲:

void glcd_outtextxyf(GLCDX_t x, GLCDY_t y, flash char *str)
همانند تابع قبلی بوده ولی آرایه ای که در حافظه فلش باشد را می پذیرد
مثال:

تابع ۱۳:

void glcd_outtextxye(GLCDX_t x, GLCDY_t y, eeprom char *str)
همانند تابع قبلی بوده با این تفاوت که آرایه ذخیره شده در حافظه eeprom را می پذیرد
مثال:

تابع ۱۴:

unsigned long glcd_putimage(GLCDX_t left, GLCDY_t top, unsigned char *pimg, GLCDBLOCKMODE_t mode)
این تابع عکس ذخیره شده در حافظه RAM را نشان می دهد
پارامتر اول دوم موقعیت مکان نما و پارامتر سوم نام ارایه می باشد
پارامتر چهارم می توانید یکی از چند حالات زیر باشد:
GLCD_PUTCOPY : در صورت استفاده عکس در ram ال سی دی کپی می شود
GLCD_PUTXOR: در صورت استفاده عکس با محتویات فعلی ram ال سی دی XOR می شود
GLCD_PUTOR:  در صورت استفاده عکس با محتویات فعلی ram ال سی دی OR می شود           
GLCD_PUTNOT: در صورت استفاده عکس نگاتیو می شود
GLCD_PUTAND:  در صورت استفاده عکس با محتویات فعلی ram ال سی دی AND می شود 
مثال:

تابع ۱۴:

unsigned long glcd_putimagef(GLCDX_t left, GLCDY_t top, flash unsigned char *pimg, GLCDBLOCKMODE_t mode)
همانند تابع قبلی بوده با این تفاوت که عکس ذخیره شده در حافظه flash را می پذیرد.
مثال:

تابع ۱۵:

unsigned long glcd_putimagee(GLCDX_t left, GLCDY_t top, eeprom unsigned char *pimg, GLCDBLOCKMODE_t mode)
همانند تابع قبلی بوده با این تفاوت که عکس ذخیره شده در حافظه eeprom را می پذیرد.
تابع ۱۶:
unsigned long glcd_putimagex(GLCDX_t left, GLCDY_t top, GLCDMEMADDR_taddr, GLCDBLOCKMODE_t mode)
همانند تابع قبلی بوده با این تفاوت که عکس ذخیره شده در حافظه خارجی را می پذیرد.
نکته:قبل از استفاده از تابع ، حافظه خارجی حتما باید  به میکروکنترلر شناسانده و تعریف شده باشد.
.
.
.
          تهیه و تنظیم :mculibrary.ir

دیدگاه‌ها (4)

*
*

    محمد مهمان مارس 31, 2022 پاسخ

    سلام
    ممنون بسیار مفید بود

      mast3r مدیر کل آوریل 2, 2022 پاسخ

      سلام
      خواهش می کنم و خوشحالیم که براتون مفید واقع شده...

    مهدی مهمان جولای 15, 2022 پاسخ

    سلام بسیار ممنون عالی ومفید بود

      mast3r مدیر کل جولای 15, 2022 پاسخ

      سلام
      خواهش می کنم و خوشحالیم که براتون مفید واقع شده…
      موفق و موید باشید.

question