14
Microcontroladores Capítulo 1. Microcontrolador PIC16F628A En este capítulo tú: Conoces que es un microcontrolador. Conoces las terminales de alimentación del PIC16f628a. Conoces los Puertos del microcontrolador PIC16f28a. Conoces los tipos de osciladores. Conoces la función de reset. 1.1 MICROCONTROLADORES PIC Un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para controlar el funcionamiento de una tarea determinada, como el control de una lavadora, un teclado de ordenador, una impresora, un sistema de alarma, etc. Un sistema con microcontrolador debe de disponer de una memoria donde se almacena el programa que gobierna el funcionamiento del mismo, que una vex programado y configurado, solo sirve para realizar la tarea asignada. Los microcontroladores PIC (Peripheral Interface Controller) son una familia de microcontroladores que han tenido gran aceptación y desarrollo en los últimos años gracias a sus buenas características, bajo precio, reducido consumo de energía, tamaño pequeño, gran calidad, fiabilidad, abundancia de información y sobre todo por su comodidad y sencillez de utilización. Son fabricados por la empresa Microchip Technology Inc. Puedes visitar su página en: http://www.microchip.com/ En este documento se tratará al microcontrolador PIC16f628a. Está encapsulado en un DIL de 18 terminales. Debido a sus múltiples aplicaciones y facilidad de uso es unos de los microcontroladores más utilizados en la actualidad para la realización de proyectos sencillos. En la figura 1 se muestra la configuración de terminales DIL-18.

Micro Control Adores

Embed Size (px)

DESCRIPTION

cnh

Citation preview

Microcontroladores

Capítulo 1. Microcontrolador PIC16F628AEn este capítulo tú:

Conoces que es un microcontrolador. Conoces las terminales de alimentación del PIC16f628a. Conoces los Puertos del microcontrolador PIC16f28a. Conoces los tipos de osciladores. Conoces la función de reset.

1.1 MICROCONTROLADORES PICUn microcontrolador es un circuito integrado programable que contiene todos los componentes

necesarios para controlar el funcionamiento de una tarea determinada, como el control de una lavadora, un teclado de ordenador, una impresora, un sistema de alarma, etc. Un sistema con microcontrolador debe de disponer de una memoria donde se almacena el programa que gobierna el funcionamiento del mismo, que una vex programado y configurado, solo sirve para realizar la tarea asignada. Los microcontroladores PIC (Peripheral Interface Controller) son una familia de microcontroladores que han tenido gran aceptación y desarrollo en los últimos años gracias a sus buenas características, bajo precio, reducido consumo de energía, tamaño pequeño, gran calidad, fiabilidad, abundancia de información y sobre todo por su comodidad y sencillez de utilización. Son fabricados por la empresa Microchip Technology Inc. Puedes visitar su página en: http://www.microchip.com/

En este documento se tratará al microcontrolador PIC16f628a. Está encapsulado en un DIL de 18 terminales. Debido a sus múltiples aplicaciones y facilidad de uso es unos de los microcontroladores más utilizados en la actualidad para la realización de proyectos sencillos. En la figura 1 se muestra la configuración de terminales DIL-18.

Figura 1.

El PIC16f628a puede trabajar con una frecuencia máxima de 20 MHz. En este documento todos los ejercicios los trabajaremos a una frecuencia de 4 MHz.

1.2 ALIMENTACIÓN DEL PIC16F628AEl PIC16f628a se alimenta según el fabricante con un voltaje de entre 3.0 y 5.5 volts. La

terminal 14 (VDD) representa la terminal positiva y la terminal 5 (VSS) la terminal negativa (masa).

1.3 PUERTOS DE ENTRADA/SALIDAEl microcontrolador se comunica con el mundo exterior a través de puertos. Estos están

constituidos por líneas digitales de entrada/salida que trabajan entre 0 volts (nivel bajo) y 5 volts (nivel alto). Los puertos se pueden configurar indistintamente de acuerdo a las necesidades de los proyectos como entrada para recibir datos o salida para gobernar dispositivos externos. En la figura 1 se observa que la terminal 4 (RA5) solo puede configurarse como entrada (lo indica la flecha). El PIC16f628a tiene dos puertos:

El Puerto A con 8 terminales, pines RA0 hasta RA7. El Puerto B con 8 terminales, pines RB0 hasta RB7.

Las líneas son capaces de entregar niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5 volts. La máxima capacidad de corriente de cada una de ellas es:

25 mA, cuando el pin está a nivel bajo, es decir, cuando consume corriente (modo drenador). Sin embargo, la suma de las intensidades por las 8 líneas del Puerto A no puede exceder de 130 mA, ni la suma de las 8 líneas del Puerto B puede exceder de 150 mA.

20 mA, cuando el pin está a nivel alto, es decir, cuando proporciona corriente (modo surtidor). Sin embargo, la suma de las intensidades por las 8 líneas del Puerto A no puede exceder de 80 mA, ni la suma de las 8 líneas del Puerto B puede exceder de 100 mA.

