Muchas gracias por responder!
Lo que hace al simular es que al activar el sensor 1 o el 3 el motor gira solo hacia la izquierda y eso sin tocar ningún pulsador y no lo se porque. Es lo único que hace.
Gracias por responder.
Pero por lo que vi esos pines son actuvos con flancos positivos.
Saludos
Gracias por responder.
Pero por lo que vi esos pines son actuvos con flancos positivos.
Saludos
No estás trabajando con interrupciones, estás trabajando por estados.
Esto de aquí:Código: QBasic/QuickBASICSignifica que si PUNO está en 1 lógico salta a UNO. Y por lo tanto cuando energizas tu hardware, casi inmediatamente salta a UNO el contador del programa, sin haber presionado el pulsador.
IF PUNO=1 THEN GOTO UNO
Hice otro dejando "banderas" para guardar el estado. Pero para probar solo hice con el primer pulsador y sacando los GOTO. Aun así no funciona...
Si es posible lo podríamos discutir de manera privada y mas directa, ya que noto que realmente sabes del tema y podes sacarme mis dudas, y sos el único que me respondió siguiendo el caso. Sino no hay problema. GraciasCódigo: QBasic/QuickBASIC
CMCON=7 TRISA=0 TRISB=%11100111 PORTA=0 PORTB=0 PISO1 VAR BYTE CABINA VAR BYTE BAJAR VAR BIT PARAR VAR BIT PUNO var PORTB.5 'Piso uno PDOS var PORTB.6 'Piso dos PTRES var PORTB.7 'Piso tres SUNO var PORTB.0 'SENSOR piso uno SDOS var PORTB.1 'SENSOR piso dos STRES var PORTB.2 'SENSOR piso tres PISO1=0 CABINA=0 BAJAR=0 PARAR=0 PORTA.1=1 PORTA.2=1 INICIO: pause 50 PISO1=1 pause 50 PARAR=1 IF PARAR=1 THEN pause 50 HIGH PORTA.1 HIGH PORTA.2 PISO1=0 ENDIF ENDIF ELSE ENDIF '----------- PAUSE 50 PISO1=1 pause 50 BAJAR=1 IF BAJAR=1 THEN pause 50 high PORTA.1 low PORTA.2 IF SUNO=1 THEN pause 50 PARAR=1 IF PARAR=1 THEN pause 50 BAJAR=0 PISO1=0 HIGH PORTA.1 HIGH PORTA.2 ENDIF ENDIF ENDIF ENDIF ELSE ENDIF '----------- PAUSE 50 PISO1=1 pause 50 BAJAR=1 IF BAJAR=1 THEN pause 50 high PORTA.1 low PORTA.2 IF SUNO=1 THEN pause 50 PARAR=1 IF PARAR=1 THEN pause 50 BAJAR=0 PISO1=0 HIGH PORTA.1 HIGH PORTA.2 ENDIF ENDIF ENDIF ENDIF ELSE ENDIF GOTO inicio
Hice otro dejando "banderas" para guardar el estado. Pero para probar solo hice con el primer pulsador y sacando los GOTO. Aun así no funciona...
Si es posible lo podríamos discutir de manera privada y mas directa, ya que noto que realmente sabes del tema y podes sacarme mis dudas, y sos el único que me respondió siguiendo el caso. Sino no hay problema. GraciasCódigo: QBasic/QuickBASIC
CMCON=7 TRISA=0 TRISB=%11100111 PORTA=0 PORTB=0 PISO1 VAR BYTE CABINA VAR BYTE BAJAR VAR BIT PARAR VAR BIT PUNO var PORTB.5 'Piso uno PDOS var PORTB.6 'Piso dos PTRES var PORTB.7 'Piso tres SUNO var PORTB.0 'SENSOR piso uno SDOS var PORTB.1 'SENSOR piso dos STRES var PORTB.2 'SENSOR piso tres PISO1=0 CABINA=0 BAJAR=0 PARAR=0 PORTA.1=1 PORTA.2=1 INICIO: 'Piso 1 WaitMs 50 piso = 1 bajar = 1 subir = 0 Endif IF piso = 1 THEN WaitMs 50 bajar = 0 piso = 0 Endif Endif '------- 'Piso 2 WaitMs 50 piso = 2 IF suno = 1 THEN subir = 1 IF stres = 1 THEN bajar = 1 Endif IF piso = 2 THEN WaitMs 50 bajar = 0 subir = 0 piso = 0 Endif Endif '------- 'Piso 3 WaitMs 50 piso = 3 bajar = 0 subir = 1 Endif IF piso = 3 THEN WaitMs 50 bajar = 0 subir = 0 piso = 0 Endif Endif GOTO inicio