Me gustaría saber configuración sobre memoria RAM interna del 16F84A.
Descarguen el Proteger 16F84A.rar abajo. Lo explica todo.
Descarguen el Proteger 16F84A.rar abajo. Lo explica todo.
Código:
;************************************ Proteccion_01.asm *************************************
;
; El Puerto B, que actúa como salida es controlado por el bit 0 del Puerto A, que actúa como
; entrada. De manera tal que:
; - Si el bit 0 del PORTA es "1", se encienden todos los diodos LED de salida.
; - Si el bit 0 del PORTA es "0", se encienden los LED del nibble alto y se apagan los bajo.
;
; ZONA DE DATOS *********************************************************************
LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
; ZONA DE CÓDIGOS ********************************************************************
ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B se configuran como salida.
movlw b'00011111' ; Las 5 líneas del Puerto A se configuran como entrada.
movwf TRISA
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal ; Supone que el bit de entrada estará a "1" y por
movlw b'10000000' ; tanto se van encender el LED del bit 7, RB7.
btfss PORTA,0 ; ¿Bit 0 del PORTA es "1"?
goto Cuelgue ; No. Bloqueo hacia Sleep.
movlw b'00000000' ; Sí.
movwf PORTB ; Resultado se visualiza por el puerto de salida.
goto Principal ; Crea un bucle cerrado e infinito.
Cuelgue
movlw b'10000000'
movwf PORTB ; Se muetra 0 en las salidas.
Sleep ; Se que en estado Sleep (Sueño) y no sale de ahí. Con lo cual,
; queda el pic inoperativo.
; Para volver a hacer funcionar el pic, hay que volve a grabar el pic.
; La entrada RA0 tiene que estar a 1, desde que se ponga a 0 entra en
; estado Sleep.
END ; Fin del programa.