1.4 OSCILADOR

Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, es el llamado oscilador o reloj. Éste genera una onda cuadrada de alta frecuencia que se utiliza como señal para sincronizar todas las operaciones del sistema. Este circuito es muy simple pero de vital importancia para el buen funcionamiento del sistema. Generalmente todos los componentes del reloj se encuentran integrados en el propio microcontrolador y tan solo se requieren unos pocos componentes externos, como un cristal de cuarzo o una red RC, para definir la frecuencia de trabajo.

En el PIC16f628a los pines 16 (OSC1/CLKIN) y 15 (OSC2/CLKOUT) son las líneas utilizadas para este fin. Se pueden manejar cinco tipos de osciladores para definir la frecuencia de funcionamiento:

XT: Cristal de cuarzo. RC: Oscilador con resistencia y condensador. HS: Cristal de alta velocidad. LP: Cristal para baja frecuencia y bajo consumo de potencia. Externa: Cuando se aplica una señal de reloj externa.

El oscilador XT es el más utilizado y está basado en el oscilador de cristal de cuarzo o un resonador cerámico. El oscilador XT permite una frecuencia de reloj muy estable comprendida entre los 100 KHz y 4 MHz. En este trabajo se utilizará el oscilador XT.

1.5 RESETEl llamado reset en un microcontrolador provoca la reinicialización de su funcionamiento. En

este estado, la mayoría de los dispositivos internos del microcontrolador toman un estado conocido. En los microcontroladores se requiere un pin de reset para reiniciar el funcionamiento del

sistema cuando sea necesario. El pin de reset en los PIC se denomina MCLR (Master Clear) y produce un reset cuando se le aplica un nivel lógico bajo.

PREGUNTAS DE REPASO1. ¿A qué fabricante pertenecen los microcontroladores PIC?

2. Menciona al menos cuatro fabricantes de microcontroladores:

3. De acuerdo al número de terminales, ¿a qué gama pertenece el microcontrolador PIC16F628a?

4. Menciona para qué se utilizan las terminales VDD y VSS respectivamente:

5. Si se conoce que la frecuencia de trabajo de un microcontrolador es de 4 MHz, calcula el periodo de la señal del reloj (exprésalo en us).

6. Se pueden configurar como entradas para recibir datos o salidas para gobernar dispositivos externos:

7. El PIC16f628a tiene dos puertos: el Puerto A y el Puerto B. Menciona cuantos y cuales puertos dispone el PIC16F877a:

8. Menciona los tipos de osciladores para poder tener la señal de reloj:

9. Investiga y dibuja un circuito de reloj para un PIC donde utilices un oscilador tipo XT:

10. ¿Por qué crees que es necesario utilizar en ocasiones la función de reset?

11. Para que se lleve a cabo la función de reset, es necesario que la terminal MCLR este a un nivel lógico:

Capítulo 2. ¡Hola Mundo!En este capítulo tú:

Utilizas el entorno CCS Compiler para escribir y compilar un programa: ¡Hola Mundo! en lenguaje C.

Simulas circuitos con microcontroladores utilizando PROTEUS. Aprendes a utilizar el diodo led. Aterrizas tu proyecto en un circuito físico completo.

2.1 EL ENTORNO CCS CompilerUn compilador convierte el lenguaje de alto nivel (por ejemplo: lenguaje C) a instrucciones en

lenguaje máquina (lenguaje de las computadoras 0’s y 1’s); un cross-compiler es un compilador que funciona en un procesador (por ejemplo: una PC) diferente al procesador objeto (por ejemplo: un PIC). El compilador CCS es un cross-compiler. Los programas son editados y compilados a instrucciones máquina en el entorno de trabajo del PC (para la simulación), el código máquina también puede ser cargado del PC al PIC mediante un programador.

El compilador C de CCS compiler dispone de una amplia librería de funciones predefinidas, comandos de procesado y ejemplos. Además, suministra los controladores (drivers) para diversos dispositivos como LCD, convertidores AD, relojes en tiempo real, EEPROM serie, etc. Usted puede consultar más información sobre este compilador en la página: http://www.ccsinfo.com/

Si no estás familiarizado con el lenguaje C, ¡No te preocupes! empezaremos desde lo básico hasta lo complejo. El siguiente programa ¡Hola Mundo! servirá de apoyo para que conozcas como realizar un programa en CCS compiler y como simular en Proteus.

2.1.1 MI PRIMER PROGRAMA: ¡HOLA MUNDO!¡Hola Mundo! es un programa básico que permite parpadear un led por la terminal RB0 del

PIC16F628a, es decir, por la terminal 6 del microcontrolador parpadeará un led un segundo encendido y un segundo apagado.

1. Crea una carpeta nueva en algún lugar de tu disco duro, nombra la carpeta Hello World. Esta carpeta contendrá archivos importantes que nos servirán para programar el microcontrolador uno de ellos contiene la información en lenguaje máquina (archivo con terminación .hex). Para nuestro primer ejercicio yo hice una carpeta que se llama Hello World.

