Vizitator Georgecpr Postat Septembrie 5, 2005 Partajează Postat Septembrie 5, 2005 Eu nu prea ma descurc cu electronik. Ma pricep mai mult la partea de programare. Vreau sa fac un ceas electronic care foloseste un LCD de la nokia 3310. Va rog frumos sa imi spuneti si mie daca este ceva in neregula cu schema mea. Cred k am ars deja un PIC si s-ar putea si lcd-ul sa fie in aceeasi stare. Momentan vreau sa reusesc sa afisez si eu ceva pe lcd.P.S. la Automatica despre ce tip de MCU se vorbeste? Link spre comentariu
Vizitator alex Postat Septembrie 6, 2005 Partajează Postat Septembrie 6, 2005 Schema e corecta numai ca, daca nu ai specificat altfel in program, pinul 4(MCLR) trebuie conectat la + printr-o rezistenta de 5-10k Link spre comentariu
bobtech Postat Septembrie 6, 2005 Partajează Postat Septembrie 6, 2005 de unde esti ?daca esti din Timisoara, pot sa-ti dau eu tot hardu de care ai nevoie pt a lucra, cu conditia sa-mi dai si mie softul sa-l folosesc in proiectele mele personale Link spre comentariu
sofian Postat Septembrie 8, 2005 Partajează Postat Septembrie 8, 2005 lcd merge la 3.6vmaxschema este okseteaza vop in lcdrezistori nu trebuiesccind ajung acasa iti trimit o schema facuta de mine ptr un termometru cu dallas si lcd3110c1,c2-27pFalimenteaza picul si lcd la doua bateri de 1.5vsi trebuie sa meargamai pune si un led sa se aprinda cind porneste picul ptr verificare Link spre comentariu
Vizitator Georgecpr Postat Septembrie 14, 2005 Partajează Postat Septembrie 14, 2005 PIC-ul merge (l-am testat cu niste leduri). Cred ca merge si LCD-ul pt k ieri am incercat sa-l folosesc si s-au aprins toti pixeli, dupa care uni au ramas aprinsi. Nu cred ca este bine resetat & initiat sau nu merg functiile corect. folosesc un delay de 10ms la schimbarea SCLK intre low si high. E mult?P.S. eu k sa fac economie de pini, am legat pinul CS(de la LCD) la minus pt k e activ pe LOW. Poate fi asta o cauza? Link spre comentariu
Vizitator Georgecpr Postat Septembrie 14, 2005 Partajează Postat Septembrie 14, 2005 Am uitat sa specific k inca nu am reusit sa afisez nimic controlat p LCD, ci doar se aprindeau toti pixelii, cateodata. Inca folosesc o sursa de 5V atat pt PIC cat si pt afisaj. Nu prea imi dau seama care sa fie cauza. Momentan nu mai reusesc sa afisez nimic. Aveti vreo idee? Link spre comentariu
bobtech Postat Septembrie 14, 2005 Partajează Postat Septembrie 14, 2005 foloseste o sursa de 3.3V. si mie imi facea asa la inceput cand alimentam de la 5V, apoi am alimentat pic-ul la 5 si lcd-ul la 3.3 Link spre comentariu
Vizitator Georgecpr Postat Septembrie 14, 2005 Partajează Postat Septembrie 14, 2005 Si ai mai pus vreo rezistenta pe liniile de date (clk,reset,dc,etc)? o sa incerc. Link spre comentariu
bobtech Postat Septembrie 14, 2005 Partajează Postat Septembrie 14, 2005 Si ai mai pus vreo rezistenta pe liniile de date (clk,reset,dc,etc)? o sa incerc.am atasat schema care o folosesc. inital am proiectat cu rez si diode pt protectie pe liniile de comunicatie, dar le-am eliminat, deci poti sa nu mai pui rez si nici diodele de 3.3V. am pus doi conectori pt lcd, unul la care pot sa leg lcd-ul cu fire (JP2) si altul la care pot sa-l conectez prin elasomer pe paduri pe cablaj (U1). JP1 e conectorul prin care ma conectez la sistemul meu de dezvoltare cu PIC18F6720. Link spre comentariu
Vizitator Georgecpr Postat Septembrie 27, 2005 Partajează Postat Septembrie 27, 2005 A renunta sau a nu renunta la electronik. Aceasta este intrebarea. Ma tot chini de cateva saptamani sa afisez ceva pe un LCD nokia 3310. Am incercat sa il alimentez la 5V,3.3V si 3V, dar asta nu a schimbat nimic.Am schimbat condesatorul de 47uF cu unul de 4.7uF. Am folosit si pinul CS, care inainte era legat la minus(pt k interfata seriala sa fie activa mereu si pt a economisi pini), dar degeaba k nu ai face nimic(inainte se aprindeau toti pixelii sau ceva de genu). Sunt incepator in electronik & nu are cine sa ma ajute in afara de voi. M-am gandit k poate nu e hardu de vina ci softu, asa k iata codul pe care il folosesc pt a comunica cu LCD-ul:;------------------------lcd_cmd macro bcf dc ;Comanda call lcd_write ;scrie W endm;------------------------lcd_init bsf dc ;date bsf cs ;chip off MOVLW .10 CALL delay_x BCF reset MOVLW .250 CALL delay_x BSF reset MOVLW .250 CALL delay_x MOVLW 21H ;set extins lcd_cmd MOVLW 0xC5 ;Vop lcd_cmd MOVLW 13H ;BIAS lcd_cmd MOVLW 20H ;set normal+ afis p orizontala lcd_cmd MOVLW 09H ;ALL ON lcd_cmd MOVLW .250 CALL delay_x movlw .250 Call delay_x call lcd_clear ;stergere bcf dc ;comanda movlw .10 call delay_x MOVLW 08H ;all off lcd_cmd MOVLW .10 ;ms CALL delay_x MOVLW 0CH ;normal mode lcd_cmd return;------------------------lcd_write movwf byte bcf cs movlw .8 movwf cntL1 bcf sclk btfsc byte,7 bsf sdata btfss byte,7 bcf sdata nop ;in loc de delay bsf sclk nop ;in loc de delay RLF byte,1 decfsz cnt,1 GOTO L1 bsf cs return ;------------------------lcd_clear bcf sdata bsf dc;date bcf cs movlw .6 movwf tmp2c3 movlw .84 movwf tmp1c1 movlw .8 movwf tmp0c2 bcf sclk NOP ;goto $+1 NOP bsf sclk decfsz tmp0,f goto c2 decfsz tmp1,f goto c1 decfsz tmp2,f goto c3 bsf cs returnE ceva gresit?Ce as putea sa fac?Va multumesc anticipat! Link spre comentariu
Vizitator Georgecpr Postat Septembrie 28, 2005 Partajează Postat Septembrie 28, 2005 Am pus un delay de 500us rutinei care scrie in lcd & cu ajutorul unor leduri am monitorizat starea pinilor: RESET,SCLK,SDATA.Dupa initializare pinul RESET ramane pe high(asa trebuie),iar la fiecare stare de high a lui SCLK am notat pe hartie starea lui SDATA. Am observat k toate comenzile sunt trimise corect. Ce poate sa nu mearga? Cum pot testa daca LCD-ul mai este functional? Link spre comentariu
sofian Postat Septembrie 28, 2005 Partajează Postat Septembrie 28, 2005 Uite cun am facut eu ;-----------------------------------------------------------------------; ; http://www.PicKit.ro ; ;-----------------------------------------------------------------------; ;Xtal-4Mhz Tcy-1uS ; ;-----------------------------------------------------------------------; cblock 0x20 ; Temp,Flag,Cnt00,Cnt01,Blink,BclL,BclH,NrChar ;General AddrX,AddrY,Vop,BitCnt ;Lcd3110 endc ; ;-----------------------------------------------------------------------; #define LcdCk PORTB,1 ;Pin 2 Lcd #define LcdRst PORTB,2 ;Pin 8 Lcd #define LcdIn PORTB,3 ;Pin 3 Lcd #define LcdDC PORTB,4 ;Pin 4 Lcd #define LcdCe PORTB,5 ;Pin 5 Lcd ;-----------------------------------------------------------------------; InitLcd bcf LcdCe ; movlw 0x40 ;Set Contrast movwf Vop ; bcf LcdRst ;Reset Lcd goto $+1 ; bsf LcdRst ; movlw b'00100001' ;PowerOn,Addr-H,Set Extins call WrLcdCmnd ; movfw Vop ; iorlw b'10000000' ; call WrLcdCmnd ; movlw b'00010011' ;Bias n=4 call WrLcdCmnd ; movlw b'00100000' ;PowerOn,Addr-H,Set Normal call WrLcdCmnd ; movlw b'00001001' ;All pixel On call WrLcdCmnd ; call ClearLcd ; call Wait500Ms ; call Wait500Ms ; movlw b'00001100' ;Normal Mode goto WrLcdCmnd ; ;---------------------------------------; WrLcdData bsf LcdDC ;Data goto WrLcd ; WrLcdCmnd bcf LcdDC ;Cmnd WrLcd bcf LcdCe ;Enable Lcd movwf Temp ; movlw 0x08 ;8bit movwf BitCnt ; WrLcd00 bcf LcdCk ; btfsc Temp,7 ; goto WrLcd_H ; nop ; bcf LcdIn ; goto WrLcd_01 ; WrLcd_H bsf LcdIn ; goto WrLcd_01 ; WrLcd_01 goto $+1 ; bsf LcdCk ;Latch rlf Temp,f ; decfsz BitCnt,f ; goto WrLcd00 ; nop ; bcf LcdCk ; bsf LcdCe ;Disable Lcd retlw 0x00 ; ;---------------------------------------; ClearLcd movlw 6 ;Y movwf Cnt01 ; ClearLcd00 movlw 84 ;X movwf Cnt00 ; ClearLcd01 movlw 0x00 ; call WrLcdData ; decfsz Cnt00,f ; goto ClearLcd01 ; decfsz Cnt01,f ; goto ClearLcd00 ; HomeCursor movlw b'10000000' ;Addr X =0 movwf AddrX ; movlw b'01000000' ;Addr Y =0 movwf AddrY ; SetLcdAddr movfw AddrX ; call WrLcdCmnd ; movfw AddrY ; goto WrLcdCmnd ; ;---------------------------------------; Link spre comentariu
Vizitator Georgecpr Postat Septembrie 30, 2005 Partajează Postat Septembrie 30, 2005 Am mai testat LCD-ul si am descoperit ceva interesant. Vestea buna: comenzile de la initializare (Vop, BIAS, All ON...) merg;Vestea proasta: dupa aceea il setez pe normal mode pe ecran apar niste pixeli la intamplare(deci tre sa sterg LCD-ul). Dupa ce apelez aceasta functie nu se intampla nimic, iar daca incerc sa mai afisez ceva pe ecren dupa acestea se aprind toti pixelii. Ce are? De ce face asa?PS: mersi mult pt cod pt k am obs k nu e codu meu d vina!! Aveti vreo idee? Link spre comentariu
Vizitator Georgecpr Postat Octombrie 3, 2005 Partajează Postat Octombrie 3, 2005 Gata! I-am dat de cap.Comenzile mergeau dar nu puteam sa scriu date, deci pinul DC=RA4(pic 16f628) nu intra in HIGH, asa k l-am mutat pe RB3 si merge tot!!! E super... Mersi mult pt ajutor! Link spre comentariu
bogdanm Postat Octombrie 3, 2005 Partajează Postat Octombrie 3, 2005 http://www.microchipc.com/HiTechCFAQ/#_Toc475127528 Cam asta se intampla cand manualul nu se citeste cu atentie... 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