[elektro] LCD power up probléma
vfx
info at vfx.hu
Tue Dec 27 10:52:48 CET 2011
Hali!
> > Mi lehet a gond?
> Nekem is volt problemam a hd44780-al. Mar nem emelekszem pontosan, hogy
> kozvetlen bekapcsolaskor vagy csak akkor ha ujraindult a uC de az LCD
> nem. Ilyenkor nem mindig sikerult ujrainicializalni a kijelzot. 4
> bitesben hasznaltam emiatt ha felbyte kozben indul ujra a uC akkor
> nehezen ert szot a kijelzovel. Ketsegtelen, hogy a kijelzot is jo lenne
> resetelni, tapjat a uC-vel kapcsolni.
>
> 4 vagy 8 bites uzemmodban hasznalod?
>
8 bitesben használom.
Tegnap éjjel óta kapcsolgatom találomra, eddig 100% indulás volt. Ha
holnapig nincs gond, akkor ráfogom hogy jó :)
Nekem ez a procedura orvosolta AVRen:
LCD_Init:
ldi R16,40 ;Wait at least 40msec after
call Wait1ms ;powerup before writing to display
ldi R16,0b00111000 ;3x probalkozunk 8 bit mode-ba rakni
clt ;select command register
rcall LCD_IOWrite
ldi R16,60
call Wait1ms ;wait 5ms
ldi R16,0b00111000
rcall LCD_IOWrite
ldi R16,60
call Wait1ms ;wait 5ms
ldi R16,0b00111000
rcall LCD_IOWrite
ldi R16,60
call Wait1ms ;wait 5ms
; *** Send the 'FUNCTION SET' command
; +------ Data: 0 = 4-bit; 1 = 8-bit
; |+----- Lines: 0 = 1; 1 = 2
; ||+---- Font: 0 = 5x8; 1 = 5x11
ldi R16,0b00111000
; rcall LCD_SendCmd
clt
rcall LCD_IOWrite
ldi R16,5
call Wait1ms
; *** Send the 'DISPLAY ON/OFF' command
; +---- Display: 0 = off; 1 = on
; |+--- Cursor: 0 = off; 1 = on
; ||+-- Blink: 0 = off; 1 = on
ldi R16,0b00001100
; rcall LCD_SendCmd
clt
rcall LCD_IOWrite
ldi R16,5
call Wait1ms
; *** Send the 'ENTRY MODE' command
; +--- Direction: 0 = left; 1 = right
; |+-- Shift Dislay: 0 = off; 1 = on
ldi R16,0b00000110
; rcall LCD_SendCmd
clt
rcall LCD_IOWrite
ldi R16,5
call Wait1ms
; *** Send the 'CURSOR/DISPLAY SHIFT' command
; +----- S/C: 0 = cursor; 1 = display
; |+---- R/L: 0 = left; 1 = right
ldi R16,0b00010100
; rcall LCD_SendCmd
clt
rcall LCD_IOWrite
ldi R16,5
call Wait1ms
rcall LCD_Clear
ret
ÜDV. VFX.
http://www.vfx.hu
More information about the Elektro
mailing list