TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: gustav03 en 11 de Enero de 2005, 09:05:00

Título: Tabla de funciones en asm
Publicado por: gustav03 en 11 de Enero de 2005, 09:05:00
a esta funcion se le pasa el valor te la tecla presionada en un teclado de 4x4


tabla_fun
      ;clrf    PCLATH
      addwf   PCL       ;agrega al cont. programa el valor de work
      retlw   00h
      retlw   00h
      call    uno      ;1
      retlw   00h            
      call   dos      ;2
      retlw   00h
      call   tres      ;3
      retlw   00h
      call   cuatro     ;4
      retlw   00h
      call   f5      ;5
      retlw   00h
      call   f6      ;6
      retlw   00h
      call   f7      ;7
      retlw   00h
      call   f8      ;6
      retlw   00h
      call   f9      ;9
      retlw   00h
      call   f10      ;10
      retlw   00h
      call   f11      ;11
      retlw   00h
      call   f12      ;12
      retlw   00h
      call   f13      ;13
      retlw   00h
      call   f14      ;14
      retlw   00h
      call   f15      ;15
      retlw   00h
      call   f16      ;16
      retlw   00h

a alguien se le ocurre otra manera ?
                               
Título: RE: Tabla de funciones en asm
Publicado por: wqtrp en 11 de Enero de 2005, 16:52:00
hola, en realida a ese tipo de funcion no se le pasa el valor de la tecla presionada , sino un codigo numerico de tecla q en este caso conviene q sea de 0 a 15 o algo asi.
y lo q hace la rutina es asignar el verdadero valor de esa tecla, por ej # o * o una letra.
normalmente la tabla se construye solo con RETLW xx donde xx es el dato a retornar para ese valor de la matriz.
tienes q tener en cuenta en el addwf PCL para q micro lo haces, ya q saltara de a una word siempre y para la serie 18 esto son 2 bytes..
ademas los codigos de devolucion no pueden cruzar una pagina de memoria, sino tendras problemas y la rutina es bastante mas compleja.
espero te sirva y te diria q busques en microchip algun AN q maneje teclado y veras como se construye en forma completa

Suerte.
Título: RE: Tabla de funciones en asm
Publicado por: gustav03 en 12 de Enero de 2005, 20:25:00
hola !Como estas ?
te cuento que a mi me anda este metodo u lo uso porque con el teclado controlo los parametros de doa motores y llamar a una funcion para que me ture un dato almasenado en el registro W no es practico es mejor llamar en cada parte de la tabla a una nueva funcion (si te da la pila claro !) y realizar unos calculos simples o actualizar los valores del puerto .Bueno la idea es esa pero como la call de la tabla esta en ina rutina de interrupcion no me siento comodo .Mi pregunta es: si hay otra forma de hacer esto ?  
Gracias de todos modos y espero en el futuro poder ayudarte Giño