Quienes ya me conocen, o han adquirido otros cursos de electrónica de mi autoría, saben que tratarles de hacerles llegar a sus manos un curso, articulo o tutorías en un lenguaje sencillo y ameno de fácil comprensión, no es cosa sencilla, y trato de aplicar la metodología “Leo - Aplico”, para que se transforme en un todo didáctico o practico.
Creo que es una de las tan pocas formas o posibilidades que hay de crear un trabajo, que llegue a la altura de todos los interesados sin importar los conocimientos anteriores que tenga el lector.
Este curso en particular que ustedes pueden ver aqui, es un estracto de mi libro que se encuentra a la venta, y está orientado tanto al principiante en electrónica que desea iniciarse en la electrónica con microcontroladores, como también a aquellas personas que se desempeñan a diario en el ámbito electrónico y necesitan conocer cómo llevar a cabo desarrollos microcontrolados.
En esta seccion "gratuita". se comenzará a programar con la subfamilia de microcontrolador PIC 16F87X, considerado por muchos “el PIC escuelita” ya que estos son bastante completos y muy aptos para encarar cualquier desarrollo de baja y mediana complejidad.
Para poder lograr todo este cometido, deberemos conocer los datos relevantes mínimos e indispensables; Es decir, tendremos que ver y comprender las instrucciones de PicBasic Pro (PBP), las interrupciones, la memoria de programa, la memoria RAM, el temporizador, el watchdog o perro guardián, EEPROM, palabras de configuración e identificación, puertos, reset, como se programan, etc.
Les doy la bienvenida y mis felicitaciones personales, por la adquisición de este ejemplar para intentar aprender un poco más sobre este mundo que poco a poco los irá atrapando y apasionando; Entiendan que esto no es algo que se aprende de un día para el otro, y de seguro, varias cuestiones, dudas y problemas en el camino surgirán, pero no desistan ante el primer fracaso, porque un tropiezo no es una caída. Pongan la máxima paciencia y empeño, ya que desde la pagina y el grupo de ETI, voy a estar ahí para ayudarlos y orientarlos.
El microcontrolador PIC, es un circuito integrado que contiene memoria, unidades procesadoras y circuitos de entrada/salida, en una sola unidad. Digamos que es muy similar a un ordenador, pero en formato pequeño...
Para que este pequeño ordenador en formato pequeño funcione a nuestro gusto, debemos implementar un set de instrucciones para hablarle y ordenarle.
Como ya sabrán, los microcontroladores son comprados en "blanco" y luego son programados con un programa específico de control. Una vez programado, este microcontrolador es introducido en algún producto para cumplir el rol de trabajo de controlador.
Es sabido, que estos diminutos circuitos integrados, tiene una inteligencia limitada por nosotros mismos a la hora de ejecutar una acción; pues, según se lo programe, se delega solo la responsabilidad de la orden impartida.
Por ejemplo, si nosotros programamos a este microcontrolador para que ejecute la tarea de monitorear y administrar el funcionamiento de un motor a explosión como lo que podemos ver en un automóvil, este solo ara lo que le dijimos por intermedio de las instrucciones de programación, y no esperen que este haga otra cosa que no le hallamos enseñado en su rutina de control.
Hoy en día, se suele aplicar microcontroladores en los desarrollos electrónicos, por que estos pueden reemplazar a un gran número de partes separadas, o incluso a un circuito electrónico completo. Algunas de las ventajas obtenidas con el uso de microcontroladores en el diseño de productos son:
Aumento en la confiabilidad debido al menor número de partes.
Reducción en los niveles de existencia ya que un microcontrolador reemplaza varias partes.
Simplificación del ensamblaje del producto y productos finales más pequeños.
Gran flexibilidad y adaptabilidad del producto ya que las funciones del producto están programadas en el microcontrolador y no incorporadas en el hardware electrónico.
Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrónico.
En la Industria, los microcontroladores son usualmente programados utilizando programación en lenguaje C o ASM. Sin embargo, debido a la complejidad de estos, se torna muy difícil el aprendizaje de dichos lenguajes de programación en personas adultas que nunca tuvieron formación alguna, inclusive, también podríamos incluir a los estudiantes muy jóvenes, que por lo general, su ansiedad los lleva a buscar formas practicas y rápidas de inserción a los microcontroladores. No voy hacer mucho incapie en el tema que si deben o no tratar de aprender una manera de programación o no, solo les voy a mencionar, que es preferible estudiar lenguajes de programación que contengan un nivel de lenguaje de programación que los haga fluir primero, y luego, migrar o bien, mezclar lenguajes de programacion para realizar la misma accion: "TRABAJAR CON MICROCONTROLADORES"
PicBasic Pro (PBP), es un lenguaje de programacion de alto nivel, que se caracteriza por expresar el algoritmo o programacion del dispositivo, de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas. Dicho en otras palabras, el lenguaje implementado, es mas simila al dialogo humano, que al lenguaje de maquina expresados por unos y ceros o numeros y letras.
Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.
Por ejemplo, la gran mayoria de los basic para microcontroladores, suelen ser de empleo muy simple, el cual la mayoría de las personas pueden aprender rápidamente dado su nivel de interaccionar con su lenguaje; Hablando mal y pronto, el lenguaje que se implementa, es un sencillo dialogo muy intuitivo, que da ordenes muy precisas… como ejemplo, podría darles este ejemplo:
main:
if input0 = 1 then encendido (si la entrada 0 es igual a 1, ir al sub programa…)
if input0 = 0 then apagado (si la entrada 0 es igual a 0, ir al sub programa ….)
goto main (volver a la 1er línea del programa, osea, main)
encendido: (sub programa encendido)
high 7 (activar salida 7)
wait 1 (esperar 1 segundo)
goto main (volver a la etiqueta “main”)
apagado: (sub programa “apagado”)
high 6 (activar la salida 6)
wait 1 (esperar 1 segundo)
low 6 (desactivar la salida 6)
wait 1 (esperar 1 segundo)
high 6 (activar la salida 6)
wait 1 (esperar 1 segundo)
low 6 (desactivar la salida 6)
goto main (volver a la etiqueta “main”)
Como verán, en la rutina anterior, lo único que hice, fue programar el microcontrolador con un dialogo sencillo, en ingles, pero muy deducible para aquellos que estén flojos con este idioma…
Prácticamente, lo único que le ordene al microcontrolador, es que monitoree la entrada numero cero (input cero), y en caso de tener algún estado definido (un alto o un bajo, osea, un 1 o un 0 lógico), este actúe dando como resultado una acción dada….
Internamente, estas líneas de programación, funcionan de la siguiente manera dentro del microcontrolador:
1_ Siempre, la rutina se lee y se ejecuta desde la 1er línea para abajo, salvo que halla un salto en el camino
En este caso en particular, arranca el ciclo en la etiqueta “main”, pasa por la primera instrucción de que visualice y compare el estado de la entrada cero con el valor pre establecido y en caso de ser positivo el resultado saltar e ir al sub programa encendido….
Viendolo de otra manera...
En el caso de que la comparación de nula, el microcontrolador sigue líneas abajo leyendo las instrucciones. Como verán, la siguiente instrucción, es similar, osea, compara el estado de la señal en la entrada cero, y si la comparación da positiva, salta al subprograma apagado; En caso de ser nula la comparación, sigue leyendo las siguientes líneas hasta llegar al fin del programa, o bien, hasta llegar a una bifurcación… En este caso, llega hasta la instrucción “goto”, lo cual, hace repetir el programa una y otra ves sin tener fin… Como verán, este sistema implementa un dialogo de instrucción muy fácil de aprender, y en tan solo unos pasos, aprenderán rápidamente a realizar sus propios proyectos microcontrolados… Este sistema, explota las características únicas de la nueva generación de microcontroladores de bajo costo FLASH. Estos microcontroladores pueden ser programados una y otra vez sin la necesidad de un costoso programador PIC.
Como ya dejamos en claro en lineas anteriores, estas instrucciones con las cuales nosotros le hablamos al microcontrolador, se las llama comandos.Viendolo de otra manera; Los comandos son instrucciones u ordenes especificas que se le dan al microcontrolador por intermedio de la programacion para que realice determinadas funciones. Con estas ordenes podemos interactuar con las entradas, las salidas, las variables, etc. A lo largo de esta seccion de ETI, podremos encontrar de punta a punta recursos varios para aprender a programar los microcontroladores con estos comandos, y en su mayoria, intentare compartirlas con su ejemplo de programacion / implementacion.
Nunlor,