Autor Tema: Que falla en este bucle?  (Leído 3128 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Que falla en este bucle?
« en: 12 de Noviembre de 2003, 15:50:00 »
Vereis os explico, he exo este bucle:

Codigo:

WAIT   BTFSC   PORTA,0
   CALL   MUE_CEN
   BTFSC   PORTA,1
   CALL   MUE_DEC
   BTFSC   PORTA,2
   CALL   MUE_UNI
   BTFSC   PORTA,3
   GOTO   RESET
   GOTO   WAIT



Con esto lo que trato de hacer es que, esté rastreando constantemente las puertas RA0 hasta RA3, y cuando detecte que se ha pasado de un 0 a un 1, es decir, se ha activado ese pulsador, para no complicarlo muxo, he supuesto que solo se podrá pulsar uno cada vez, una vez detecte pulsación se invocará a la subrutina pertinente, si no detecta nada al akabar el ciclo se vuelve a llamar a WAIT, y ahi estaremos hasta q se pulse alguna, pues bien, si lo simulo con el mpsin funciona perfectamente, pero si pongo el pic en la Trainer no va como deberia....... para q funcione bien (en la trainer) tngo q tener las RA a 1, y entonces al ponerlas a 0 es cuando funciona, es decir, justo al reves de lo que se supone he programado........alguien lo entiende??? pq yo no :P

Gracias

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Que falla en este bucle?
« Respuesta #1 en: 12 de Noviembre de 2003, 17:38:00 »
estoy apunto de que me de algo ... vamos a ver, la instruccion:
btfsc --> mira si el bit X del registro Y, está a 0, y si es así salta la instruccion que tiene acontinuacion no??
lo mismo con btfss --> pero mira que esté a 1, si lo está salta la instruccion que le precede.......

o eso es lo q tengo entendido, pero bien, ahora voy y leo esto:
http://www.todopic.com.ar/asm/_PRINCIPIANTES/contador_decimal_de_pulsos.TXT
Codigo:

ciclo   btfsc   porta,0 ; pregunto si el pulsador S1 está oprimido
   goto   ciclo   ; si no lo está continuo revisándolo
   call   retardo ; si está oprimido retardo 100 ms


Algo se me escapa... me toi volviendo loco seguro...

me voy a dormir... x favor iluminadmeee

Gracias

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Que falla en este bucle?
« Respuesta #2 en: 12 de Noviembre de 2003, 18:15:00 »
no podia irme a dormir tnia q saber q pasaba.... pues bien, parece q yo estaba en lo cierto, y no habia fallo de programación, sino en la micropictrainer.... x alguna razon los conmutadores inferiores, cuando pone un 1 (es decir, cuando están arriba) estan metiendo 0V, y al ponerlos donde pone 0 (es decir, abajo), meten los 5 voltios..................... me he dado cuenta al probarlo con los controles analógicos, que hacia bien el cambio...... ahora bien, es un fallo de la serigrafia?? o esq la placa funciona al reves???

weno me voy a dormir, ahora si, trankilo

saludos

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Que falla en este bucle?
« Respuesta #3 en: 12 de Noviembre de 2003, 19:18:00 »
Hola Venum, lo del pulsador es segun el diseño del programador... yo acostumbro a colocar los pulsadores a masa o negativo, de manera que al pulsarlos se VEA un cero en la entrada del pic... pero si conectas el pulsador a positivo, y el otro extremo una resistencia a masa, y la union entre la resistencia y el pulsador a la entrada del pic,  al pulsar, el pic VERA un UNO....  es decir, ambos circuitos funcionan, pero su logica es exactamente opuesta....  

y segun cual disposicion emplees, tendras que usar  BTFSS  o BTSSC
suerte!!!!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Que falla en este bucle?
« Respuesta #4 en: 12 de Noviembre de 2003, 22:53:00 »
Te voy a intranquilizar de nuevo Venum, en la Trainer 1 (serigrafía) --> 5V, 0(serigrafía) --> 0V.

El esquema de la trainer está hecho con interruptores, de forma que cuando está abierto el interruptor al PIC le entran 5V y cuando cerrado lanza 0V hacia el PIC.

El dibujo del 0 y del 1 en la Trainer está donde toca por tanto el error lo tendrás que buscar por otro sitio.

Un saludo

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Que falla en este bucle?
« Respuesta #5 en: 12 de Noviembre de 2003, 23:07:00 »
Pon el programa y te lo probaré cuando disponga de la trainer.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Que falla en este bucle?
« Respuesta #6 en: 13 de Noviembre de 2003, 08:01:00 »
pocher yo tengo la trainer 1.1 y aki parece q está al reves, lo he comprobado con el polimetro, i en efecto es como digo... cuando lo tengo en 0, por las RA está metiendo 5V, cuando lo tengo en 1, está metiendo 0V .... no se si es un fallo en todas las trainers o solo en esta (era un regalo de promoción por la subscripción a unos fasciculos para montar un microbot, x lo q no me extrañaria que regalaran los modelos "defectuosos" )

Salu2 y gracias

Desconectado diego.castano

  • PIC10
  • *
  • Mensajes: 10
RE: Que falla en este bucle?
« Respuesta #7 en: 26 de Noviembre de 2003, 18:06:00 »
HOLA  lo del bucle aparentemente es sencillo ahora estoy tratando
de hacer lo mismo leer los switch del puerto "a" pero en un diseño de programa ya hecho (nota AN590 de la microchip "reloj digital" tengo que buscar en que parte del programa hago una lectura de estos switch y que debo cambiar en el programa para que cuando pulse 2 al tiempo el reloj cuente la hora hasta las 1:10
si de pronto conocen la respuesta les agradezco responder al e-mail diego.castano01@usc.edu.co ya que los temas concuerdan e algo

GRACIAS