Professional Documents
Culture Documents
EJERCICIO 1: saltos_05.asm
;Compara el dato del puerto de entrada PORTA con un Numero. Tres posibilidades
;-Si (PORTA) = Numero se encienden todos los LEDS de salida
;-Si (PORTA) > Numero se activan los LEDS pares de salida
;-Si (PORTA) < Numero se encienden los LEDS del nivel alto y se apagan los del nivel bajo
movlw Numero
subwf PORTA,W ;(PORTA)-Numero-->(W)
movlw b'11110000' ;supone(PORTA)es menor.
btfss STATUS,C ;C=1?,(W)positivo?,(PORTA)>=Numero
goto ActivaSalida ;No. C=0, por tanto(PORTA)<Numero
movlw b'11111111' ;supone que son iguales
btfsc STATUS,Z ;Z=0?,son distintos?
goto ActivaSalida ;no. son iguales ya que Z=1
movlw b'01010101' ;SI, por tanto(PORTA)>Numero
ActivaSalida
movwf PORTB
goto Principal ;crea un bucle cerrado e infinito
End
EJERCICIO 2: tabla_03.asm
;Implementar una tabla de la verdad mediante el manejo de tablas grabadas en ROM. Por ejemplo, la tabla ser de 3
entradas y 6 salidas
;ZONA DE DATOS+++++++++++++++++++++++++++++++++++++++
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
;ZONA DE CODIGOS********
ORG 0 ;El programa comienza en la direccion 0.
Inicio
bsf STATUS,RP0 ;Acceso al banco 1.
clrf TRISB ;Las lineas del puerto B se configuran como salida
UNIVERSIDAD ESTATAL PENNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
ESCUELA DE ELECTRNICA Y TELECOMUNICACIONES
;Subrutina"TablaVerdad"---------------------
TablaVerdad
addwf PCL;F
retlw b'00001010' ;(configuracion 0)
retlw b'00001001' ;(configuracion 1)
retlw b'00100011' ;(configuracion 2)
retlw b'00001111' ;(configuracion 3)
retlw b'00100000' ;(configuracion 4)
retlw b'00000111' ;(configuracion 5)
retlw b'00010111' ;(configuracion 6)
retlw b'00111111' ;(configuracion 7)
END
EJERCICIO 3: retardo_02.asm
UNIVERSIDAD ESTATAL PENNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
ESCUELA DE ELECTRNICA Y TELECOMUNICACIONES
;El LED conectado a la lnea O del puerto B de salida se enciende durante 400ms y se apaga durante 300ms. Utiliza
las subrutinas de la librera RETARDOS.INC.
;*******RETARDO_02*********
;ZONA DE DATOS+++++++++++++++++++++++++++++++++++++++
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C
ENDC
#DEFINE LED PORTB,0
;ZONA DE CODIGOS********
ORG 0 ;El programa comienza en la direccion 0.
Inicio
bsf STATUS,RP0 ;Acceso al banco 1.
bcf LED ;linea del LED configurado como salida
bcf STATUS,RP0 ;acceso al banco 0
Principal
bsf LED ;enciende el LED
call Retardo_200ms ;durante la suma de este tiempo
call Retardo_200ms
bcf LED ;lo apaga durante la suma de los siguientes
call Retardo_200ms ;retardos
call Retardo_100ms
goto Principal