MICROCONTROLADORES PROGRAMABLES.pdf
Short Description
Download MICROCONTROLADORES PROGRAMABLES.pdf...
Description
MICROCONTROLADORES PROGRAMABLES
E S I M E U P T
I N S T I T U T O P O L I T E C N I C O N A C I O N A L
¿QUÉ ES UN MICROCONTROLADOR? Es un circuito integrado programable que contiene todos los componentes de una computadora. Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Esta última característica es la que le confiere la denominación de «controlador incrustado» (embedded controller). El micro controlador es una computadora dedicada. En su memoria sólo reside un programa destinado a gobernar una aplicación determinada; sus líneas de entrada/salida (puertos) soportan el conexionado de los sensores y actuadores del dispositivo a controlar, y todos los recursos complementarios disponibles tienen como única finalidad atender los requerimientos del micro controlador. Una vez programado y configurado el micro controlador solamente sirve para gobernar la tarea asignada.
Diferencia entre microprocesador y micro controlador El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), también llamada procesador de una computadora. La UCP está formada por la Unidad de Control, que interpreta las instrucciones, y el flujo de los datos. Las patitas (buses) de un microprocesador sacan al exterior la información procesada por este, para permitir conectarle con el hardware que compone a una computadora, por ejemplo el teclado, la pantalla, el mouse, etc.
Un microprocesador es un sistema abierto con el que puede construirse una computadora con las características que se desee, acoplándole los módulos necesarios. Un micro controlador es un sistema cerrado que contiene una computadora completa y de características limitadas que no se pueden modificar. ARQUITECTURA INTERNA Un micro controlador posee todos los componentes de una computadora, pero con características fijas que no pueden alterarse (y en ocasiones mas limitadas). Las partes principales de un micro controlador son: 1. Procesador 2. Memoria no volátil para contener el programa (disco duro) 3. Memoria de lectura y escritura para guardar los datos (RAM) 4. Líneas de EIS para los controladores de periféricos: a) Comunicación paralelo b) Comunicación serie c) Diversas puertas de comunicación (bus l2ºC, USB, etc.) 5. Recursos auxiliares: a) Circuito de reloj b) Temporizadores c) Perro Guardián («watchdog»)
d) Conversores AD y DA e) Comparadores analógicos f) Protección ante fallos de la alimentación g) Estado de reposo o de bajo consumo A continuación se revisaran
las características más representativas de cada uno de los componentes del micro
controlador.
Memoria de programa El micro controlador está diseñado para que en su memoria de programa se almacenen todas las instrucciones del programa de control. No hay posibilidad de utilizar memorias externas de ampliación. Como el programa a ejecutar siempre es el mismo, debe estar grabado de forma permanente. Existen cinco tipos diferentes de memoria adecuados para soportar esta función:
1 .ª ROM con máscara En este tipo de memoria el programa se graba en el chip durante el proceso de su fabricación mediante el uso de «máscaras». Los altos costes de diseño e instrumental sólo aconsejan usar este tipo de memoria cuando se precisan series muy grandes.
2.ª EPROM La grabación de esta memoria se realiza mediante un dispositivo físico gobernado desde una computadora, que recibe el nombre de grabador. En la superficie de la cápsula del micro controlador existe una ventana de cristal por la que se puede someter a la memoria del chipa a rayos ultravioletas para producir su borrado y emplearla nuevamente.
3.' OTP (Programable una vez) Este modelo de memoria sólo se puede grabar una vez por parte del usuario, utilizando el mismo procedimiento que con la memoria EPROM. Posteriormente no se puede borrar. Su bajo precio y la sencillez de la grabación aconsejan este tipo de memoria para prototipos finales y series de producción cortas.
4.ª EEPROM La grabación es similar a las memorias OTP y EPROM, pero el borrado es mucho más sencillo al poderse efectuar de la misma forma que el grabado, o sea, eléctricamente. Sobre el mismo zócalo del grabador puede ser programada y borrada hasta 1000 000 veces, lo cual la hace ideal en la enseñanza y en la creación de nuevos proyectos. Aunque se garantiza 1.000.000 de ciclos de escritura/borrado en una EEPROM, todavía su tecnología de fabricación tiene obstáculos para alcanzar capacidades importantes y el tiempo de escritura de las mismas es relativamente grande y con elevado consumo de energía.
5.ª FLASH Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar en circuito al igual que las EEPROM, y suelen disponer de mayor capacidad que estas últimas. El borrado sólo es posible con bloques
completos y no se puede realizar sobre posiciones concretas. En las FLASH se garantizan 1.000 ciclos de escritura‐borrado. Son muy recomendables en aplicaciones en las que sea necesario modificar el programa a lo largo de la vida del producto, como consecuencia del desgaste o cambios de piezas, como sucede con los vehículos. Por sus mejores prestaciones está sustituyendo a la memoria EEPROM para contener instrucciones. De esta forma Microchip comercializa dos micro controladores prácticamente iguales, que sólo se diferencian en que la memoria de programa de uno de ellos es tipo EEPROM y la del otro es de tipo Flash. Se trata del PIC 16C84 y el PIC 16F84, respectivamente. En la actualidad Microchip tiene abierta una línea de PIC con memoria Flash cada vez más extensa y utilizada. Microchip ha introducido la memoria FLASH porque tiene mejores posibilidades de aumentar su capacidad con relación a la EEPROM. También por su mayor velocidad y menor consumo. No obstante, la EEPROM es capaz de soportar 1.000.000 de ciclos de escritura/borrado, frente a los 1.000 de la FLASH.
El primer contacto con el PIC16F84‐A Nuestro «maravilloso» PIC pertenece a la familia de la gama media y dentro de ella es uno de los más pequeños; sólo tiene 18 patitas. Además es el que dispone de menos recursos. El resto de sus parientes tiene conversores AD y DA, tensión interna de referencia, más líneas de E/S, más capacidad en sus memorias, varios temporizadores y un largo etcétera de dispositivos de los que el PIC16F84 carece. Es «pobre» de nacimiento. Pero nosotros hemos elegido a este PIC, EL 16F84‐A por que reúne los requisitos esenciales para enseñar a manejar el micro controladores y comenzar a diseñar proyectos. Es práctico, es sencillo y es económico, pudiendo considerarce para su empleo en todos los pequeños proyectos que realizan los aficionados, los estudiantes y quienes prefieren progresar en sus conocimientos de lo fácil a lo difícil. Creemos que sabiendo manejar un modelo de PIC, el hacerlo con todos los demás será mucho más fácil. Otra ventaja del PIC16F84‐A en cuanto a simplificar el proceso de escritura, borrado y reescritura de programas, tan necesario en la fase de diseño, es su sistema de grabación de datos, que se realiza en serie. Para escribir un programa en la memoria se manda la información en serie usando sólo dos patitas: la RB6 para la señal de reloj y la RB7 para los bits de datos serie. Mostramos a continuación la tarjeta de presentación de los PIC 16F84 con sus datos personales más significativos. MEMORIA FLASH DE 1K X 14. MEMORIA DE DATOS RAM 68 BYTES. PILA DE 8 NIVELES. 4 TIPOS DIFERENTES DE INTERRUPCIONES. ENCAPSULADO DE 18 PINES. FRECUENCIA DE TRABAJO 10 MHZ, MAXIMO. UN TEMPORIZADOR, EL TMRO. UN PERRO GUARDIAN (WDT). 13 LINEAS DE E7S DIGITALES (5‐ PUERTA A Y 8‐PUERRTA B). CORRIENTE MAXIMA ABSORBIDA PO R LA PUERTA A= 80 mA. CORRIENTE MAXIMA ABSORBIDA POR LA PUERTA b= 150 mA. CORRIENTE MAXIMA SUMINISTRADA POR LA PUERTA A= 50 mA. CORRIENTE MAXIMA SUMINISTRADA POR LA PUERTA B= 100 mA. CORRIENTE MAXIMA SUMINISTRADA POR LINEA= 20 mA. VOLTAJE DE ALIMENTACION (VDD)= 2‐6 V DC. VOLTAJE DE GRABACION (VPP)= 12V DC.
<
Primer contacto con el PIC16F84: Instrucciones: •
Inicia el programa llamado ISIS .
•
Abre el archivo llamado “ENTRENADOR BASICO 1”.
•
Da clic sobre el botón de simular
El aspecto del diseño llamado “ENTRENADOR BASICO 1” es el siguiente:
Actividades: Analizar el código fuente. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 1: Escribe el código fuente de un programa escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa debe configurar las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe enviar el siguiente tren de información hacia la PUERTAB del PIC: 1, 2, 4 ,8, 16,32,64 y 128, cada dato debe enviarse a dicho puerto por un periodo de tiempo igual a 3 milisegundos , es decir se envía un 1 por tres milisegundos y enseguida se envía un 2 por el mismo lapso de tiempo, del mismo modo con los 8 valores solicitados. Una vez que hallas escrito tu programa compílalo y pruébalo con ayuda del isis..
Actividades: Analizar el código fuente. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 2: Edita el código fuente del programa llamado “DOS.c” escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe enviar activar un display de 7 segmentos de cátodo común, es decir la terminal común para los diodos que forman el display debe conectarse a tierra. Debe visualizarse un conteo ascendente en el display de 0 a 9, cada número se visualizara por dos segundos, una vez concluido el conteo debe detenerse y apagarse el display. Una vez que hallas escrito tu programa compílalo y pruébalo con ayuda del isis.. Ejercicio 3: Una vez que hallas concluido el ejercicio número 2, realiza lo siguiente: Edita el código fuente que realizaste en el ejercicio anterior, el programa debe permitir que el usuario accione los cinco interruptores conectados a la PUERTAA del micro controlador (el usuario puede accionar uno o varios interruptores a la vez), dependiendo del estado del o los interruptores accionados (abierto o cerrado), en el display de debe visualizarse el número correspondiente. Recuerda que con 5 bits puedes tener hasta 31 valores diferentes. Pero con un dysplay de 7 segmentos únicamente puedes visualizar del numero 0 al numero 9.
Actividades: Analizar el código fuente del programa llamado CUARTO.c. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 4: Edita el código fuente del programa llamado “CUATRO.c” escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe controlar únicamente el arranque y la inversión de giro de los dos motores, de la siguiente forma, el interruptor conectado a RA0 para arrancar el primer motor, el interruptor conectado a RA1 para invertir el sentido de giro del primer motor, el interruptor conectado a RA2 para arrancar el segundo motor y el interruptor conectado a RA3 para invertir el sentido de giro del segundo motor. Recuerda que estos interruptores son del tipo con enclave y no deben estar accionados (girando) los dos motores al mismo tiempo, solo uno a la vez sn importar su sentido de giro.
Actividades: Analizar el código fuente del programa llamado CINCO.c. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 2: Edita el código fuente del programa llamado “CINCO.c” escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe controlar únicamente el arranque y la inversión de giro de los dos motores, de la siguiente forma, el interruptor conectado a RA0 para arrancar el primer motor, el interruptor conectado a RA1 para invertir el sentido de giro del primer motor, el interruptor conectado a RA2 para arrancar el segundo motor y el interruptor conectado a RA3 para invertir el sentido de giro del segundo motor. Recuerda que estos interruptores son del tipo con enclave y no deben estar accionados (girando) los dos motores al mismo tiempo, solo uno a la vez sn importar su sentido de giro.
Actividades: Analizar el código fuente del programa llamado SEIS.c. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 2: Edita el código fuente del programa llamado “SEIS.c” escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe controlar únicamente el arranque y la inversión de giro de los dos motores, de la siguiente forma, el interruptor conectado a RA0 para arrancar el primer motor, el interruptor conectado a RA1 para invertir el sentido de giro del primer motor, el interruptor conectado a RA2 para arrancar el segundo motor y el interruptor conectado a RA3 para invertir el sentido de giro del segundo motor. Recuerda que estos interruptores son del tipo push‐boton y no deben estar accionados (girando) los dos motores al mismo tiempo, solo uno a la vez sn importar su sentido de giro.
Actividades: Analizar el código fuente del programa llamado SIETE.c. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 2: Edita el código fuente del programa llamado “SIETE.c” escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe controlar el arranque, paro y la inversión de giro de los dos motores, de la siguiente forma, el interruptor conectado a RA0 para arrancar el primer motor, el interruptor conectado a RA1 para invertir el sentido de giro del primer motor, el interruptor conectado a RA2 para parar el motor que este ecendido en este momento, el interruptor conectado a RA3 para arrancar el segundo motor, el interruptor conectado a RA4 para invertir el sentido de giro del segudo motor. Recuerda que estos interruptores son del tipo push‐boton y no deben estar accionados (girando) los dos motores al mismo tiempo, solo uno a la vez sn importar su sentido de giro.
Actividades: Analizar el código fuente del programa llamado NUEVE.c. Compilar el código fuente. Probar el archivo con extensión .hex. Ejercicio 2: Edita el código fuente del programa llamado “NUEVE.c” escrito en lenguaje C, el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa debe controlar el cambio de velocidad de la siguiente forma: los cuatro motores tendrán cinco velocidades y el estado de reposo, las cinco velocidades deben corresponder al estado de cada uno de los interruptores cnectados a la puertaa del pic.
View more...
Comments