TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: wil2492669 en 24 de Noviembre de 2016, 20:29:08
-
SALUDOS .... ESTOY INICIANDO CON MIKROBASIC Y ESTUVE TRATANDO DE HACER ALGO SENCILLO , PERO EL PROGRAMA NO ME FUNCIONA .... CONSISTE EN 4 LEDS Y CUATRO PULSADORES , CADA LED SE ENCIENDE DESPUES DE PRECIONAR UN PULSADOR , CON LOS PULSADORE 1 Y 2 NO HAY PROBLEMA , PERO CON LOS PULSADORES 3 Y 4 NO FUNCIONAN , GRACIAS
program _5
symbol D1 = PORTB.0
SYMBOL D2 = PORTB.1
SYMBOL D3 = PORTB.2
SYMBOL D4 = PORTB.3
DIM ESTADO AS BYTE
MAIN:
TRISB = 0X00
TRISD = 0XFF
D1 = 0
D2 = 0
D3 = 0
D4 = 0
PULSADORES:
ESTADO = Button(Portd,0,50,1)
IF ESTADO = 255 then
gosub led1
END IF
ESTADO = BUTTON(PORTD,1,50,1)
IF ESTADO = 255 THEN
GOSUB LED2
END IF
GOTO PULSADORES
ESTADO = BUTTON(PORTD,2,50,1)
IF ESTADO =255 THEN
GOSUB LED3
END IF
GOTO PULSADORES
ESTADO = BUTTON(PORTD,3,50,1)
IF ESTADO =255 THEN
GOSUB LED4
END IF
GOTO PULSADORES
LED1:
D1 = 1
DELAY_MS(1000)
D1 = 0
RETURN
LED2:
D2 = 1
DELAY_MS(1000)
D2 = 0
RETURN
LED3:
D3 = 1
DELAY_MS(1000)
D3 = 0
RETURN
LED4:
D4 = 1
DELAY_MS(1000)
D4 = 0
RETURN
END.
-
Estas bloqueando parte del codigo con tantos gotos:
main:
TRISB = 0x00
TRISD = 0xff
d1 = 0
d2 = 0
d3 = 0
d4 = 0
pulsadores:
estado = _button(port_d, 0, 50, 1)
If estado = 255 Then
Gosub led1
Endif
estado = _button(port_d, 1, 50, 1)
If estado = 255 Then
Gosub led2
Endif
estado = _button(port_d, 2, 50, 1)
If estado = 255 Then
Gosub led3
Endif
estado = _button(port_d, 3, 50, 1)
If estado = 255 Then
Gosub led4
Endif
Goto pulsadores
-
Muchas gracias .... :)