LIST P = 16F877A
INCLUDE <P16F877A.INC>
ERRORLEVEL -302
__CONFIG _XT_OSC&_WDT_OFF&_PWRTE_OFF&_BODEN_OFF&_LVP_OFF&_CPD_OFF&_WRT_OFF&_DEBUG_OFF&_CP_ALL
;-----------------------------------------------------------------------------------------------------------
Definición de la RAM
cblock .32
WWW ;Para guardar el estado del registro W
ESTADO ;Para guardar el estado del registro STATUS
endc
;-----------------------------------------------------------------------------------------------------------
ORG 0
bcf STATUS,RP0 ;Selecciono el banco 0
bcf STATUS,RP1
goto INICIO
;-----------------------------------------------------------------------------------------------------------
INICIO ;Inicio del programa principal
clrwdt ;Borro el watchdog
clrf PORTA ;Borro los puertos
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE
bsf STATUS,RP0 ;Banco 1
movlw B'00000110' ;Todas salidas/entradas digitales
movwf ADCON1
movlw B'11111111' ;Configuro el puerto A, todo como estrada
movwf TRISA
movlw B'00000000' ;Configuro el puerto B, todo como salida
movwf TRISB
movlw B'11111111' ;Configuro el puerto C
movwf TRISC
movlw B'11111111' ;Configuro el puerto D
movwf TRISD
movlw B'11111111' ;Configuro el puerto E
movwf TRISE
bcf STATUS,RP0 ;Banco 0
clrf ADCON0 ;Convertidores A/D desactivados
INICIAL
movf PORTA,W
movwf PORTB
goto INICIAL
;-----------------------------------------------------------------------------------------------------------
End