• Domingo 29 de Septiembre de 2024, 11:32

Autor Tema:  Manejo De Menues  (Leído 1770 veces)

farmada

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Manejo De Menues
« en: Martes 31 de Agosto de 2004, 22:07 »
0
Perdon, pero alguien sabe donde puedo obtener informacion sobre tecnicas de programacion. Lo que quiero hacer es manejar un menu principal y desde alli manejar subrutinas y una salida de clock del PIC. El problema en que me encuentro es que si atiendo los pulsadores ya no puedo mantener la salida del clock.

oldkami

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Manejo De Menues
« Respuesta #1 en: Jueves 2 de Septiembre de 2004, 21:39 »
0
Te recomiendo la siguiente tecnica, en ella mueves un numero equivalente a la rutina y llamas una "tabla de rutinas" esta tabla realiza un goto a la rutina deseada
y desde cada una realizas un "Return"


Código: Text
  1.  
  2.  
  3.  
  4.  
  5. ;{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  6. ; Función    TABLA_DE_RUTINAS
  7.  
  8. ; Metodo de llamado
  9.  
  10. ;  movlw  NumMiRutina
  11. ;  movwf  TablaOffset
  12. ;  pagesel  TABLA_DE_RUTINAS  
  13. ;  call  TABLA_DE_RUTINAS
  14.  
  15. ; Descripción;  Ejecuta una rutina segun una tabla
  16. ; Detalle:    Se utiliza una tabla para realizar un llamado a rutina.
  17. ;    estas rutinas deben terminar en Return para la correcta
  18. ;    Ejecución.
  19. ; Salida:    goto  miRutina.
  20. ;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  21.  
  22. TABLA_DE_RUTINAS:
  23.   movlw  HIGH T_RUTINAS
  24.   movwf  PCLATH
  25.   banksel  TablaOffset
  26.   movlw  LOW T_RUTINAS
  27.   addwf  TablaOffset,W
  28.   btfsc  STATUS,C  &#59;se cruzo la pagina?
  29.   incf  PCLATH,F
  30.   movwf  PCL
  31.  
  32. T_RUTINAS
  33.   goto  CMD_A
  34.   goto  CMD_B
  35.   goto  CMD_C
  36.   goto  CMD_D
  37.   goto  CMD_E
  38.   goto  CMD_F
  39.  
  40.  
  41. CMD_A
  42.  
  43. &#59;...Codigo de A
  44.  
  45.   Return
  46.  
  47. CMD_B
  48. &#59;Codigo de B
  49.  
  50.   Return
  51.  
  52. etc...
  53.  
  54.  
  55.  

La salida de reloj es mejor hacerla mediante el pwm del PIC, con eso mientras se atiende el teclado puedes desentenderte del reloj.

Saludos...

Oldkami

farmada

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: Manejo De Menues
« Respuesta #2 en: Viernes 3 de Septiembre de 2004, 13:15 »
0
Realmente te agradezco muchísimo tu ayuda.

oldkami

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Manejo De Menues
« Respuesta #3 en: Lunes 6 de Septiembre de 2004, 23:22 »
0
:D