TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: macedo en 12 de Marzo de 2012, 12:00:56
-
Hola, estoy enviando unos caracteres a mi lcd pero estos me salen en negativo, o sea donde deberia habe un punto esta en blanco, les paso el cod.
INIT_LCD
BCF LCD_RST ; Activa reset a nivel bajo
MOVLW D'50'
CALL DELAY ; Retardo en ms, que se carga en W.
BSF LCD_RST ; Activa reset a nivel alto
SET_LCD
MOVLW D'1'
CALL DELAY ; Retardo en ms, que se carga en W.
movlw 0x21 ; Chip enable solamente.
call TX_SPI_C
movlw 0xC8 ; Vop
call TX_SPI_C
movlw 0x06 ; Set Temp coefficent.
call TX_SPI_C
movlw 0x13 ; LCD bias mode 1:48.
call TX_SPI_C
movlw 0x20 ; Horizontal mode, normal set command.
call TX_SPI_C
movlw 0x08 ; Mod control all dots on 9
call TX_SPI_C
MOVLW D'10'
CALL DELAY ; Retardo en ms, que se carga en W.
movlw 0x0C ; Mod control normal.
CALL TX_SPI_C ; Transmicion por SPI de comandos
MOVLW D'50'
CALL DELAY ; Retardo en ms, que se carga en W.
CALL CLEAR_LCD
RETLW 0X00
Y si le envió el comando de invertir el video me pone la pantalla en negro donde no hay caracteres y no me sirve así.
Hay alguna forma de que los caracteres se vean normales así como la pantalla.
Saludos
-
Hola tenia un problema con mi lectura de tabla:
SEND_COMANDO_9
movlw UPPER tabla1
movwf MsnAddressUpper
movlw HIGH tabla1
movwf MsnAddressHigh
movlw LOW tabla1
movwf MsnAddressLow
CARGO_COMANDO2
movff MsnAddressUpper,TBLPTRU
movff MsnAddressHigh,TBLPTRH
movff MsnAddressLow,TBLPTRL
CARGO_CARACTER2
TBLRD*+ ; Leo la tabla
movff TABLAT,TEMP_CARACTER ; Cargo el dato
movf TEMP_CARACTER ,W ; Cargo W para comparar
xorlw 0xfd
BTFSC STATUS,Z
GOTO COMANDO_FIN
CALL TX_SPI_D ; y lo envio
TBLRD*+ ; Leo la tabla nuevamente para saltearme un dato
movff TABLAT,TEMP_CARACTER ; Cargo el dato
CLRF TEMP_CARACTER ; y lo borro
bra CARGO_CARACTER2 ; Vuelvo a empezar
COMANDO_FIN
RETLW 0X00 ; Vuelve al programa principal.
En esta parte:
movf TEMP_CARACTER ,W ; Cargo W para comparar
xorlw 0xfd
BTFSC STATUS,Z
Aca depende del valor de test que le ponia, 0xFD, me modificaba TEMP_CARACTER, ya que usaba XORWF.
Saludos