 |

|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 11 17, 15:31. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Reikia pagalbos dėl 16x4 LCD
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
 |
 |
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 07, 18:14 |
|
|
|
|
Sveiki, bandau paleisti 16x4 LCD: PC1604LRU-AWB-HQ. Šis naudoja ST7066U draiverį. Pagal jo aprašymą pavyksta paleisti tik dvi eilutes: pirmą ir trečią, o kitų likusių niekaip nepaleidžiu..
Initializacijos metu tėra pasirinkti 1/2 linijas, o kaip parinkti 4, nieko neužsiminta.
LPC_GPIO1->FIOCLR |= LCD_E; //LCD_E=0;
LPC_GPIO0->FIOCLR |= LCD_RS; //LCD_RS=0;
LPC_GPIO0->FIOCLR |= LCD_RW; //LCD_RW=0;
delay_ms(15);
lcd_nibble( 0x30 );
delay_us( 4100 );
lcd_nibble( 0x30 );
delay_us( 120 );
lcd_nibble( 0x30 );
delay_us( 37 ); // _delay_us( LCD_TIME_DAT );
lcd_command( 0x20 );// 2 lines
//lcd_command( 0x24 );
//lcd_command( 0x09 );
//lcd_command( 0x28 );
lcd_command( 0x0C ); // display off
lcd_command( 0x00 );
lcd_command( 0x01 ); // display clear
lcd_command( 0x06 ); // cursor increment
delay_us( 37 );
lcd_command( 0x0F ); // on, no cursor, no blink
adresus mėginau labai įravairius, vistiek teksto nemačiau antroje ir ketvirtoje eilutėje.. Lauksiu jūsų komentarų |
|
|
|
|
|
 |
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 07, 21:47 |
|
|
|
|
Pagal datasheet'a, ST7066U turi šitokius adresus, kai nustatytas "2-line":
i : 0x00...0x27
ii : 0x40...0x67
Duomenis turi priimti į šiuos visus adresus, tik nežinia, ar rodys.
Parašyk programą, kuri į visus šiuos adresus įrašytų kokį nors ženklą.
Kai "1-line", tada bandyk:
i : 0x00...0x4F |
|
|
|
|
|
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 07, 22:42 |
|
|
|
|
Ir atitinkamai adresai $10 ir $80 iii ir iv eilutėms:
To access these addresses you must use the LCD Command $80, or 128, plus the address in the same byte. So here is how you place the cursor at the correct place (note that this is position 1 of each line....add to this value to move your position to the right on the line):
16x4
Line 1 : 128 + 0 = LCD_CMD(128)
Line 2 : 128 + 64 = LCD_CMD(192)
Line 3 : 128 + 16 = LCD_CMD(144)
Line 4 : 128 + 80 = LCD_CMD(208) |
|
|
|
|
|
 |
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 08, 09:30 |
|
|
|
|
Pakeičiau initializaciją pagal datasheet tiksliai:
delay_ms(40); //power on
lcd_nibble( 0x30 ); //function set 0x30
delay_us( 37 ); //wait >37uS
lcd_nibble( 0x20 ); //Func 0x2
lcd_nibble( 0x80 ); //Func 0x8
delay_us( 37 ); //wait >37uS
lcd_nibble( 0x20 ); //Func 0x2
lcd_nibble( 0x80 ); //Func 0x8
delay_us( 37 ); //wait >37uS
lcd_nibble( 0x00 ); //disp on/off
lcd_nibble( 0xD0 ); //disp on/off
delay_us( 37 ); //wait >37uS
lcd_nibble( 0x00 ); //disp clr
lcd_nibble( 0x10 ); //disp clr
delay_ms( 3 ); //wait >1.52mS
lcd_nibble( 0x00 ); //Entry moder set
lcd_nibble( 0x60 ); //Entry moder set
Ir bandžiau atvaizduoti tekstą:
lcd_command(128);lcd_text("111111");
lcd_command(192);lcd_text("222222");
lcd_command(144);lcd_text("333333");
lcd_command(208);lcd_text("444444");
Šykart labai labai blankiai matau tekstą, ten kur jis ir turi būti, tačiau niekaip nepavyko padaryt ryškaus teksto, nei su kontrasto potenciometru, nei keičiant disp on/off funkcijas, gal kas turit įdėju dėl šito? su 1-line tekstas ryškus. |
|
|
|
|
|
 |
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 09, 00:51 |
|
|
|
|
Kontrastas niekuo dėtas:
quote: su 1-line tekstas ryškus.
Lėtinti kodą - greičiausiai tiesiog dažnai keičiamas LCD turinys. |
|
|
|
|
|
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 09, 08:05 |
|
|
|
|
| Pabandžiau sulėtinti - jokio efekto. Buvau išvis parašęs, kad tik atvaizduotų tekstą ir ties while(1) pakibintų procą, vistiek taip pat rodo silpnai.. Net nenumanau ko čia dar jam trūksta.. |
|
|
|
|
|
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 09, 11:26 |
|
|
|
|
| Toks klausimas - neigiamą įtampą lcd (3 koja) maitinimui naudoji? Nes pagal datašytą kaip ir reikalinga, iš to ir neryškus tekstas gali būti. |
|
|
|
|
|
 |
Reikia pagalbos dėl 16x4 LCD |
Parašytas: 2012 08 09, 14:14 |
|
|
|
|
Tu teisus, nepastebėjau šito, o pajungus kontrasto potenciometra prie neigiamos įtampos, tekstas tapo ryškus.. Labai AČIŪ visiems už pagalba, eisiu taisyti savo klaidų  |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
|

|
 |