2. Dar doble clic en el icono:

3. Dar clic en la carpeta en la esquina superior izquierda:

4. Dar un clic en Close All, esto es para cerrar cualquier proyecto que yo tenga abierto anteriormente y que no se compile otro programa por error. Solo da clic y todo lo que tengas abierto se cerrará.

5. Nuevamente da clic en la carpeta del paso 3 y seleccionar New y enseguida Source File:

6. Enseguida te va a pedir que asignes un nombre para tu programa, dale un nombre que lo relacione con lo que hace tu programa y guárdalo en la carpeta que creaste en el paso 1:

7. Ahora te va aparecer el editor donde vas a escribir el programa Hello World:

8. Ya terminado el programa nos vamos a la pestaña Compile y después en la carpeta que dice Compile, esta acción no dirá si tiene errores o no el programa. En caso de error nos aparece una información y hay que solucionarlo, sino hay errores nos generará los archivos que nos servirán para grabar el microcontrolador cuya archivo será: Hello World.hex:

9. Ya que no haya errores en nuestra carpeta que creamos nos aparecen los archivos de salida, uno que nos interesa es el archivo Hello World.hex, que contiene la información en lenguaje máquina para grabar el microcontrolador. En la siguiente imagen se observan los archivos de nuestra carpeta:

2.2 PROTEUS Isis de Proteus es un potente programa de diseño electrónico que permite realizar esquemas que pueden ser simulados o pasados a un circuito impreso gracias al programa ARES.

2.2.1 SIMULANDO MI PRIMER PROGRAMA: ¡HOLA MUNDO!1. Busca en programas la carpeta Proteus 7 professional o superior y de clic en el ícono que dice

ISIS:

Con erroresSin errores

2. Te va aparecer un espacio de edición donde podrás realizar tus circuitos y simulaciones:

3. Para seleccionar un dispositivo vamos a dar clic en la barra izquierda al símbolo de amplificador operacional y damos clic en la letra P. Enseguida se nos abre una ventana donde tecleamos el nombre del dispositivo que necesitamos, como ejemplo, colocaremos el PIC16F628a y damos OK y damos clic para pegarlo en la hoja de edición.

4. Cuando queramos hacer una conexión entre terminales o con algún otro dispositivo, nos colocamos sobre la terminal y aparecerá un lapicito de color verde, se le da clic y se arrastra hasta donde se quiera realizar la conexión.

5. Haremos lo mismo hasta que nuestro circuito esté completo totalmente para poderlo simular. Isis presenta pequeñas ventajas en la simulación, por ejemplo, el microcontrolador no muestra las terminales de alimentación positiva y negativa, así entonces tener cuidado al momento de alambrar. El cristal de cuarzo darle doble clic y cambiarlo a 4 MHz. El circuito completo queda así:

RA7/OSC1/CLKIN16

RB0/INT 6

RB1/RX/DT 7

RB2/TX/CK 8

RB3/CCP1 9

RB4 10

RB5 11

RB6/T1OSO/T1CKI 12

RB7/T1OSI 13

RA0/AN0 17

RA1/AN1 18

RA2/AN2/VREF 1

RA3/AN3/CMP1 2

RA4/T0CKI/CMP2 3

RA6/OSC2/CLKOUT15

RA5/MCLR4

U1

PIC16F628A

R110K

12

X1CRYSTAL

C1

22p

C2

22pR2

330

D1LED-YELLOW

6. Ahora, para poder simular, tenemos que cargarle nuestro programa Hello World al microcontrolador. Le damos doble clic al microcontrolador y nos va aparecer una ventanita donde hay una carpeta. En esa carpeta vamos a buscar el archivo Hello World.hex que hicimos en el Compilador CCS y la colocamos ahí. También, donde dice Processor Clock Frecuency le ponemos 4 Mhz y pulsamos OK:

7. Por último dar play a la simulación para ver que nuestro programa realice correctamente lo que hicimos en el compilador de CCS:

En ocasiones la simulación no corre en tiempo real y pareciera que el circuito no funciona, sin embargo, esto es debido al procesador de la computadora donde se realiza la simulación.

2.3 El ALAMBRADOA continuación, ya que se simuló el circuito corresponde la conexión física del mismo. Recuerda

que debes de programar el microcontrolador con el archivo Hello World.hex. Este se lo debes de dar al profesor para que te lo grabe en un dispositivo programador. Si tu institución tiene programadores puedes realizarlo tú mismo. Al manejar los microcontroladores debes tener cuidado, ya que con la estática de nuestras manos los podemos dañar muy fácilmente. La siguiente figura muestra el alambrado del circuito.

EVIDENCIA.Muestra al profesor de manera individual lo siguiente:

1. El Programa Hello World en CCS Compiler.2. La simulación en Isis de Hello World.3. El circuito alambrado y funcionando Hello World.