راه اندازی lcd کاراکتری در کدویژن جلسه 2

سلام دوباره.

در جلسه قبل تنظیمات lcd رو انجام دادیم و برنامه رو ساختیم.اما هنوز برنامه ای ننوشتیم.

کد ها که ظاهر شدن برید به قسمت While(1) .در این قسمت باید کد هامونو بنویسیم.

در ابتدا می خوایم یه جمله رو روی LCD بنویسیم.مثلا SROBOT WEBLOG .

برای این کار باید اینو بنویسیم.

lcd_putsf(“srobot weblog”);

این تابع هر چی رو که بخواین روی lcd نشون می ده.البته عبارت باید بین دو تا کوتیشن قرار بگیره(shift+’)

حالا برنامه رو کامپایل می کنیم و می بریم شبیه سازیش می کنیم.

 

 

 

 

 

می بینید که یه چیزایی توی lcd همین جور به نمایش در می یان و رد میشن.اشکال کار ما در اینجاست که داریم همین طور روی lcd می نویسیم و lcd هم اونارو پشت سر هم نشون می ده.

برای رفع این مشکل باید هر بار lcd رو پاک کنیم و دوباره بنویسیم.

برای این کار یه دونه تابع دیگه باید به برنامه قبلی اضافه کنیم.به این شکل:

lcd_clear();

این تابع lcd رو پاک می کنه.

حالا دوباره برنامه رو اجرا کنید.

 

 

 

 

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

توابع دیگر کار با lcd :

1-lcd_write_byte(unsigned char addr,unsigned char data)

یک بایت data را در آدرس addr می نویسد.(برای نوشتن کاراکتر های دلخواه)

2-lcd_gotoxy(unsigned char x,unsigned char y)

موقعیت را به خانه x,y برای چاپ کاراکتر می برد.مثلا اگر می خواهید در خانه 1,4 بنویسید باید این تابع را به این صورت به کار ببرید:

Lcd_gotoxy(1,4);

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

نکته:اولین ردیف،ردیف 0 و اولین ستون،ستون 0 است.

3-lcd_putchar(char c)

این تابع کاراکتر c را در lcd می نویسد.

4-lcd_puts(char*str)

این تابع یک رشته را روی lcd می نویسد.

این تابع کاربرد گسترده ای دارد.مثلا اگر می خواهید مقدار یک متغیر از نوع عدد صحیح را در lcd بنویسید باید آن را به وسیله تابعی مثل تابع itoa به یک رشته تبدیل کنید و آن را در بنویسید.

مکان نما در lcd:اگر می خواهید یک مکان نما را به صورت خط زیرین چشمک زن در lcd نشان دهید باید از دستور زیر استفاده کنید.

lcd_write_data(0x0e);

برای نشان دادن بلینک: lcd_write_data(0x0d);

جدول کاراکتر های استاندارد