Sari la conținut
ELFORUM - Forumul electronistilor

Initializare LCD 20x2


Ashky

Postări Recomandate

Ma poate ajuta si pe mine cineva cu initializalea LCD-ului asta ca de 2 zile ma chinuie si nu pricep unde e greseala.LCDInit call Delay call Delay call Delay bcf LCD_E bcf LCD_RS bcf LCD_RW call Delay movlw b'00111100' ;0011NFxx movwf temp_wr call InitWrite call Delay movlw b'00001111' ;Display off movwf temp_wr call InitWrite call Delay movlw b'00000001' ;Display Clear movwf temp_wr call InitWrite call Delay movlw b'00000110' ;Entry mode movwf temp_wr call InitWrite bcf LCD_RW bsf LCD_RS returnInitWrite bcf LCD_E bcf LCD_RS nop movwf PortLCD nop nop nop bsf LCD_E nop nop nop nop nop nop nop nop nop nop bcf LCD_E nop returnLCD-ul e compatibil HD44780 si picu e 18LF4520

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

Top autori în acest subiect

  • Ashky

    6

Cu greu am reusit sa aflu ca aveam montat cristal de 20Mhz (in prospect scrie 12), am marit delay-urile, merge USART-ul dar LCD-ul tot nu merge, se aprind toti pixelii de pe randul de sus si atat.

Link spre comentariu

Am incercat asa: clrf PortLCD movlw 0xff movwf TrisLCD bcf TrisLCD_RW bcf TrisLCD_RS bcf TrisLCD_E bcf LCD_RW bcf LCD_RS bcf LCD_Eun delay de 18ms movlw b'00110000' movwf PortLCD bsf LCD_E un delay de 10us bcf LCD_E un delay de 6,3ms asta inca de 2 ori (de la movlw b'00110000')dupa careLCD_Busy movlw 0x00 movwf TrisLCD bsf LCD_RW bcf LCD_RS call Delay_E - 10usec bsf LCD_E call Delay_E btfss PortLCD,7 goto $-1 bcf LCD_E bcf LCD_RW movlw 0xff movwf TrisLCD returndin care nu mai iese.Unde e buba ?

Link spre comentariu

Da, corect. 0xff trebuia, dar tot acolo se intepeneste, am pus sa aprinda un led inainte si unul dupa partea cu btfss si acolo se intepeneste.Afisajul sigur e bun ptr ca am un hex cu care merge.

Link spre comentariu

Nu vrea si pace, acelasi cod (mai periat un pic) l-am incercat pe un 16x2 si merge, pe asta 20x2 nu merge.Am trecut oscilatorul pe intern(4 Mhz) ca sa nu mai modific delay-urile si nimic.La un moment dat in loc de dunga neagra aparuse doar cate un patratel unde ar fi trebuit sa fie un caracter.Ma gandesc ca poate nu are controler HD44780.

Link spre comentariu

Am rezolvat problema, codul era bun.Problema era de la initializarea portului E.Biti 4-7 de la TRISE controleaza portul paralel si eu ii setam la initializare.Nu inteleg cum afecteaza asta porturile A si D pe care am afisajul, dar daca nu sun biti aia pe 0 nu merge.

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