Jump to content
ELFORUM - Forumul electronistilor

LCD1602-setarea limbii


Guest danutzpanyvino

Recommended Posts

Guest danutzpanyvino

Salut. Mi-am cumparat un display RC1602-LLH-JWV. Am vrut sa afizez un text si am facut montajul. Problema este ca atunci cand afiseaza imi apar caractere din limba japoneza.M-am uitat in datasheetul displayului dar nu am descoperit ceva care sa ma ajute sa imi afizeze caractere normale. Acolo scrie ca jw inseamna english and japanese standard font. Banuiesc ca acuma displayul este facut sa afizeze caractere japoneze. Cum il pot face sa imi afiseze caractere normale(englezesti)? :jytuiyu

Acesta este datasheetul: http://www.tme.eu/ro/Document/9a19f7b62 ... JWV%20.pdf

Link to comment
  • Replies 10
  • Created
  • Last Reply

Top Posters In This Topic

@danutzpanyvino Afișajul nu are nicio setare de limbă. Controlerul are în ROM-ul lui un set de caractere ( maxim 256 ) din care un subset este - de obicei- subsetul LATIN ( nu englezesc ) cu cîteva semne uzuale și caractere speciale iar al doilea subset poate fi japonez, chirilic, chinez, coreean ,arab, etc. Pentru a afișa un carecter i se transmite afișajului un cod - un număr între 0 și 255 . Deci SOFT-ul tău scrie în japoneză ( poate fără să vrea ! ) nu afișajul.

Link to comment
Guest danutzpanyvino

Acesta este softul:sbit LCD_RS at RC7_bit;sbit LCD_EN at RB6_bit;sbit LCD_D4 at RC0_bit;sbit LCD_D5 at RC1_bit;sbit LCD_D6 at RC2_bit;sbit LCD_D7 at RC3_bit;// Pin directionsbit LCD_RS_Direction at TRISC7_bit;sbit LCD_EN_Direction at TRISB6_bit;sbit LCD_D4_Direction at TRISC0_bit;sbit LCD_D5_Direction at TRISC1_bit;sbit LCD_D6_Direction at TRISC2_bit;sbit LCD_D7_Direction at TRISC3_bit;void init(){trisc = 0;trisa = 0;trisb = 0;ansel = 0;osccon = 113;Lcd_Init();Lcd_Cmd(_LCD_Cursor_off);Lcd_Cmd(_LCD_RETURN_HOME);}void main() { int i; char txt[7]; i = 1; init();Lcd_Out(1, 1, "Hello bai!");Lcd_Out(2, 1, "ia uite ca merg");Delay_ms(2000);Lcd_Cmd(_LCD_CLEAR);Lcd_Out(1, 1, "textu numaru'2");Lcd_Out(2, 1, "si pe linia 2");Delay_ms(2000);Lcd_Cmd(_LCD_CLEAR); while (i < 65535) { IntToStr(i, txt); lcd_out(1,1,txt); Delay_ms(300); i++; }}Am folosit o placa de dezvoltare de la PIckit2 cu controlerul Pic16f690. Am simulat si in Proteus, dar acolo afiseaza ok.

post-82161-139829775601_thumb.jpg

post-82161-139829775612_thumb.jpg

Link to comment
Guest danutzpanyvino

Verifică DB7 , pare că ar fi în 1 în loc de zero. Poate fi de la legături.LE M-am mai gândit, poate fi și afișajul cu probleme . Cifrele ți le-a scris corect ?

Cifrele nu le scrie corect, apar tot simboluri aiurea.Ma gandesc sa incerc cu alt display.
Link to comment

Dacă te uiți în datasheet o să observi că scrie caractere cu codul cu 128 mai mare , respectiv cu DB7 în 1 în loc de 0. De asta m-am găndit la vreun fir, lipitură, etc în zona lui DB7 . Pe de altă parte asta ar fi afectat posibil și alte comenzi - ștregerea ecranului de exemplu. Dacă e de la afișaj e mai complicat - sau inversează cumva cele două subseturi de caractere sau îl dă numai pe ăsta. Ai putea să-l pui să scrie caractere din al doilea subset ( cu coduri mai mari ca 128 ) să vezi ce se întâmplă.

Link to comment
Guest danutzpanyvino

Am reusit. Trebuia doar sa schimb pinul de RS de pe portul RC7 pe portul RA5. Asa banuiesc ca s-au activat celellate 128 de caractere :)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines