Autor Tema: !!!ayuda hacer un programa con pic16f84a un programa que contenga 3 en 1 ¡¡¡  (Leído 2165 veces)

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

Desconectado kiranevercry

  • PIC10
  • *
  • Mensajes: 1
nesesito una ayudadita esque no puedo acer un programa que contenga 3 que con un pushbuton aga una rutina y contro  otra rutina alguien sabe como aserlo no puedo pliss

es toy programando con el microcode estudio

primero que el  circuito cuando lo prenda este los led y el diplay apagado
y primero cuando pulse un boton tiene que aser la rutina  de que los leds se  vallan de un lado a lado
y cuando pulse el segundo boton aga un conteo del 0 al 9
y el ultimo boton que finalize en programa
miren el diagrama e sase
link de imagen por se no se ve http://lh4.ggpht.com/_nC4UpdGNc3Y/TPQ8KzYwunI/AAAAAAAAATA/hSyzYfJ2eeQ/Sin%20t%C3%ADtulo.png

y me codigo mas omenos es ase
TRISB=0
TRISA=11111
PORTB=%0
INICIO

IF PORTA.1=0 THEN
CICLO:
PORTB=%00000001
PAUSE 100
PORTB=%00000010
PAUSE 100
PORTB=%00000100
PAUSE 100
PORTB=%00001000
PAUSE 100
PORTB=%00010000
PAUSE 100
PORTB=%00100000
PAUSE 100
PORTB=%01000000
PAUSE 100
PORTB=%10000000
PAUSE 100
PORTB=%01000000
PAUSE 100
PORTB=%00100000
PAUSE 100
PORTB=%00010000
PAUSE 100
PORTB=%00001000
PAUSE 100
PORTB=%00000100
PAUSE 100
PORTB=%00000010
PAUSE 100
GOTO CICLO
ENDIF

IF PORTA.2=0 THEN
CICLO1:
PORTB=%00111111
PAUSE 400
PORTB=%00000110
PAUSE 400
PORTB=%01001111
PAUSE 400
PORTB=%01100110
PAUSE 400
PORTB=%00010000
PAUSE 400
PORTB=%01101101
PAUSE 400
PORTB=%01111101
PAUSE 400
PORTB=%00000111
PAUSE 400
PORTB=%01111111
PAUSE 400
PORTB=%01100111
PAUSE 400
GOTO CICLO1
ENDIF
IF PORTA.3=0 THEN
IN
PORTB=%0
GOTO IN      

GOTO INICIO
ENDIF
END

estoy programando en microcode estudio creo basic o ensamblador hehehe gracias por la yuda de antemano :lol: :x
« Última modificación: 29 de Noviembre de 2010, 21:05:42 por kiranevercry »

Desconectado XAVICOROSS

  • PIC12
  • **
  • Mensajes: 93
Re: ayuda con pic16f84a un programa que contenga 3 en 1
« Respuesta #1 en: 29 de Noviembre de 2010, 20:08:08 »
QUé tal, primero que nada, qué lenguaje usas, segundo, cuáles son los programas que quieres enlazar...

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: ayuda con pic16f84a un programa que contenga 3 en 1
« Respuesta #2 en: 29 de Noviembre de 2010, 20:09:42 »
Muestra el código que has realizado hasta el momento...
No contesto mensajes privados, las consultas en el foro

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: !!!ayuda hacer un programa con pic16f84a un programa que contenga 3 en 1 ¡¡¡
« Respuesta #3 en: 30 de Noviembre de 2010, 09:56:01 »
Lo que pasa es que cuando te entra en un bucle, ciclo1 o ciclo2 el programa ya no sale más del bucle. Debes poner la etiqueta CICLO1: i CICLO2: encima del IF.
Share the world !

Blog's

http://www.area0x33.com

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: !!!ayuda hacer un programa con pic16f84a un programa que contenga 3 en 1 ¡¡¡
« Respuesta #4 en: 30 de Noviembre de 2010, 12:58:46 »
Qué tal!

Kiranevercry, trata de evitar el uso de goto's innecearios. Pasa lo que te dijo jim, entra a un ciclo y no sale.
Te recomendaría usar mejor GOSUB que llamen a subrutinas y luego retornen al programa principal. Algo así:

Código: FreeBasic
  1. TRISB=0
  2. TRISA=11111
  3. PORTB=0
  4.  
  5. INICIO:
  6. IF PORTA.1=0 THEN GOSUB CICLO   ' Si se cumplen las condiciones van a la subrutina correspondiente
  7. IF PORTA.2=0 THEN GOSUB CICLO1  ' y vuelve al programa principal.
  8. IF PORTA.3=0 THEN GOSUB IN      
  9. GOTO INICIO                                'el programa principal se repite indefinidamente.
  10.  
  11. CICLO:
  12. PORTB=%00000001
  13. PAUSE 100
  14. PORTB=%00000010
  15. PAUSE 100
  16. PORTB=%00000100
  17. PAUSE 100
  18. PORTB=%00001000
  19. PAUSE 100
  20. PORTB=%00010000
  21. PAUSE 100
  22. PORTB=%00100000
  23. PAUSE 100
  24. PORTB=%01000000
  25. PAUSE 100
  26. PORTB=%10000000
  27. PAUSE 100
  28. PORTB=%01000000
  29. PAUSE 100
  30. PORTB=%00100000
  31. PAUSE 100
  32. PORTB=%00010000
  33. PAUSE 100
  34. PORTB=%00001000
  35. PAUSE 100
  36. PORTB=%00000100
  37. PAUSE 100
  38. PORTB=%00000010
  39. PAUSE 100
  40. RETURN
  41.  
  42.  
  43. CICLO1:
  44. PORTB=%00111111
  45. PAUSE 400
  46. PORTB=%00000110
  47. PAUSE 400
  48. PORTB=%01001111
  49. PAUSE 400
  50. PORTB=%01100110
  51. PAUSE 400
  52. PORTB=%00010000
  53. PAUSE 400
  54. PORTB=%01101101
  55. PAUSE 400
  56. PORTB=%01111101
  57. PAUSE 400
  58. PORTB=%00000111
  59. PAUSE 400
  60. PORTB=%01111111
  61. PAUSE 400
  62. PORTB=%01100111
  63. PAUSE 400
  64. RETURN
  65.  
  66. IN:
  67. PORTB=%0
  68. RETURN
  69.  
  70. END

Por otro lado, revisa las normas del foro... trata de no poner en el título palabras como "ayuda", "auxilio", y así por el estilo... sólo sé coloca un título que describa lo que estás haciendo y el problema.

Bueno espero que puedas resolver... cualquier cosa comentas por acá cómo te fue!  :)

Saludos, nos leemos!  :mrgreen:

P.D. El código que te coloqué es sólo explicativo, no creo que funcione para lo que tú quieres... es sólo para que veas el uso de los GOSUB, que es mejor a colocar por todos lados saltos GOTO.

EDITO: uy qué mal educado soy, se me olvidaba... kiranevercry, bienvenida al foro!  :-/  ;-)
« Última modificación: 30 de Noviembre de 2010, 19:55:54 por firepic »
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado XAVICOROSS

  • PIC12
  • **
  • Mensajes: 93
Re: !!!ayuda hacer un programa con pic16f84a un programa que contenga 3 en 1 ¡¡¡
« Respuesta #5 en: 30 de Noviembre de 2010, 18:39:19 »
FIREPIC ha solucionado tu problema...