Lo schema elettrico è il seguente:
Sono solo un po perplesso sulla numerazione dei piedini del display, ma allego anche il suo schema:
Se può servire sono riuscito a recuperare il datasheet del controller che comunque è compatibile con lo standard hitachi (HD44780) https://docs.google.com/open?id=0B7cdFHs0n1-NTmJvYVd1ZTVyZzg
Dimenticavo la cosa più importante, il codice:
- Codice: Seleziona tutto
PROCESSOR 16f690
RADIX HEX
INCLUDE "P16F690.INC"
__CONFIG 0x3FFF
;Linee di controllo dell'LCD
LCD_RS equ RC0 ;Register Select
LCD_E equ RC1 ;Lcd Enable
;LCD data line bus
LCD_DB4 equ RC2 ;LCD data line DB4
LCD_DB5 equ RC3 ;LCD data line DB5
LCD_DB6 equ RC4 ;LCD data line DB6
LCD_DB7 equ RC5 ;LCD data line DB7
SET_EN MACRO
bsf PORTA,LCD_E
ENDM
CLEAR_EN MACRO
bcf PORTA,LCD_E
ENDM
EN_STROBE MACRO
SET_EN
nop
CLEAR_EN
ENDM
;Alloca nella memoria registri lo spazio per le variabili utilizzate dal programma
tmpLcdRegister equ h'7F'
d1 equ h'20'
d2 equ h'21'
d3 equ h'22'
d4 equ h'23'
d5 equ h'24'
ORG 0x00
goto start
;----------------------------------------------
;routine
delay
;9993 cycles
movlw 0xCE
movwf d1
movlw 0x08
movwf d2
delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto delay_0
;3 cycles
goto $+1
nop
;4 cycles (including call)
return
;--------------------------------------------------
;--------------------------------------------------
delayy
;4999993 cycles
movlw 0x2C
movwf d3
movlw 0xE7
movwf d4
movlw 0x0B
movwf d5
delayy_0
decfsz d3, f
goto $+2
decfsz d4, f
goto $+2
decfsz d5, f
goto delayy_0
;3 cycles
goto $+1
nop
;4 cycles (including call)
return
;---------------------------------------------------
;Inizio programma
start
bsf STATUS,RP0 ;Seleziona il banco di registri 1
movlw b'00000000' ;Configura le linee della porta C
movwf TRISC
bcf STATUS,RP0 ;Seleziona il banco di registri 0
;Inizializza il display LCD
call LcdInit
;Posiziona il cursore dell'LCD in posizione 0,0
movlw 0x00
call LcdLocate
;Visualizza "HELLO" sul display LCD
movlw 'H'
call LcdSendData
movlw 'E'
call LcdSendData
movlw 'L'
call LcdSendData
movlw 'L'
call LcdSendData
movlw 'O'
call LcdSendData
;Blocca il programma su se stesso in un loop
;infinito
foreverLoop
nop
goto foreverLoop
;**********************************************************************
; Inizializza il display LCD
; Questa funzione deve essere chiamata prima di ogni altra funzione
; di gestione dell'LCD
;**********************************************************************
LcdInit
bcf PORTC,LCD_E ;Disabilita l'LCD
bcf PORTC,LCD_RS ;Mette l'LCD in modo comando
;---------------------------------
call delayy
;---------------------------------
; Invia all'LCD la sequenza di reset
bsf PORTC,LCD_DB4
bsf PORTC,LCD_DB5
bcf PORTC,LCD_DB6
bcf PORTC,LCD_DB7
EN_STROBE
;----------------------------------------------------------
call delay
;--------------------------------
EN_STROBE
;----------------------------------
call delay
;------------------------------------
EN_STROBE
;------------------------------------
call delay
;-----------------------------------
;--------------------------------
bcf PORTC,LCD_DB4
bsf PORTC,LCD_DB5
bcf PORTC,LCD_DB6
bcf PORTC,LCD_DB7
EN_STROBE
;--------------------------------
call delay
;-------------------------------
;Configura il bus dati a 4 bit
movlw 0x28
;movlw 0x2C
call LcdSendCommand
;Entry mode set, increment, no shift
movlw 0x06
;movlw 0x09
call LcdSendCommand
;Display ON, Curson OFF, Blink OFF
movlw 0x0C
;movlw 0x07
call LcdSendCommand
movlw 0x01
call LcdSendCommand
return
;**********************************************************************
; Clear LCD
;**********************************************************************
LcdClear
movlw 0x01
call LcdSendCommand
;-----------------------------
call delay
;------------------------------
;DD RAM address set 1st digit
movlw 0x80
call LcdSendCommand
return
;**********************************************************************
; Locate cursor on LCD
; W = D7-D4 row, D3-D0 col
;**********************************************************************
LcdLocate
movwf tmpLcdRegister+0
movlw 0x80
movwf tmpLcdRegister+1
movf tmpLcdRegister+0,W
andlw 0x0F
iorwf tmpLcdRegister+1,F
btfsc tmpLcdRegister+0,4
bsf tmpLcdRegister+1,6
movf tmpLcdRegister+1,W
call LcdSendCommand
return
;**********************************************************************
; Send a data to LCD
;**********************************************************************
LcdSendData
bsf PORTC,LCD_RS
call LcdSendByte
return
;**********************************************************************
; Send a command to LCD
;**********************************************************************
LcdSendCommand
bcf PORTC,LCD_RS
call LcdSendByte
return
;**********************************************************************
; Send a byte to LCD by 4 bit data bus
;**********************************************************************
LcdSendByte
;Save value to send
movwf tmpLcdRegister
;Invia i quattro bit piu' significativi
bcf PORTC,LCD_DB4
bcf PORTC,LCD_DB5
bcf PORTC,LCD_DB6
bcf PORTC,LCD_DB7
btfsc tmpLcdRegister,4
bsf PORTC,LCD_DB4
btfsc tmpLcdRegister,5
bsf PORTC,LCD_DB5
btfsc tmpLcdRegister,6
bsf PORTC,LCD_DB6
btfsc tmpLcdRegister,7
bsf PORTC,LCD_DB7
EN_STROBE
;----------------------------
call delay
;----------------------------
;Send lower four bits
bcf PORTC,LCD_DB4
bcf PORTC,LCD_DB5
bcf PORTC,LCD_DB6
bcf PORTC,LCD_DB7
btfsc tmpLcdRegister,0
bsf PORTC,LCD_DB4
btfsc tmpLcdRegister,1
bsf PORTC,LCD_DB5
btfsc tmpLcdRegister,2
bsf PORTC,LCD_DB6
btfsc tmpLcdRegister,3
bsf PORTC,LCD_DB7
EN_STROBE
;----------------------------
call delay
;-----------------------------
END
Per chi vuole scaricarlo per leggerlo meglio metto il link https://docs.google.com/open?id=0B7cdFHs0n1-NR3hnRXZwM1M5MGc
Ringrazio in anticipo tutti coloro vorranno aiutarmi.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




