ELECTRONICA
Y COMPUTACION - ESTRUCTURA DE UN PROGRAMA PARA PIC 16F84 |
|
Esta nota tiene por objeto mostrarle a los que recién se inician en el campo de los microcontroladores cómo se ejecuta una instrucción dentro de la Unidad Aritmética y Lógica del uP. Las imágenes fueron capturadas del video: "Todo Sobre PICs" | |
- DESARROLLO | |
El
PIC16F84, como otros microcontroladores de la misma clase, pueden programarse
por medio de un set reducido de instrucciones (son 35 instrucciones),
tal como hemos explicado en diferentes artículos de Saber Electrónica. En el video Todo Sobre PICs volumen 1 (que está disponible en versiones VHS, en VCD para computadora y en DVD para reproductores hogareños) se explica todas las instrucciones del set y cómo se la estructura básica de un programa, indicando cómo se realizan las operaciones en forma gráfica, para que sea comprensible por el lector. En dicho video se dice que una memoria es como una cajonera (figura 1), cada cajón de esa cajonera corresponde a una posición de memoria, el microcontrolador entiende a la posición de memoria que nosotros llamamos "A" con un determinado número expresado en hexadecimal denominado posición de memoria. En el ejemplo de la figura 1 tenemos una memoria de 4 palabras (cajonera de 4 cajones) y cada palabra puede tener un contenido expresado en bits. |
|
![]() |
|
Supongamos
que yo quiero sumar en número 5 con el número 7 y debo
guardar el resultado en una posición de memoria. Cargo el número 5 en la posición de memoria, correspondiente a la variable "A" (figura 2) y el número 7 lo cargo en la posición correspondiente a "B" (figura 3), y digo que voy a sumar los números en A y B (figura 4) y expresar el resultado en la unidad C. |
|
![]() |
|
Lo que hace la unidad aritmética y lógica es sumar el
contenido de A y B y guarda el resultado donde el programa se lo indique,
en este caso en C quiere decir que dentro de esa posición tenemos
el número 12 correspondiente a la suma de la variable A y B respectivamente
(figura 5). A + B = C Pero
ésto no es algo comprensible por el microcontrolador, debemos
entonces saber cuál es la estructura del programa, para que sea
comprensible por nuestro controlador, tema que se explica en el video
Todo Sobre PICs 1 y que también analizaremos en futuras ediciones. |
|
![]() |
|
![]() |
|
Lo que acabamos de ver no es una estructura comprensible con nuestro microcontrolador,
ni siquiera está expresado de forma tal para que yo luego pueda
ensamblarlo, para que sí lo comprenda nuestro procesador. La instrucción que permite la suma entre contenidos de registros (o posiciones de memoria y registro W) es ADDWF que significa que suma los contenidos del registro de trabajo con los cierres pendientes a una variable y aloja los resultados en el contenido de trabajo o en otra variable (figura 10). |
|
![]() |
|
Lo
que hacemos es sumar el contenido del registro W con el contenido de la
variable A que corresponde a una posición de memoria y alojar el
resultado en otra posición de memoria que nosotros hemos denomiando
R. Veremos en otra nota que podrá expresar el programa de forma tal que sea comprendido por el usuario para que podamos ensamblarlo y así que el programa sea comprendido por el microcontrolador. Dicho de otra manera, tenemos que saber cómo es la estructura que vamos a utilizar para habilitar un programa. Daremos ejemplos reales, como ser el programa correspondiente al encendido del bit menos significativo del port B, lo que estamos haciendo es colocando un 1 lógico en el bit menos significativo de ese port. Aclaramos que existe abundante bibliografía sobre el tema, que por ser lector, Ud. puede acceder desde nuestra web con la clave: todopics (diríjase a www.webelectronica.comm.ar, haga click en el ícono password e ingrese la clave mencionada). Editorial Quark ha producido tres videos (figura 11) en formato VHS: 1- PICs para Estudiantes y Aficionados 2- Todo Sobre PICs 3- Curso Completo de PICs El primer video está destinado a quienes comienzan con el tema, en él se explica por medio de placas, la estructura de un microcontrolador, el diagrama de terminales, para qué sirve un PIC, ejemplos de cargadores de memoria, etc. Los temas se dan con una profundidad relativa a quienes poseen conocimientos escasos de electrónica y representa el punto de partida para quienes dsean introducirse en el apasionante mundo de los microcontroladores. El video "Todo Sobre PICs" ya es un poco más avanzado; en él puede ver la diferencia entre microcontroladores y microprocesadores, el diagrama en bloques del 16F84, el set de instrucciones, la estructura de un programa, etc, mientras que en el video "Curso Completo de PICs" se da por supuesto que el lector ya tiene conocimientos sobre estos circuitos integrados, razón por la cual se comienzan desarrollando ejemplos de programación, se enseña el uso del MPLAB y cómo es la edición de un programa, se muestra cómo debe armarse y conectarse un circuito cargador y se brindan ejemplos sobre circuitos reales. Cabe aclarar que los videos "Todo Sobre PICs" y "Curso Completo de PICs" también se presentan en formatos VCD y DVD (figura 12). Obviamente ambos formatos pueden verse en un reproductor de DVD hogareño y puede navegar por los menúes de cada video, seleccionando el tema de su interés. La diferencia entre cada formato está dada especilamente por la definición, siendo mucho mejor la calidad de imagen en DVD. Si lo desea, puede obtener mayor información sobre estos productos en la clave dada anteriormente o contactándonos vía e-mail a: ateclien@webelectronica.com.ar o por teléfono al: (011) 4301-8804. |
|
Autor: Ing. Horacio Daniel Vallejo - e-mail: hvquark@ar.inter.net |
|
![]() |