۳۰-شهریور-۱۳۸۵, ۱۸:۴۵:۲۹
صفحهها: 1 2
۳۱-شهریور-۱۳۸۵, ۱۲:۲۰:۲۵
ببین یه 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
(این یک تکه کده و برنامه نیست برای اجرا اول باید میکرو و السیدی اینشیالیز بشه).
امیدوارم به دردت خورده باشه.
اینی که تو کتاب بسکام علی کاهه اومده اینجوریه.
همانطور که آقا هادی فرمود 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:
ای ول
بابا دمت گرم :cry:
۲۵-آذر-۱۳۸۵, ۰۲:۴۴:۵۲
نمیشه حروف ژاپنی که توی جدول اسکیش هست رو عوض کنیم . همین کاری که برای فارسی کردن داس انجام می دانند. یعنی حروف بدرد نخور رو عوض می کردند.
میشه؟
lcd هم گرافیکی نباشه
میشه؟
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);
}
ولی جواب نمیده نیاز به کمک فوری دارم
اول اومدم یه متغیر تعریف کردم
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