Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

01/05/2011 #1

Avatar de yamilongiano

comando btfsc para pic16f84
Hola a todos al grano usando el picsimulator en clases nos enseñaron la intruccion para poder leer una variable.

bueno la cosa es que no puedo prender un led y no se que esta mal:
Uso proteus y picsimulator ide

aqui el codigo:

org 0x00
rb1 equ 1
ra1 equ 1

bsf status,rp0 ;me cambio de banco 1
bcf trisb,rb1 ; rb1 como entrada
bsf trisa,ra1 ; ra1 como salida

bcf status,rp0 ; vuelvo al banco 0
btfsc porta,ra1 ; pregunta el estado de la entrada si es bajo se salta y no prende el led.
bsf portb,rb1 ; prende el led
end

si no es mucha molestia cual es el error que tengo.perdon mi ignorancia pero nadie nace caminando y me cuesta un poco entender, la explicacion del profe no me dejo muy claro.

se lo que hace la instruccion :

BTFSC Test de bit y salto
esta es la conexion

Descripción: Si el bit b del registro f es 0, se salta una instrucción y se continúa con la ejecución. En caso de salto, ocupará dos ciclos de reloj.
conexion en proteus:

muchas gracias por su tiempo.
04/05/2011 #2


te falta la cabecera de el programa
04/05/2011 #3

Avatar de yamilongiano

como la cabecera no entiendo?
demas creoq ue en el picsimulator no es necesario o no ?
05/05/2011 #4
Moderador

Avatar de Chico3001

Primero necesitas revisar los comentarios....

bsf status,rp0 ;me cambio de banco 1
bcf trisb,rb1 ; rb1 como entrada <-----pones a 0 RB1 y eso indica una salida (Output)
bsf trisa,ra1 ; ra1 como salida <---- pones a 1 RA1 y eso indica una entrada (Input)
Segundo... no veo una instruccion para que el PIC ejecute el programa en forma de ciclo, por lo que tu programa se ejecutara en unos 50uS y no creo que te de tiempo de presionar el boton tan rapido

coloca una etiqueta y un goto (etiqueta) para que el PIC siempre este ejecutando el programa

Código:
org 0x00
rb1 equ 1
ra1 equ 1

bsf status,rp0 ;me cambio de banco 1
bcf trisb,rb1 ; rb1 como entrada
bsf trisa,ra1 ; ra1 como salida

loop:
bcf status,rp0 ; vuelvo al banco 0
btfsc porta,ra1 ; pregunta el estado de la entrada si es bajo se salta y no prende el led.
bsf portb,rb1 ; prende el led
goto loop
end
08/05/2011 #5

Avatar de yamilongiano

muchas gracias por tu aporte, si tenia errores de muy noob gracias por todo.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.