Hola Manuel,
Pues vamos a empezar: Mira la base de todo programa software es el realizarlo en pequeños modulos, subrutinas o como prefieras llamarlos. Asi de esta forma se puede ir chequeando poco a poco y se pueden encontrar los errores mas facilmente. Por lo tanto para que también puedas ir cohiendo el truquillo a lo de programar lo iremos realizando de este modo.
Independientemente de que al final se pueda modificar, depurar, cambiar, etc vamos a ir trazanndo un programa en base a los datos que has posteado por aqui.
Por tanto, el proyecto es:
Tenemos un(os) tanque(s) en el que hay que controlar su nivel(s) y se quiere visualizar su nivel(es) mediante una serie de leds, en principio 24 leds. Para ello disponemos de unos sensores de presión que me van a detectar el nivel máximo y el nivel mínimo.
A partir de aquí:
1º Me supongo que estos sensores dan una respuesta analógica. ¿Sabes la respuesta de los mismos?. O bien si pasas el modelo podremos después afinar los ajustes
2º En principio dado el elevado número de leds a controlar vamos a utilizar el pic18F887. Al finalizar dependiendo de como quede el proyecto se podrá ajustar a cualquier otro que sea mas adecuado.
3º Supongo que en la primera puesta en marcha estará presente un operario para realizar el proceso de calibración de los niveles máximo y mínimo. Por lo tanto vamos a necesitar una entrada digital para habilitar el proceso de calibración, en este caso RA5. Así mismo como no sabremos los valores iniciales por defecto necesitaríamos otra entrada digital, un pulsador que pondremos en RA4
4º Vamos a suponer que el nivel mínimo, según la altura no es =0. Si después si lo es ya modificaríamos el programa.
5º Como iremos probando el programa por bloques vamos a utilizar 3 leds como testigos, pero solo para eso. Los vamos a asignar a los pies RE0, RE1 y RE2. Los iremos cambiando según el transcurso del desarrollo.
6º Para simular los sensores de presión vamosa asignar 2 entradas analógicas, usando para simulación 2 potenciómetros, que asignaremos a nivel mínimo=RA0 y nivel máximo=RA1