Microcontroladores
Reyes Olgun Arturo
Matricula 1313083134
Mecatrnica 180501
18/02/2015
MARCO TEORIO:
normalmente.
Si el bit nmero b del registro f es 0 la instruccin que sigue a esta se ignora y se
salta.
INSTRUCCION btfss f,b
(bit test f, skip if set). Esta instruccin acta de forma contraria a la instruccin anterior:
normalmente
Si el bit nmero b del registro f es 1 la instruccin que sigue a esta se ignora y salta.
INSTRUCCIONES SALTOS1.
Disear, ensamblar, simular, grabar el microcontrolador y comprobar los siguientes programas.
Saltos_01.asm: el puerto B, que acta como salida, es controlado por el bit 0 de puerto A que
acta como entrada, de tal manera que:
PROGRAMA:
__CONFIG _HS_OSC
saltos_01.asm
LIST P=16F877A
INCLUDE <P16F877A.INC>
ORG 0x000
Inicio bsf STATUS,RP0
CONF_ADCON1 equ b'00000110'
clrf TRISB
bsf STATUS,RP0
bcf STATUS,RP1
movlw CONF_ADCON1
Configuracion
PORTA
entradas
PORTB salidas
PORTA =w
Inicio
movwf ADCON1
clrf TRISB
clrf TRISC
movlw b'11111111'
W=1?
movwf TRISA
bcf STATUS,RP0
SI
Prenden
todos
led
bcf STATUS,RP1
Principal
btfss PORTA,0
goto on
goto of
on
movlw b'11111111'
movwf PORTB
movwf PORTC
goto Principal
of
movlw b'11110000'
movwf PORTB
prenden led
nible
NO
alto.
GOTO
GOTO
los
movwf PORTC
PRINCIPAL
goto Principal
END
EVIDENCIAS:
Entrada de datos PORTA=00000001, Salida PORTB=11111111
INSTRUCIONES SALTOS2
Saltos_2.asm:
Compara el dato del Puerto de entrada, PORTA con el nmero 13.
Pueden darse dos posibilidades:
__CONFIG _HS_OSC
LIST P=16F877A
INCLUDE <P16F877A.INC> ORG 0x000
Inicio
bsf STATUS,RP0
CONF_ADCON
Saltos 2
1 equ b'00000110'
clrf TRISB
bsf STATUS,RP0
bcf STATUS,RP1
Configuracin
PORTA=ENTRA
DA
PORTB=SALID
AS PORTA=W
movlw CONF_ADCON1
movwf ADCON1
INICIO
clrf TRISB
clrf TRISC
movlw b'00111111'
movwf TRISA
W=13
SI
bcf STATUS,RP0
bcf STATUS,RP1
Principalbtfsc PORTA,0
NO
goto uno
goto pares uno
btfsc PORTA
goto pares
Prenden
todos los
led de
salida
GOTO
Solo prenden
los leds pare
btfsc PORTA,2
goto tres
goto pares tres
btfss PORTA,3
goto pares
movlw b'11111111'
movwf PORTB
movwf PORTC
goto Principal
pares
movlw b'01010101'
movwf PORTB
movwf PORTC
goto Principal
END
principal
GOTO
SALTOS3
Compara el dato introducido por el PORTA, que acta como entrada por un nmero, pueden darse 2
posibilidades:
__CONFIG _HS_OSC
LIST P=16F877A I
NCLUDE <P16F877A.INC> ORG 0x000
Inicio
bsf STATUS,RP0
CONF_ADCON1
equ b'00000110'
clrf TRISB
bsf STATUS,RP0
bcf STATUS,RP1
movlw CONF_ADCON1
movwf ADCON1
clrf TRISB
clrf TRISC
movlw b'00111111'
movwf TRISA
bcf STATUS,RP0
bcf STATUS,RP1
Saltos_03.asm
Configuracin
PORTA=ENTRADA
PORTB=SALIDA
W=PORTA
NUMERO=14
principal
movlw d'14'
subwf PORTA,W
btfsc STATUS,C
goto mayor
movlw b'01010101'
movwf PORTB
movwf PORTC
goto principal mayor
movlw b'11111111'
movwf PORTB
movwf PORTC
goto principal
END
WNUMERO?
SI
NO
PRENDEN SOLO
LEDS PARES DE
SALIDA
PRENDEN TODOS
LOS LEDS
GOTO
GOTO
WNUMERO?
CONCLUCIONES:
Es importante recordar, que es muy recomendable simular el programa,
antes de llevarlo a la forma fsica, ya que pueden existir ciertos errores en
el programa que afectaran el funcionamiento del circuito, si es necesario,
revisar con atencin el programa ya que puede suceder que el erro que
tenga no lo detecte el programa, tratar con cuidado el integrado, ya que sus
pines son muy frgiles, lo programas no son tan difciles de entender ,
recomendamos que si es necesario aprendan de memoria el cuerpo
principal del programa ya que en muchos casos es muy similar para
cualquier programa de este tipo de dificultad.