23
Sist. Comunicación SCADA Ing. Fernando Monrroy UAGRM, agosto 2010

El microcontrolador pic

Embed Size (px)

DESCRIPTION

Introducción al microControlador PIC

Citation preview

Page 1: El microcontrolador pic

Sist. Comunicación SCADAIng. Fernando Monrroy

UAGRM, agosto 2010

Page 2: El microcontrolador pic
Page 3: El microcontrolador pic

Características generales de los MCU

Recursos comunes en microcontroladores:• Procesador o CPU• Memoria:• Memoria no volátil (ROM, Flash, EEPROM…) para almacenamiento del programa.• Memoria volátil (RAM) para almacenamiento de los datos.• No existen sistemas de almacenamiento masivo

Page 4: El microcontrolador pic

Características generales de los MCU

• Reloj principal• Los mC suelen disponer circuitos osciladores, que necesitan redes RC o cristales de cuarzo para su funcionamiento

Page 5: El microcontrolador pic

Características generales de los MCU

• Perro guardián (“watchdog”)Contador que resetea al mC cada vez que se desborda.• Evita fallos de funcionamiento• Es necesario inicializarlo antes de su desbordamiento

Page 6: El microcontrolador pic

Características generales de los MCU

• Protecciones ante fallos de alimentación (“brownout”)• Circuitos que resetean al mC cuando la tensión de alimentación se ubica por debajo de un valor crítico.

Page 7: El microcontrolador pic

Características generales de los MCU

Periféricos:• Puertos E/S digital (DIO).• Temporizadores.• Convertidores A/D y D/A.• Comparadores analógicos• Moduladores de anchura de impulso (PWM)• Puertos de comunicación:

• USART• I2C

Page 8: El microcontrolador pic

Características generales de los PIC

Arquitectura Harvard:• Dos buses de direcciones,

•Memoria de programa •Memoria de datos.

• Permite acceso simultaneo a memoriaSegmentación de instrucciones:• Ejecuta instrucciones en un solo ciclo Formato de longitud constante:• Simplifica la realización de ensambladores

y compiladores

Page 9: El microcontrolador pic

Características generales de los PIC

RISC (“Computadora con Conjunto de Instrucciones Reducido”)Instrucciones ortogonales:• Todas las instrucciones pueden manejar cualquier elemento de la arquitecturaArquitectura basada en registros

Page 10: El microcontrolador pic

Familia PIC16xxx

92 modelos; 14 a 64 pines•frecuencia de reloj 40 MHz max.• Hasta 8 Kpalabras de programa• Hasta 368 bytes de datos (RAM)• E/S digitales, temporizadores, CD/A de hasta 12 bits, PWM, comparadores analógicos, comunicación serie, memoria de datos EEPROM...• Hasta 1 vector de interrupciones• 33 ó 35 instrucciones

Page 11: El microcontrolador pic
Page 12: El microcontrolador pic

Juego de instrucciones

Se pueden dividir en cuatro grupos:• Sobre registro orientadas a bytes.• Sobre registro orientadas a bits.• Operaciones con literales.• Instrucciones de control.Todas tienen un ancho de 14 bits.Entre unas y otras varían sus campos

Page 13: El microcontrolador pic

Juego de instrucciones

Instrucciones orientadas a bytes.

Page 14: El microcontrolador pic

Juego de instrucciones

Instrucciones orientadas a bits.

Page 15: El microcontrolador pic

Juego de instrucciones

Orientación a literales y de control.

Page 16: El microcontrolador pic

• Son los periféricos más sencillos. Permiten monitorizar y actuar sobre dispositivos digitales.• Tienen multiplexadas otras funciones alternativas asociadas a otros periféricos de los PIC.• En total existen 7 puertos de E/S, aunque no aparecen todos en todos los modelos.• Es necesario consultar las características eléctricas de los puertos de E/S para verificar las tensiones y corrientes máximas a través de los puertos y de cada una de las patillas

Puertos de E/S

Page 17: El microcontrolador pic

Puerto A

• Puerto de E/S de hasta 6 pines (en funcióndel modelo). De RA5:RA0• Las patillas RA5 y RA3:RA0: Pueden actuar como E/S digital compatible TTL y CMOS.• Como entrada para el CA/D (caso en el queexista).

Page 18: El microcontrolador pic

Puerto B

• Está formada por 8 pines de E/S configurado a través de TRISB.• Se puede configurar una carga activa implementada con un CMOS:• Se activa siempre que:• El pin esté trabajando como entrada.• El flag NOT_RBPU del registro de opciones, bit 7, esté a 0.• Cuando se configura la carga activa, ésta actúa en todos los pines configurados como entrada.• Se desactiva siempre que se trabaje como salida o con un POR.

Page 19: El microcontrolador pic

Temporizador TMR0

• Contador/Temporizador ascendente de 8 bits.• Puede leerse y escribirse en cualquier momento.• Dispone de un predivisor de frecuencia programable de 8 bits.• La fuente de reloj puede ser interna o externa.• Puede generarse una interrupción de overflow (0xFF a 0x00).• Si el reloj es externo, el flanco de incremento deTMR0 es seleccionable.

Page 20: El microcontrolador pic

Temporizador TMR0

• Los bits de configuración son:• T0CS (OPTION_REG<5>): Selección de fuente de reloj.

„1‟, transición por RA4/T0CKI.„0‟, transición por Tosc.

• T0SE (OPTION_REG<4>): Selección para flanco por RA4/T0CKI (Siempre que T0CS = 1).

„1‟, incremento con flanco descendente.„0‟, incremento con flanco ascendente.

• PSA (OPTION_REG<3>): Asignación del predivisor.„1‟, predivisor asignado a WDT.„0‟, predivisor asignado a TMR0.

• PS2:PS0 (OPTION_REG<2:0>): Razón de división.

Page 21: El microcontrolador pic

Temporizador TMR0

• Cuando TMR0 actúa como temporizador (T0CS=0), se produce un incremento del temporizador por cada ciclo de instrucción (Tcy) siempre que la división de frecuencia sea 1:1.• Cuando se realiza una escritura (movwf TMR0), elincremento se inhibe durante los dos siguientesciclos de instrucción.• En el caso de que el divisor de frecuencias estéhabilitado, al escribir algún valor en TMR0, se ponea „0‟. Debido a esto el incremento de TMR0 se inibedurante dos ciclos más el tiempo definido en elpreescáler.

Page 22: El microcontrolador pic

Temporizador TMR0

• Si TMR0 está configurado como contador(T0CS=1), se produce un incremento por cadaflanco de subida o bajada (en función de T0SE) enRA4/T0CKI.• La señal de salida del divisor de frecuencia sesincroniza con la señal de reloj interna. Ésta serealiza muestreando la señal en Q2 y Q4.• Esto obliga a que la señal tenga un ancho mínimopara que pueda ser detectada.• Debido a la sincronización existe un retardo desde que aparece la señal en RA4/T0CKI hasta que se incrementa TMR0.

Page 23: El microcontrolador pic

Temporizador TMR0

• Las interrupciones en TMR0 se producen enel momento del desbordamiento (0xFF → 0x00).• Los flag asociados son:

T0IE (INTCON<5>).T0IF (INTCON<2>).