Académique Documents
Professionnel Documents
Culture Documents
1. Introduccin (1)
Un microcontrolador es un circuito integrado programable el cual contiene todos los componentes de un computador. Es un computador completo de limitadas prestaciones, que est contenido en un nico chip. Se emplea para controlar el funcionamiento de una nica tarea y gracias a su reducido tamao suele incorporarse en el propio dispositivo que controla.
1. Introduccin (2)
Un microcontrolador normalmente dispone de una memoria pequea, en la que se almacena un solo programa. Las lneas de entrada y salida se conectan con sensores y actuadores al dispositivo fsico que controlan. Una vez programado el microcontrolador slo sirve para atender la tarea para la que ha sido programado. Las ventajas de los microcontroladores son:
Aumento de servicios y utilidades para el usuario. Aumento de la fiabilidad. Reduccin de tamao en el producto acabado. Mayor flexibilidad.
1. Introduccin (3)
Los PIC son circuitos integrados de Microchip Technology Inc. , que pertenecen a la categora de los microcontroladores Microprocesador vs microcontrolador?
El microprocesador bsicamente est formado de la CPU y la ALU
MICROCONTROLADOR
2. Partes de un microcontrolador
Oscilador
Memoria de datos RAM Memoria de datos EEPROM
CPU
Prticos
Perifricos
2.1 El Procesador
Los PIC utilizan arquitectura Harvard en lugar de la tradicional Von Neumann. La arquitectura Harvard se caracteriza por tener dos memorias independientes, una para instrucciones y otra para datos. Cada una tiene su propio bus por lo que la CPU puede acceder simultneamente a las dos. Esto agilita el proceso de lectura y ejecucin de las instrucciones
Arquitectura Harvard
Otra caracterstica importante es que el procesador es de tipo RISC con un repertorio pequeo y sencillo de instrucciones, de forma que la mayor parte de las instrucciones se ejecutan en un ciclo de mquina. Adems se introduce una segmentacin (pipeline) en el procesador, dividiendo la ejecucin de una instruccin en varias etapas. De esta forma se puede trabajar sobre varias instrucciones simultneamente cada una en una etapa distinta.
RISC: Reduced Instruction Set Computer
Es una memoria de almacenamiento no voltil (ROM, EPROM, OTP, EEPROM, FLASH), en la que se almacena el programa que gobierna la aplicacin a la que est destinado el microcontrolador. En general tiene un tamao muy reducido desde 512 a 16K palabras en la familia de los micros PIC. Adems al tener una memoria especfica de programa se puede adecuar el tamao de las instrucciones y los buses al ms apropiado para cada aplicacin.
La memoria para almacenar datos debe ser de lectura y escritura, por lo que en general se usa memoria SRAM, aunque algunos micros llevan memoria EEPROM para evitar la prdida de los datos en caso de corte en el suministro de corriente. Los tamaos son mucho ms reducidos que la memoria de programa; por ejemplo el PIC16F870 dispone de 128 bytes de datos SRAM y 64 bytes de EEPROM.
Estas lneas son los pines del microcontrolador que sirven para comunicarse con los perifricos conectados al sistema. Pueden enviar o recibir datos digitales al o desde el perifrico. Manejan la informacin en paralelo y se agrupan en conjuntos que reciben el nombre de puertas o prticos. Los pines de las puertas pueden configurarse independientemente cada una de ellos como entrada o salida.
10
Cada uno de los microcontroladores de un fabricante est orientado a una funcin concreta, por lo que algunos tienen una serie de complementos que aumentan su potencia y flexibilidad. A continuacin se comentan muy brevemente los ms comunes; posteriormente se explicarn en detalle aquellos elementos que contiene el PIC16F870.
11
Circuito de reloj, encargado de la sincronizacin del sistema. Temporizador para controlar los tiempos. Perro guardin (watchdog) provoca una reinicializacin cuando el programa se queda colgado. Conversor AD y DA para recibir y enviar seales analgicas. Comparador analgico para comprobar el valor de una seal analgica. Sistema de proteccin ante fallos de alimentacin. Estado de reposo, para minimizar el consumo de energa.
12
3. PIC 16F870
Principales caractersticas
13
Memoria de Programa de 2 K de 14 bits, EEPROM. Memoria de Datos RAM de 128 bytes. Memoria de Datos EEPROM de 64 bytes. Dispone de una pila de 8 niveles para permitir llamadas a subrutinas anidadas. Tiene 11 tipos diferentes de interrupciones. Un juego reducido y sencillo de 35 instrucciones. El encapsulado es de plstico DIP con 28 pines. Permite un rango de frecuencias de trabajo de hasta 20 MHz. Dispone de 3 timers (TMR0, TMR1, TMR2), y de perro guardin (WDT).
14
Tiene 22 lneas de E/S digitales, divididas en 3 puertos (puerto A 6 lneas, puerto B 8 lneas, puerto C 8 lneas). Corriente mxima absorbida por lnea: 25 mA. Corriente mxima suministrada por lnea: 25mA. Voltaje de alimentacin (VDD) entre 2 y 5.5 V. Mdulo CCP Mdulo A/D de 5 canales Frecuencia mxima de trabajo: 20 MHz
15
OSCILADOR TIPO XT
5K < R < 100 K C = 20 pf
17
La entrada MCLR permite reiniciar el estado del micro, llevndose a cabo dos acciones importantes Se carga un 0 en el Contador de Programa, de forma que despus de un Reset siempre se ejecuta la instruccin que est en la posicin 0 de la memoria de programa. Los registros de estado y control toman un estado conocido y determinado.
18
19
PIC16F870 tiene una memoria de programa tipo FLASH de 2 K direcciones, cada una de ellas con 14 bits, por lo que abarca un rango de direcciones de 0000 H a la 03FF H (en total 2048 posiciones).
20
21
Avisar el estado de la ALU (C, DC, Z) Indicar el estado de reset (TO, PD) Seleccionar el banco de memoria
El registro Status est ubicado en la localidad 03h de la RAM Bits del registro status
STATUS
22
C: acarreo. Se pone en 1 si hay carry en el octavo bit DC: acarreo. Igual que C pero para el bit 4 Z: cero. Se pone en 1 si el resultado de la instruccin anterior es cero PD: (Power down) Se pone automticamente a 1L al conectar el PIC a la alimentacin, se pone a 0L al usar instruccin SLEEP TO: (Time out) Est en 1L al conectar el PIC a la alimentacin, y se pone a 0L cuando el perro guardin se desborda.
Ing. Alcvar Costales G. 23
24
Cada lnea de los prticos debe especificarse si ser usada como entrada o como salida. Los registros TRISA, TRISB y TRISC sirven para indicar si las lneas son entradas o salidas: con 1L entrada, con 0L salida
b7 b6 b5 b4 b3 b2 b1 b0
TRISB
1 0 0 1 1 0 0 0
entradas salidas
25
Si se selecciona TRISB = 10011000, como en la lmina anterior, entonces las lneas del prtico B quedan especificadas como se indica.
b7 b6 b5 b4 b3 b2 b1 b0
PORTB
X X X X X X X X
entradas
salidas
X datos
26
27
Programacin de PICs
28
29
Uso de un simulador
Este es: Pic Simulator IDE Permite hacer un seguimiento del programa antes de grabarlo en el PIC Este simulador tambin es un compilador y ensamblador
Este es: Pic Simulator IDE Permite hacer un seguimiento del programa antes de grabarlo en el PIC Este simulador tambin es un compilador y ensamblador
30
El editor es parte del simulador En la ventana del editor se escribe el programa en Basic Al compilar el archivo *.bas, se crea el archivo *.asm y luego al ensamblar este ltimo archivo se crea el archivo *.hex El archivo *.hex se graba en el microcontrolador
Ing. Alcvar Costales G. 31
Herramientas de desarrollo
Sirven
Grupo de 8 Leds
Displays de 7 segmentos
LCD
32
Gnd
Vcc Los 7 segmentos se conectan al prtico B del PIC En nodo comn los segmentos se activan con 0L En ctodo comn los segmentos se activan con 1L
Ing. Alcvar Costales G.
33
LCD 2x16
LCD = Liquid Crystal Display (Display de cristal lquido) Descripcin: un LCD es un dispositivo Controlado de visualizacin grafica para la presentacin de caracteres, smbolos o incluso dibujos (en algunos modelos) Tiene 2 filas de 16 caracteres cada una y cada carcter dispone de una matriz de 5x7 puntos (pixels), aunque los hay de otro nmero de filas y caracteres. Este dispositivo es manejado internamente por un microcontrolador Hitachi 44780 el cual regula todos los parmetros de presentacin Este modelo es el mas comnmente usado
34
5 pixeles
7 pixeles
Cada caracter est formado por una matriz de 5x7 puntos (pixeles)
CARACTER
35
LCD: caractersticas
Pantalla de caracteres ASCII, adems de los caracteres Kanji y Griegos. Desplazamiento de los caracteres hacia la izquierda o la derecha. Proporciona la direccin de la posicin absoluta o relativa del caracter. Memoria de 40 caracteres por lnea de pantalla. Movimiento del cursor y cambio de su aspecto. Permite que el usuario pueda programar 8 caracteres. Conexin a un procesador usando un interfaz de 4 u 8 bits
36
37
Pin 1: GND Pin 2: Vcc (5V) Pin 3: para el contraste Pines 4 a 6: para control Pines 7 a 14: bus de datos
38
Nombre
Vss Vcc Vee RS R/W
Nivel
0V 5V Pot Lgico Lgico Tierra
Descripcin
Alimentacin Potencimetro (Contraste) 0L instruccin, 1L dato 1L lee, 0L escribe en el LCD
6
7 a 14
E
DB0-DB7
Lgico
Lgico
Pulso de habilitacin
BUS de datos
39
Funcin principal: controlar las interrupciones Est ubicado en la localidad 0BH de la RAM Su formato es:
permiso global de las interrupciones, con 1 habilita habiltacin de interrupcin para grabacin de la EEPROM 1 habilita interrupcin de TMR0, 0 lo deshabilita 1 habilita la interrupcin RB0/INT, 0 la deshabilita
40
RBIE:
TOIF: INTF: RBIF:
41
Registro: ADCON0
CHS2:CHS0 ADCS1:ADCS0 Bits para seleccionar el reloj de la conversin 00 = Fosc /2 Bits de seleccin del canal anlogo
ADON
1 = Mdulo A/D on 0 = Mdulo A/D off GO/DONE Si ADON = 1:
01 = Fosc/8
10 = Fosc/32 11 = Frc (reloj interno)
1 = conversin en progreso
0 = conversin terminada
42
Registro: ADCON1
43
Registro: ADCON1
44
Registro: ADCON1
45