Sari la conținut
ELFORUM - Forumul electronistilor

LCD-Display LCM1602ASL 16x2 Problema


pspsuceava

Postări Recomandate

Vizitator Kuky

Am mai cautat pe internet si am reusit sa afisez pe LCD siruri de caractere.Acum sigur te va ajuta la proiectul tau ! Spor la treaba !

Link spre comentariu
  • Răspunsuri 148
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • pspsuceava

    35

  • Liviu M

    22

  • pegas

    14

  • MatyC

    12

Top autori în acest subiect

Imagini postate

  • 2 luni mai târziu...

Din cate m-am prins eu (din ce am citit pe forum, ca nu folosesc proteus), daca in simulare merge si montajul practic nu *), trebuie sa verifici configurarea picului (in special partea de oscilator), ca am senzatia ca simulatorul din proteus mai face diverse setari default daca nu le gaseste in cod.*) Presupun ca legaturile pic-lcd sunt la fel in simulator si in montaj si ca mai sunt si bune.

Link spre comentariu

Nu cred sa fie de la oscilator deoarece am facut blink pe 4 leduri din port C si merge. Osc este setat HS.Fara backlight Lcd ul poate afisa?. Backlight ul imi consuma mult curent incat microcontrolerul nu mai lucreaza cand acesta este aprins.E bine? V0 (pin3 lcd) legat la (+) Vdd(pin2 lcd) pentru contrast maxim?

Link spre comentariu

Backlight-ul nu e obligatoriu; nu o sa vezi ce scrie pe LCD noaptea, da' nu-i bai.Cu contrastul e altceva. Eu as zice sa incerci sa pui totusi un semireglabil si sa "cauti" reglajul optim. Am senzatia ca LCD-ul corect alimentat arata la inceput o linie neagra - fiecare caracter de pe linie e un dreptunghi negru, plin, asa ca eu asa as incerca prima data.

Link spre comentariu

Am un LCD http://www.adelaida.ro/product_info.php ... s_id=15819Este corecta cablarea pe 4 biti realizata de mine?RB0 ----RSRB1 ----ERB2 ----D4RB3 ----D5RB4 ----D6RB5 ----D7In simulare proteus fuctioneaza in realitate nu. Am vazut diferite scheme toate au D4-D7 conectati la primii 4 biti sau ultimii 4 biti ai portului (port B in cazul meu).

Ai incercat sa inversezi alimentarea pe pinii 1 si 2? Se poate intampla ca Vdd sa fie pe pinul 1 si GND sa fie pe pinul 2! ( LCM1602ASL are astfel configurati pinii, conform foii de catalog)
Link spre comentariu

Este montat semireglabil 10 kohmi ca in schema atasata. Sa fie necesara cablarea low byte? RB0 - D4; RB1 - D5; RB2 - D6; RB3 - D7; iar de ex la RB4 - RS; RB5 - E.

Din cate stiu eu, cablarea asta "low" sau "high" se refera la disply, nu la pic.Pentru display, in exemplul de configurare din data-sheet la comuicarea pe 4 fire sunt folositi D4..D7, asa ca ai facut bine.Pentru pic - uita-te in cod cum e programat (sau posteaza codul, sa ne uitam impreuna).
Link spre comentariu

1.Posteaza codul sau portiunea de cod in care faci initializarea porturilor si a LCD-ului.2. Verifica daca pe montajul practic nu ai un scurt intre pinii de date (nu poate fi detectat decat prin scoaterea uC din soclu), figura cu LED-ul cuplat la pini nu da rezultate. Ti-o spun din experienta, mi-au trebuit 2 ore sa constat ca pe placa aveam un scurt ramas de la corodare, fapt pentru care afisorul nu functiona. Am incercat un blink cu LED conectat pe fiecare pin si, binenteles ca LED-ul functiona bine merci pe fiecare pin !

Link spre comentariu

// LCD module connectionssbit LCD_RS at RB0_bit; sbit LCD_EN at RB1_bit;sbit LCD_D4 at RB2_bit; sbit LCD_D5 at RB3_bit;sbit LCD_D6 at RB4_bit; sbit LCD_D7 at RB5_bit;sbit LCD_RS_Direction at TRISB0_bit; sbit LCD_EN_Direction at TRISB1_bit;sbit LCD_D4_Direction at TRISB2_bit; sbit LCD_D5_Direction at TRISB3_bit;sbit LCD_D6_Direction at TRISB4_bit; sbit LCD_D7_Direction at TRISB5_bit;// End LCD module connectionsint iTemp; int iBuff_Valoare; char sBuff_Valoare[6];void main(){ TRISA=0b00111111; TRISB=0b00000000; TRISC=0b00001111; PORTA=0; PORTB=0; PORTC=0; ADCON0=0b00000000; ADCON1=0b00000100; Lcd_Init(); // Initialize LCD Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off while(1){ iTemp = ADC_Read(0); //CITIRE ANALOGICE iBuff_Valoare = iTemp_cupla; IntToStr(iBuff_Valoare, sBuff_Valoare); //AFISARE PARAMETRII Lcd_Out(1,1,"Temperatura"); // Write text in first row Lcd_Out(2,1,sBuff_Valoare); // Write text in second row Delay_ms(200); Lcd_Cmd(_LCD_CLEAR); // Clear display } }

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări