Microchip PIC 16F87X Trabajo Y Explicación página 67

Tabla de contenido

Publicidad

T
E
RABAJO Y
XPLICACIÓN
PROGRAMA 8
El manejo de la pantalla LCD
Este ejemplo pretende introducirnos en el manejo de la pantalla LCD, para la visualización
de diferentes mensajes.
List
include "P16F876.INC" ;Definiciones de registros internos
Lcd_var
equ
Delay_Cont
equ
Temporal_1
equ
Temporal_2
equ
org
goto
include "LCD_Cxx.inc" ;Incluye las rutinas de manejo del LCD
;------------------------------------------------------------------------------------------------------------------------------
;Según el valor contenido en el registro W, se devuelve el carácter a visualizar
Tabla_Mensajes movwf PCL
;------------------------------------------------------------------------------------------------------------------------------
;La directiva dt genera tantas intsrucciones retlw como bytes o caracteres contenga
Mens_0
equ
dt
Mens_1
equ
dt
Mens_2
equ
dt
Mens_3
equ
dt
;------------------------------------------------------------------------------------------------------------------------------
;Delay_var: Esta rutina de propósito general realiza una temporización variable entre 10 mS y 2.5". Se
;emplea un preescaler de 256 y al TMR0 se le carga con 195. La velocidad de trabajo es de 20Mhz y por
;tanto el TMR0 se incrementa cada 200nS. De esta forma, el TMR0 debe contar 195 eventos que, con un
;preescaler de 256 hace un intervalo total de 10000 uS (195 * 256 * 0,2). Este intervalo de 10 mS se repite
;tantes veces como indique la variable "Delay_cont", es por ello que el delay mínimo es de 10 mS
;("Delay_cont=1) y el máximo de 2.5" (Delay_cont=255).
Delay_var:
bcf
movlw b'195'
movwf TMR0
Intervalo
btfss
goto
decfsz Delay_Cont,F
goto
return
D
P
ESARROLLO
ROYECTOS Y
PIC 16F87
X
p=16F876
;Tipo de procesador
0x20
;Variables (2) de las rutinas de manejo del LCD
0x22
;Variable para la temporización
0x23
;Variable temporal
0x24
;Variable temporal
0x05
Inicio
;Calcula el desplazamiento sobre la tabla
$
"Trabajo / Explic",0x00
$
"PIC 16F87x",0x00
$
"Sebastian Martin",0x00
$
" Andoni Beraza",0x00
INTCON,T0IF ;Desconecta el flag de rebosamiento
;carga el TMR0 con 195
INTCON,T0IF ;Rebasamiento del TMR0 ??
Intervalo
;Todavía no
;Decrementa contador de intervalos
Delay_var
;Repite el intervalo de 10 mS
P
E
ROTOTIPOS
LECTRÓNICOS
2º DPE
67

Publicidad

Tabla de contenido
loading

Productos relacionados para Microchip PIC 16F87X

Tabla de contenido