Bueno, sed benevolos y consecuentes con el que suscribe, estaba en este momento mirando la configuración.
Este es el ejemplo:
; LIST P=16F84A
; INCLUDE <P16F84A.INC>
; __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
PROCESSOR 16F88
INCLUDE "p16f88.inc"
RADIX DEC
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB3 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_OFF & _WDT_OFF & _XT_OSC
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
CBLOCK 0x0C
Contador ; El contador a visualizar.
ENDC
#DEFINE Pulsador PORTA,4 ; Línea donde se conecta el pulsador.
; ZONA DE CÓDIGOS ********************************************************************
ORG 0
Inicio
call LCD_Inicializa
bsf STATUS,RP0
bsf Pulsador ; Línea del pulsador se configura como entrada.
bcf STATUS,RP0
clrf Contador ; Inicializa contador y los visualiza por 1ª vez,
call Visualiza
Principal
btfss Pulsador ; Lee el pulsador.
call IncrementaVisualiza ; Si pulsa salta a incrementar y visualizar el
goto Principal ; contador
; Subrutina "IncrementaVisualiza" -------------------------------------------------------
;
IncrementaVisualiza
call Retardo_20ms ; Espera a que se estabilicen los niveles de tensión.
btfsc Pulsador ; Vuelve a leer el pulsador.
goto Fin_Incrementa
incf Contador,F ; Incrementa el contador y después lo visualiza.
Visualiza
movlw .7 ; Se sitúa en el centro de la línea 1.
call LCD_PosicionLinea1
movf Contador,W
call BIN_a_BCD ; Se debe visualizar en decimal.
call LCD_Byte
EsperaDejePulsar
btfss Pulsador
goto EsperaDejePulsar
Fin_Incrementa
return
INCLUDE <RETARDOS.INC>
INCLUDE <BIN_BCD.INC>
INCLUDE <LCD_4BIT.INC>
END