necesito ayuda urgente alguien me puede ayudar con el siguiente programa necesito:
Problema , realizar un programa para micro controlador que realice lo siguiente :
•Cada vez que se presione el pulsador se enciende led_1
•En todo momento debe titilar un diodo led_2 con salida de frecuencia 20 hz
•De acuerdo al numero de veces presionado el pulsador entonces debe de cumplir la siguiente tabla
Pulsador
# veces presionado /Salida de 8 bits (LED) con una frecuencia visible avance secuencial
3 / 10000000 >>>> indefinido
5 / 00000001 <<<< 5 veces y espera
8 / 00011000 <<>> 3 veces y espera
10 / 10000001 >><<
00011000 << >> se repite el ciclo indefinidamente
tengo hecho todo,.. el problema es que no c como hacer titilar el diodo led_2 sin me afecte o dañe todo el programa.
este es mi programa:
adjunto programa y simulacion hecho en proteus:
Ver el archivo adjunto Deber robotic1.rar
Problema , realizar un programa para micro controlador que realice lo siguiente :
•Cada vez que se presione el pulsador se enciende led_1
•En todo momento debe titilar un diodo led_2 con salida de frecuencia 20 hz
•De acuerdo al numero de veces presionado el pulsador entonces debe de cumplir la siguiente tabla
Pulsador
# veces presionado /Salida de 8 bits (LED) con una frecuencia visible avance secuencial
3 / 10000000 >>>> indefinido
5 / 00000001 <<<< 5 veces y espera
8 / 00011000 <<>> 3 veces y espera
10 / 10000001 >><<
00011000 << >> se repite el ciclo indefinidamente
tengo hecho todo,.. el problema es que no c como hacer titilar el diodo led_2 sin me afecte o dañe todo el programa.
este es mi programa:
Código:
mi_contador VAR BYTE
num_veces Con 3
OUT_B var byte
H VAR BYTE
I VAR BYTE
pulsador var PORTA.0
LED_1 var PORTC.0
trisb =%00000000
TRISA =%00000011
ADCON1 = %00000110
PORTB=0
mi_contador = 0
LED_1 = 0
INICIO :
PORTB=0
while (pulsador == 0)
wend
HIGH LED_1
WHILE (pulsador == 1)
WEND
LOW LED_1
IF (pulsador == 1) then GOTO PULSOS
PULSOS:
mi_contador = mi_contador +1
if (mi_contador = 10) then goSUB FINAL
if (mi_contador = 8) then goSUB ledX_4
IF (mi_contador = 5) then goSUB ledX_3
if (mi_contador = num_veces) then goSUB ledX_2
goto inicio
LedX_2:
out_B =%00000001
PORTB = out_B
IZQ :
pause 15
out_B = OUT_B<<1
PORTB = out_B
pause 15
IF PORTB.7 == 1 THEN LedX_2
IF (pulsador == 1) then GOTO INICIO
goto IZQ
LedX_3:
out_B =%10000000
PORTB = out_B
DER :
pause 15
out_B = OUT_B>>1
PORTB = out_B
pause 15
IF (H=5) then GOTO INICIO
IF PORTB.1 == 1 THEN H=H+1
IF PORTB.0 == 1 THEN LEDX_3
GOTO DER
ledX_4:
FOR I= 1 TO 3
out_B =%00011000
PORTB = out_B
PAUSE 30
out_B =%00100100
PORTB = out_B
PAUSE 30
out_B =%01000010
PORTB = out_B
PAUSE 30
out_B =%10000001
PORTB = out_B
PAUSE 30
NEXT I
IF (I>3) then GOTO INICIO
FINAL:
out_B =%10000001
PORTB = out_B
PAUSE 30
out_B =%01000010
PORTB = out_B
PAUSE 30
out_B =%00100100
PORTB = out_B
PAUSE 30
out_B =%00011000
PORTB = out_B
PAUSE 30
out_B =%00100100
PORTB = out_B
PAUSE 30
out_B =%01000010
PORTB = out_B
PAUSE 30
out_B =%10000001
PORTB = out_B
PAUSE 30
GOTO FINAL
End
adjunto programa y simulacion hecho en proteus:
Ver el archivo adjunto Deber robotic1.rar
Última edición por un moderador: