ايران ويج

نسخه‌ی کامل: Farsi IN 16*2 Chr LCDs
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
چگونه بر روی ال سی دی های کاراکتری 16*2 حروف فارسی و یا .. بنویسیم؟
البته با Bascom

:wink:
ببین یه CGRam داشت تا اونجا که یادمه توی این می شه کارکتر تعریف کنی توی سمپل های Codevision بود فقط مشکلی که هست اینه که بیشتر از 8 تا کارکتر نمی تونی تعریف کنی فکر کنم اگه بیشتر به خوای باید تعریف کنی نمایش بدی و بعد تغییر بدی
تعریف کردنش هم خیلی سخت نیست در واقع یه ماتریس از صفر و یک باید بهش بدی که یک به معنای پیکسل روشن و صفر یعنی خاموش
سلام.
اینی که تو کتاب بسکام علی کاهه اومده اینجوریه.
همانطور که آقا هادی فرمود 8 کاراکتر بیشتر نمیتونید تعریف کنید.
برای اینکار از منوی Tools بخش LCD Designer محیط بسکام شما میتونید 8 کاراکتر مورد نظر خودتون رو بسازید.
بسکام بعد از تولید این کاراکتر کدی مانند کد زیر تولید میشه (توی برنامه نوشته میشه)

DEFLCDCHAR ? , R1, R2, R3, R4, R5, R6, R7, R8
که بجای علامت سوال اول عددی بین 0 تا 7 نوشته میشه و بجای r1 تا r8 کد کاراکتر.

بعد از تولید این کد برای نمایش کاراکتر ساخته شده روی LCD باید

اول صفحه نمایش پاک بشه Cls
بعد با دستور
LCD Chr(?)
l
کاراکتر ساخته شده روی صفحه حک میشه.(بجای علامت سوال عددی بین 0 تا 7 یعنی شماره کاراکتر ساخته شده نوشته میشه).

یک مثال که حرف "ب" را روی السیدی نمایش میده.

Deflcdchar 0, 32, 32, 17, 17, 31, 32, 4, 32
Cls
LCD Chr(0)
End

(این یک تکه کده و برنامه نیست برای اجرا اول باید میکرو و السیدی اینشیالیز بشه).
امیدوارم به دردت خورده باشه.
Iran-PC نوشته است:سلام.
اینی که تو کتاب بسکام علی کاهه اومده اینجوریه.
همانطور که آقا هادی فرمود 8 کاراکتر بیشتر نمیتونید تعریف کنید.
برای اینکار از منوی Tools بخش LCD Designer محیط بسکام شما میتونید 8 کاراکتر مورد نظر خودتون رو بسازید.
بسکام بعد از تولید این کاراکتر کدی مانند کد زیر تولید میشه (توی برنامه نوشته میشه)

DEFLCDCHAR ? , R1, R2, R3, R4, R5, R6, R7, R8
که بجای علامت سوال اول عددی بین 0 تا 7 نوشته میشه و بجای r1 تا r8 کد کاراکتر.

بعد از تولید این کد برای نمایش کاراکتر ساخته شده روی LCD باید

اول صفحه نمایش پاک بشه Cls
بعد با دستور
LCD Chr(?)
l
کاراکتر ساخته شده روی صفحه حک میشه.(بجای علامت سوال عددی بین 0 تا 7 یعنی شماره کاراکتر ساخته شده نوشته میشه).

یک مثال که حرف "ب" را روی السیدی نمایش میده.

Deflcdchar 0, 32, 32, 17, 17, 31, 32, 4, 32
Cls
LCD Chr(0)
End

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


خیلی از راهنماییتون متشکرم!
:wink:

ای ول
بابا دمت گرم Amaze :cry:
نمیشه حروف ژاپنی که توی جدول اسکیش هست رو عوض کنیم . همین کاری که برای فارسی کردن داس انجام می دانند. یعنی حروف بدرد نخور رو عوض می کردند.

میشه؟

lcd هم گرافیکی نباشه
نه دیگه اونا توی حافظه غیر قابل نوشتن هستند بنابراین قابل پاک شدن یا تعویض نیستند
من به زبان c برای pic نوشتم

اول اومدم یه متغیر تعریف کردم
unsigned char pattern1[8]={ 0x0, 0x0, 0x0, 0xE, 0x15, 0x1F, 0x0,0x0 };توی برنامه به این حالت نوشتم:

LCD_build(1,pattern1);
lcd_clear();
lcd_write((char)(0));
که تابع رو اینجوری تعریف کردم:

void
LCD_build(unsigned char location,unsigned char *ptr)
{
unsigned char i;
RS_PIN=0;
DelayMs(45);
if(location<8){
lcd_write(0x40+(location*8));
for(i=0;i<8;i++)
lcd_write(ptr[ i ]);
}
}

و


void
lcd_write(unsigned char c)
{
PORTD=c;
TRISD=0x00;
LCD_STROBE;
Delay10TCYx(4);
}


ولی جواب نمیده نیاز به کمک فوری دارم
صفحه‌ها: 1 2