TODOPIC
FORO TÉCNICO => Telefonía, GPS y Microcontroladores => Mensaje iniciado por: rnelson en 09 de Octubre de 2005, 19:00:00
-
Saludos a todos
En esta oportunidad les escribo para que me ayuden a solucionar un problema, el cual describo a continuacion:
Necesito enviar datos de modo DTMF para el cual he estado usando el MT5089 y MT8870 el cual me ha ido bastante bien, pero se me ha presentado un problema que no hallo como resolver, ya que necesito enviar unas combinaciones de 8 bits a travez de los mismos y estos solo me permiten 16 combinaciones, ya que trabajaban con 4 bits, estube pensando en enviar 4 veces un dato de 4 bits para ejecutar una accion, pero el programa del pic se me hace muy complejo.
Si alguien me puede ayudar a resolver este inconveniente se los agradecere muchisimo.
Atte. Nelson...
-
hola rnelson, creo que una solucion seria enviar el BYTE en dos nibbles de 4 bits como mencionas, y para facilitar el programa usa la instruccion SWAPF que invierte los nibbles de un registro por ejemplo:
MOVF REGISTRO,W
ANDLW 0F0H
MOVWF PORT_B ;saca los bits mas significativos por rb7..4
.
.
SWAPF REGISTRO,W
ANDLW 0FH
MOVWF PORT_B ;saca los bit menos significativos por rb7..4
.
.
espero te sirva
saludos
Osvaldo
-
Gracias brother de verdad que no conocia ese comando, lo voy a probar y te cuento como me fue
Saludos....
-
Te adjunto una tabla que indica la conversion de ASCII to DTMF, yo tuve que transmitir datos asi e implemente esto y funciona perfecto, claro que la tasa de transferencia es baja pero en mi caso eran tramas cortas por lo que no tuve problemas, espero que sirva.