Yo me refería a usar un microcontrolador más pequeño, que fuera utilizado al máximo.
No tiene caso cambiar de microcontrolador por otro más pequeño pero que de igual forma no se está usando al máximo.
Yo me refería a esto:
Ver el archivo adjunto 298616
Microcontrolador de 8 pines trabajando a 8 Mhz con oscilador interno, usando dos canales ADC y dos pines para el bus I2C, más otro para poder encender la retroiluminación de la pantalla 20 x 4 cuando sea necesario, ah, y el reset, que puede ser excluido para usarse en otra función, por ejemplo, echarse a dormir.
Muchas cosas se pueden hacer y tratando de aprovechar el microcontrolador al máximo.
En los diseños electrónicos siempre se debe pensar qué microcontrolador será el adecuado para nuestro proyecto.
No es conveniente usar un microcontrolador con 4 puertos de los cuales solo vamos a usar 2 y parte de uno solo 2 bits.
Y este diseño solo se basa en monitorear una fuente análoga, lo que yo sugerí era controlar una fuente conmutada por PWM basada en conversores DC-DC, no es nada complejo y así todo sería controlado por el microcontrolador, tal cual lo expuse.
No aparece la parte adaptadora de tensiones al microcontrolador porque eso se supone que es aparte de lo que viene siendo esta parte del proyecto.
Y eso dependerá de las tensiones a medir, que igualmente deben ser modificadas por software.
En este caso, de -30 V hasta +30 V.
Les comparto el proyecto escrito en C, ya que hacerlo en Basic me dio flojera.
Escribirlo en C con PIC C Compiler de CCS solo me llevó unos 25 minutos.
Notas:
El sistema inicia con la retroilumicación de la pantalla encendida por un tiempo de 30 segundos, tras este periodo, se apagará.
Para volverla a encender se requiere presionar el botón "BLON" y nuevamente se activará por otros 30 segundos.
Esto obviamente se puede modificar en el programa, basado en un timer con desborde de 100 mS.
* Va comentado en los sectores importantes. (Muy pequeño el programa, aunque requirió un 44 % de RAM y un 78 % de ROM)
Justo y perfecto para el propósito.
La librería usada para el control de la pantalla LCD 20 x 4 vía I2C no es de mi autoría y se sube tal cual, con mención del autor.