برنامه نویسی LCD کاراکتری در کدویژن AVR
سلام. توابع برنامه نویسی ال سی دی کاراکتری در کدویژن + آموزش استفاده (آموزش AVR #19) را آماده کردیم.
راه اندازی ال سی دی کاراکتری با میکروکنترلر AVR
در قسمت قبلی آموزش ما به طور کامل با استفاده از مد CTC در تایمر کانتر یک در میکروکنترلر AVR آشنا شدیم. پیشنهاد میکنیم قسمت های قبلی آموزش AVR را بخوانید و سپس به این قسمت بیایید :
قسمت قبل : برنامه نویسی تایمر / کانتر یک در مود CTC
در این قسمت ما به طور کامل با توابع ال سی دی کاراکتری در کدویژن آشنا میشویم تا بتوانیم LCD کاراکتری را با استفاده از کامپایلر Codevision و میکروکنترلر های AVR راه اندازی کنیم. برویم سراغ توابع !
برای اتصال و راه اندازی ال سی دی کاراکتری به میکروکنترلر AVR باید از توابع زیر استفاده کنید. تابع زیر برای فراخوانی کتابخانه ال سی دی استفاده میشود.
lcd.h
در این کتابخانه 11 تابع وجود دارد که همه آن ها را معرفی میکنیم. توابع این کتابخانه به دو دسته تقسیم میشوند. 4 تابع سطح پایین و 7 تابع سطح بالا هستند.
-
توابع سطح پایین: این توابع ارتباط زیادی با سخت افزار دارند و برنامه نویسی آن ها بیشتر به زبان ماشین شبیه است.
-
توابع سطح بالا: این توابع ارتباط کمتری با سخت افزار دارند و برنامه نویسی آن ها ساده تر است.
توابع پایین خیلی عجیب غریب هستند اما نگران نباشید. زیرا ما از همه ی این توابع استفاده نمیکنیم. ما اغلب از توابع سطح بالا استفاده میکنیم زیرا توابع سطح پایین برای استفاده از کاراکتر ویژه و … استفاده میشود.
توابع سطح پایین برنامه نویسی LCD کاراکتری در کدویژن
در اینجا توابع سطح پایین را معرفی میکنیم.
1. با نوشتن این تابع در برنامه، میکروکنترلر منتظر آماده شدن ال سی دی کاراکتری برای دریافت اطلاعات میشود.
void _lcd_ready(void);
2. وظیفه ی این تابع دادن مقدار به رجیستر درون ال سی دی می باشد یعنی برای تنظیم کردن LCD استفاده میشود.
void _lcd_write_data(unsigned char data);
3. این تابع اطلاعات را در آدرس مشخص شده در حافظه LCD وارد میکند.
void lcd_write_byte(unsigned char addr, unsigned char data);
4. این تابع اطلاعات درون آدرس مشخص از حافظه LCD را میخواند.
unsigned char lcd_read_byte(unsigned char addr);
توابع سطح بالا برنامه نویسی LCD کاراکتری در کدویژن
در اینجا توابع سطح بالا را معرفی میکنیم.
5. این تابع مکان نمای LCD را به ستون x و سطر y منتقل میکند.
void lcd_gotoxy(unsigned char x, unsigned char y);
6. این تابع صفحه نمایش را پاک کرده و مکان نما به سطر صفر و ستون صفر منتقل میشود.
void lcd_clear(void);
7. این تابع کاراکتر “c” (در اینجا اسم متغیر c تعریف شده است) را بر روی نمایشگر LCD نمایش میدهد.
void lcd_putchar(char c);
8. این تابع رشته str (اسم متغیر str تعریف شده) را که در حافظه SRAM ذخیره شده است بر روی LCD نمایش میدهد.
void lcd_puts(char *str);
9. این تابع رشته str که در حافظه FLASH وجود دارد رو روی ال سی دی نمایش داده میشود.
void lcd_putsf(char flash *str);
10. این تابع جهت پیکربندی LCD مورد استفاده قرار میگیرد، صفحه نمایش را پاک میکند و مکان نما را به سطر صفر و ستون صفر منتقل میکند. ورودی این تابع تعداد ستون های LCD مورد استفاده ما را مشخص میکند. خروجی این تابع هم در صورتیکه LCD ای وجود داشته باشد 1 را برمیگرداند.
unsigned char lcd_init(unsigned char lcd_columns);
11. این تابع بایت کنترلی را در LCD مینویسد.
void lcd_control (unsigned char control);
این قسمت آموزش AVR هم تمام شد در قسمت بعدی به طور کامل با مد PWM آشنا خواهیم شد.
قسمت بعد : بزودی …
سلام و روزبخیر
من در کد ویژن کلمه علی را نوشتم و میخواهم از چپ به راست حرکت کنه و 3 مرتبه تکرار بشه.
کلمه ظاهر میشود در LCD ولی 3 مرتبه تکرار نمیشه.میشه لطفا کمکم کنید…