Las principales cosas que necesita resolver son el rango de voltaje de entrada del ADC y el voltaje de referencia del ADC. Algunos microcontroladores utilizan la tensión de alimentación del microcontrolador como la tensión de referencia ADC. En este caso, la salida de ADC será algo así como 1024 * Vin / Vcc para un ADC de 10 bits. El rango de entrada ADC en estos es generalmente cualquier cosa dentro de los rieles de voltaje. Cualquier cosa fuera de los rieles tendría que ser dividida hacia abajo. Más bien, anula la utilidad del ADC si se suministra con el voltaje de la batería, ya que todas las mediciones del ADC estarán en relación con el voltaje desconocido de la batería. Medir el voltaje de la batería de esta manera es completamente inútil, ya que siempre obtendrá el mismo resultado del ADC, independientemente del voltaje de la batería (ADCcode = 1024 * Vbat / Vbat = 1024). Otros microcontroladores tendrán una referencia separada para el ADC que es independiente de la tensión de alimentación. En este caso, el rango de entrada es más limitado, generalmente de GND a Vref, que podría ser tan bajo como 1V. En este caso, tendría que dividir el voltaje de la fuente de alimentación para la medición.
Ahora, no sé qué controlador está utilizando, así que voy a proporcionar algunas soluciones posibles para cada caso.
Para un microcontrolador como la serie AVR de Atmel que utiliza la fuente de alimentación como referencia de tensión, sugeriría que se haga una medición de la tensión de referencia fija con la entrada ADC y luego calcular cuál es la tensión de la fuente de alimentación. No es necesario dividir nada en este caso. Puede obtener referencias de derivación bastante precisas de aproximadamente 1 a 1,2 voltios en SOT-23, y puede usar un PMOS para apagarlo cuando no esté en uso. Calcule el voltaje de la batería 'hacia atrás' con Vbat = Vref * 1024 / ADCcode.
Para un microcontrolador como la serie AVM XMEGA de Atmel que usa una referencia interna, tendrá que dividir la tensión de la fuente de alimentación a algo dentro del rango de entrada, que es de 0 a 1 V con la referencia interna. Puede usar un transistor PMOS para desconectar el divisor cuando no esté en uso, o puede usar resistencias muy grandes (~ 1M) y un condensador de suavizado en el pin de entrada del ADC. El capacitor de suavizado es generalmente una buena idea para las mediciones de la fuente de alimentación, ya que reducirá el ruido de alta frecuencia y permitirá que la muestra de ADC y la tapa de retención se carguen rápidamente. Calcule el voltaje de la batería de manera normal con Vbat = ADCcode / 1024 * Vref.