ohamoha Postat Iulie 20, 2009 Partajează Postat Iulie 20, 2009 Salut Va rog aruncati o privire pe chestia asta ca simt ca o iau razna. M-am apucat sa fac un proiect cu un PIC16F877 de 4Mhz. Nu m-am prins eu din prima ca-i trebuie oscilator extern, asa ca i-am adauga unul de 8867.238 Khz. Am scris un program in C in MPLAB si l-am compilat cu CCS. Aprindea si stingea doua beculete. Mergea foarte frumos. Pasul doi a fost sa-i adaug un LCD. M-am chinuit o zi intreaga sa-l fac sa afiseze ceva, dar nimic. LCD-ul este compatibil HD44780 (scrie in datasheet la pagina 7) asa ca nu ar fi trebuit sa existe nicio problema. Pentru LCD am folosit un driver pentru CCS deoarece am conectat LCD-ul la alti pini decat cei oferiti implicit de CCS. Ok, o fi driverul de vina. Ca sa nu dezlipesc tot ansamblul, am compilat o sursa exemplu oferita de MikroC (folosind MikroC Pro bineinteles). De asemenea niciun rezultat. Beculete functioneaza, alterneaza frumos, dar pe LCD nu apare nimic. Ambele surse functioneaza fara probleme in schema similara construita in ISIS. Deoarece am un PICkit 2 Debug Express (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805), m-am apucat sa conectez LCD-ul la acesta, pentru a indeparta orice suspiciune ca am gresit eu ceva in schema mea. Acesta foloseste un PIC16F887, dar este aproximativ acelasi lucru. Rezultatul este acelasi, LCD-ul nu afiseaza nimic. Am incercat sa leg D0,D1,D2,D3 la masa pentru ca am vazut in fisierul help de la MikroC ca asa au legat si ei. Am incercat si cu pinii nelegati la nimic. Am pus mai jos un filmulet cu ansamblul in functionare. LCD-ul este legat la portul D, iar led-urile sunt de asemenea legate la portul D. Dupa cum se vede, portul D este activ. Este prima oara cand ma joc cu un PIC si cu un LCD asa ca nu-mi dau seama unde am gresit, sau daca LCD-ul este stricat. Conexiunile sunt bune, verificate de nenumarate ori, scurt nu exista. In datasheet scrie ca pe pinul 3 (V0) sa pun o rezistenta intre 10K si 30K. Am pus 15K. Dar am incercat si una de 1K. Singurul lucru care merge la acest LCD este backlight-ul. Alimentat printr-o rezistenta de 300R lumineaza frumos. Dati-mi va rog un sfat cu ce sa mai incerc ca mie mi s-a golit capul. Multumesc frumos. Link spre comentariu
ramsesrr Postat Iulie 20, 2009 Partajează Postat Iulie 20, 2009 simularea in proteus merge? Link spre comentariu
ohamoha Postat Iulie 20, 2009 Autor Partajează Postat Iulie 20, 2009 Nu scriam aici daca nu ar fi mers simularea in Proteus. De aia ma scoate din sarite. Ca totul e facut ca la manual, si verificat de zeci de ori. Poate-mi scapa mie vreo chichita... Link spre comentariu
pavcostel Postat Iulie 20, 2009 Partajează Postat Iulie 20, 2009 Cu acea rezistenta se regleaza contrastul fizic al lcd. Daca ai cum verifica daca ai semnale pe pinii de comanda, si tot nu se aprinde, incearca sa mergi cu valori DE PROBA intre 100 Ohmi si 10kOhmi. Totul presupune ca ai scris rutinele de initializare corect,etc, si simularea in Proteus lucreaza. Vezi in datasheet la LCD ce tensiune necesita pe pinul de contrast.E o abordare.Bafta!CostelL.E. - normal eu am folosit mereu un semireglabil in locul acelei rezistente fixe. Pentru ca si display-ul are contrast diferit in functie de temperatura. Cred ca si in datasheet arata la fel, semireglabil. Link spre comentariu
Vizitator yo9hnh Postat Iulie 20, 2009 Partajează Postat Iulie 20, 2009 Salut,incearca asa : alimenteaza doar lcd-ul si vezi daca apare ceva pe prima linie si incearca sa dai pinul de contrast la masa(contrast full),normal ar trebui sa iti apara un set de 16 caractere pe prima linie.Daca nu inseamna ca sunt probleme la lcd. Link spre comentariu
externvero Postat Iulie 21, 2009 Partajează Postat Iulie 21, 2009 Poti incerca cu o baterie de 1,5V legata cu + la pinul 1 LCD (masa)... Polul negativ al bateriei legat la capatul unui semireglabil de 10K... Celalat capat al semireglabilului legat la pinul 2 LCD (VDD)... Cursorul semireglabilului se leaga la pinul 3 LCD (VEE). Inainte de a alimenta montajul muta cursorul semireglabilului la capatul spre VDD.Dupa ce alimentezi, muta treptat cursorul catre celalalt capat.Am intalnit multe LCD-uri care necesita valoare negativa pe pinul de contrast. Link spre comentariu
ohamoha Postat Iulie 21, 2009 Autor Partajează Postat Iulie 21, 2009 Eheeei! Apoi va datorez nenumarate beri.Am pus un varirezistor pe pinul 3 (V0) si lcd-ul s-a trezit la viata. Functioneaza impecabil.Asta e cu incepatorii. Nu vad padurea din cauza copacilor..Multumesc mult. Link spre comentariu
ohamoha Postat Iulie 22, 2009 Autor Partajează Postat Iulie 22, 2009 Am vrut sa zic semireglabil, nu varirezistor (cuvant care nici nu exista). Link spre comentariu
neutronik77 Postat August 6, 2009 Partajează Postat August 6, 2009 Salut! Datele D4 - D7 sunt legate corect la portul microcontrolerului, insa (E) de la LCD se leaga in continuare la portul PIC-ului, la fel si (RS). Adica: LCD - PIC D7 - D7 D6 - D6 D5 - D5 D4 - D4 E - D3 RS - D2 VEE - GND (Contrast) Atentie! Daca e vorba de un LCD blue, contrastul VEE se leaga la VDD printr-o resistenta de 6,8k. Incearca asa pentru ca si eu tot asa il folosesc. Ideea este cum ai libraria compilerului setata, adica pinii care ii foloseste PIC-ul pentru controlul LCD-ului. Sa pui si un oscilator la PIC. Bafta! Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum