برگزیده های پرشین تولز

نوشتن فارسي روي lcd 2*16

pcb

کاربر تازه وارد
تاریخ عضویت
21 می 2006
نوشته‌ها
12
لایک‌ها
0
اگه كسي اطلا عاتي داره لطفا كمك كند:(
 

chia

Registered User
تاریخ عضویت
18 ژانویه 2006
نوشته‌ها
243
لایک‌ها
2
محل سکونت
تو موتور خونه ي جهنم
سلام

در ال سي دي هاي 2 در 16 فقط 8 كاراكتر به صورت دستي ساخته ميشه

اما واسه فارسي نوشتن شما به كاراكتر هاي بيشتري نياز داريد

اين كار بر روي ال سي دي هاي گرافيكي امكانپذير است

ماژول فارسي ساز ال سي دي گرافيكي رو ميتوني تو جمهوري پاساژ عباسيان جوان الكترونيك تهيه كني
 

pcb

کاربر تازه وارد
تاریخ عضویت
21 می 2006
نوشته‌ها
12
لایک‌ها
0
دوست عزيز من اين ميدانم
اما در اينlcd ها مي توان با دادن كد اي 8 بيتي
براي انها تعريف كرد .من دنبال كدهاي ان ميگردم كه چه طور براي ان كاراكتر تعريف كنم
كه فقط در بعضي از datasheet ها ي lcd هاست ....
اگر شما ان را داريد لطفا در اختيار بنده هم بگزاريد
با تشكر
 

chia

Registered User
تاریخ عضویت
18 ژانویه 2006
نوشته‌ها
243
لایک‌ها
2
محل سکونت
تو موتور خونه ي جهنم
او بله

من اين كدها رو در pic و avr ميدونم اگه خواستي برات ميگم

بستگي دره شما با چه ميكرو كنترلر و چه زباني كار بكنيد
 

ErfanEa

کاربر فعال برق و الکترونیک
کاربر فعال
تاریخ عضویت
9 می 2005
نوشته‌ها
811
لایک‌ها
10
سن
36
محل سکونت
Lost Heaven
درسته ولی همونطور که چیا جان توضیح دادن فقط میتونین 8 تا کاراکتر تعریف کنین و در آن واحد حداکثر 8 کاراکتر روی LCD میتونین نمایش بدین .
یه راه هست که میشه تعداد بیشتری کاراکتر رو روی LCD نشون داد که بستگی به کانتراست و منحنیه زمان پاسخ LCD داره به این ترتیب که LCD رو وارد یه لوپ میکنی که این لوپ مدام تکرار میشه و در هر بار 8 کاراکتر نشون داده بشه . این عمل اگه با سرعت تکرار بشه و کنتراست بالا باشه با چشم تشخیص داده نمیشه . ولی در هر صورت زیاد جالب نمیشه .
 

ghasedak2716

کاربر تازه وارد
تاریخ عضویت
27 ژوئن 2009
نوشته‌ها
2
لایک‌ها
0
ببخشیدا ولی من تو نوشتن همین هشت کاراکتر هم موندم
اول اومدم یه متغیر تعریف کردم
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);
}​


ولی جواب نمیده نیاز به کمک فوری دارم
 
بالا