Hola a todos, soy nuevo en esto de los microcontroladores y en el lenguaje del Proton IDE.
Tengo un proyecto que es hacer un pendulo mediante dos barras LED, conectadas al puerto B y al puerto C respectivamente, pero con la condición de que pare cuando presione un pulsador e inicie el péndulo cuando presione otro pulsador. Ya hice que el pendulo iniciara cuando presione un botón, pero no logro hacer que pare. Adjunto mi código, quizás hay una manera más corta de hacerlo pero así lo hice yo:
Tengo un proyecto que es hacer un pendulo mediante dos barras LED, conectadas al puerto B y al puerto C respectivamente, pero con la condición de que pare cuando presione un pulsador e inicie el péndulo cuando presione otro pulsador. Ya hice que el pendulo iniciara cuando presione un botón, pero no logro hacer que pare. Adjunto mi código, quizás hay una manera más corta de hacerlo pero así lo hice yo:
Código:
Device 16F870
XTAL = 20
ALL_DIGITAL=true
TRISB = 0
PORTB = 0
TRISC = 0
PORTC = 0
TRISA = 1
Symbol BTN1 = PORTA.0
Symbol BTNStop = PORTA.1
Inicio:
If BTN1=1 Then
PORTB.0 = 1
DelayMS 200
PORTB.0 = 0
PORTB.1 = 1
DelayMS 200
PORTB.1 = 0
PORTB.2 = 1
DelayMS 200
PORTB.2 = 0
PORTB.3 = 1
DelayMS 200
PORTB.3 = 0
PORTB.4 = 1
DelayMS 200
PORTB.4 = 0
PORTB.5 = 1
DelayMS 200
PORTB.5 = 0
PORTB.6 = 1
DelayMS 200
PORTB.6 = 0
PORTB.7 = 1
DelayMS 200
PORTB.7 = 0
PORTC.0 = 1
DelayMS 200
PORTC.0 = 0
PORTC.1 = 1
DelayMS 200
PORTC.1 = 0
PORTC.2 = 1
DelayMS 200
PORTC.2 = 0
PORTC.3 = 1
DelayMS 200
PORTC.3 = 0
PORTC.4 = 1
DelayMS 200
PORTC.4 = 0
PORTC.5 = 1
DelayMS 200
PORTC.5 = 0
PORTC.6 = 1
DelayMS 200
PORTC.6 = 0
PORTC.7 = 1
DelayMS 200
PORTC.7 = 0
PORTC.6 = 1
DelayMS 500
PORTC.6 = 0
PORTC.5 = 1
DelayMS 200
PORTC.5 = 0
PORTC.4 = 1
DelayMS 200
PORTC.4 = 0
PORTC.3 = 1
DelayMS 200
PORTC.3 = 0
PORTC.2 = 1
DelayMS 200
PORTC.2 = 0
PORTC.1 = 1
DelayMS 200
PORTC.1 = 0
PORTC.0 = 1
DelayMS 200
PORTC.0 = 0
PORTB.7 = 1
DelayMS 200
PORTB.7 = 0
PORTB.6 = 1
DelayMS 200
PORTB.6 = 0
PORTB.5 = 1
DelayMS 200
PORTB.5 = 0
PORTB.4 = 1
DelayMS 200
PORTB.4 = 0
PORTB.3 = 1
DelayMS 200
PORTB.3 = 0
PORTB.2 = 1
DelayMS 200
PORTB.2 = 0
PORTB.1 = 1
DelayMS 200
PORTB.1 = 0
PORTB.0 = 1
DelayMS 200
PORTB.0 = 0
EndIf GoTo Inicio