Autor Tema: PWM con Duty Cycle de 10 bits guardado en EEPROM  (Leído 2094 veces)

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

Desconectado taviega

  • PIC10
  • *
  • Mensajes: 2
PWM con Duty Cycle de 10 bits guardado en EEPROM
« en: 12 de Mayo de 2011, 17:28:24 »
Estimados , hace tiempo que estoy en el tema de los micros , pero ahora tengo un problema y recurro a ustedes .
Aclaro que no tengo duda en como generar un PWM con un PIC y tampoco en como guardar en la EEPROM , me ocurre lo siguiente :

Genero un PWM con un 16f628 para 250 Hz y XT de 4 MHz , esto me implica usar un Prescaler de 16 y al variar el Duty de 10 % a 90 % los valores se van de 100 a 900 , por lo que se utiliza el registro CCPR1H y no solo el CCPR1L como en otros programas que he realizado  donde el Duty va hasta 255 máximo .
El Problema surge cuando hago un WRITE , ya que solo me guarda los valores hasta los que va el CCPR1L .

necesito un rutina o idea para guardar y recuperar con un READ el valor de Duty en estas condiciones , Hay alguna forma ( en Basic o asm ) de guardar y recuperar un registro de 10 bits o estos 2 registros ?
He probado guardar uno en una posicion de memoria y otro en otra , pero no me ha funcionado ok .
gracias

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: PWM con Duty Cycle de 10 bits guardado en EEPROM
« Respuesta #1 en: 13 de Mayo de 2011, 14:58:39 »
Tienes que crearte una rutina que traslada los bits de los registros al una variable de tipo Word, esto se hace mediante desplazamiento de bits, en este caso hacia la derecha. Se cargan los bits menos significativos en el byte alto de la variable y se hace el desplazamiento hacia la derecha, hace con todos hasta terminar el proceso.
Saludos desde Granada, España.

Desconectado meledu

  • PIC12
  • **
  • Mensajes: 83
Re: PWM con Duty Cycle de 10 bits guardado en EEPROM
« Respuesta #2 en: 25 de Agosto de 2011, 16:50:07 »
Hola amigo dogflu, luego de que cargue los 2 bytes en la variable tipo word, como recomiendas que grabe cada byte de la misma en la eeprom.

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: PWM con Duty Cycle de 10 bits guardado en EEPROM
« Respuesta #3 en: 28 de Agosto de 2011, 13:31:21 »
Write ind, max.HB  'Escribe dirección memoria EEProm, byte alto
Write ind+1, max.LB  'Escribe dirección memoria EEProm, byte bajo

Siendo max un Word.
Saludos desde Granada, España.

Desconectado meledu

  • PIC12
  • **
  • Mensajes: 83
Re: PWM con Duty Cycle de 10 bits guardado en EEPROM
« Respuesta #4 en: 28 de Agosto de 2011, 17:56:17 »
Gracias amigo dugflu.