T
E
RABAJO Y
XPLICACIÓN
;Mensaje: Esta rutina visualiza en el LCD el mensaje cuyo inicio está indicado en el acumulador. El fin
;de un mensaje se determina mediante el código 0x00
Mensaje
movwf Temporal_1
Mensaje_1
movf
call
movwf Temporal_2
movf
btfss
goto
return
No_es_ultimo
call
incf
goto
Inicio
clrf
bsf
clrf
movlw 0x06
movwf ADCON1
movlw b'00110001'
movwf TRISA
movlw b'00000111'
movwf OPTION_REG ;Preescaler de 256 para el TMR0
bcf
call
movlw b'00001100'
call
Loop
movlw b'00000001'
call
movlw Mens_0
call
movlw b'11000000'
call
movlw Mens_1
call
movlw b'200'
movwf Delay_Cont
call
movlw b'00000001'
call
movlw Mens_2
call
movlw b'11000000'
call
movlw Mens_3
call
movlw .200
movwf Delay_Cont
call
goto
end
D
P
ESARROLLO
ROYECTOS Y
PIC 16F87
X
;Salva posición de la tabla
Temporal_1,W ;Recupera posición de la tabla
Tabla_Mensajes ;Busca caracter de salida
;Guarda el caracter
Temporal_2,F
STATUS,Z
;Mira si es el último
No_es_ultimo
LCD_DATO
;Visualiza en el LCD
Temporal_1,F
;Siguiente caracter
Mensaje_1
PORTB
;Borra el Puerto B
STATUS,RP0
;Selecciona banco 1
TRISB
;Puerta B se configura como salida
;Puerta A digital
;RA1-RA3 salidas
STATUS,RP0
;Selecciona banco 0
LCD_INI
;Secuencia de inicio del LCD
LCD_REG
;Envía instrucción: LCD ON, Cursor OFF y blink OFF
LCD_REG
;Borra LCD y Home (colocar cursor en 1ª posición)
Mensaje
;Visualiza el mensaje 0
LCD_REG
;Coloca cursor en 2ª fila del LCD
Mensaje
;Visualiza mensaje 1
Delay_var
;Temporiza 2 segundos
LCD_REG
;Borra LCD y Home (colocar cursor en 1ª posición)
Mensaje
;Visualiza el mensaje 2
LCD_REG
;Coloca cursor en 2ª fila del LCD
Mensaje
;Visualiza el mensaje 3
Delay_var
;Temporiza 2 segundos
Loop
P
E
ROTOTIPOS
LECTRÓNICOS
2º DPE
68