Download - El microcontrolador pic
![Page 1: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/1.jpg)
Sist. Comunicación SCADAIng. Fernando Monrroy
UAGRM, agosto 2010
![Page 2: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/2.jpg)
![Page 3: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/3.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/4.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/5.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/6.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/7.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/8.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/9.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/10.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/11.jpg)
![Page 12: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/12.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/13.jpg)
Juego de instrucciones
Instrucciones orientadas a bytes.
![Page 14: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/14.jpg)
Juego de instrucciones
Instrucciones orientadas a bits.
![Page 15: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/15.jpg)
Juego de instrucciones
Orientación a literales y de control.
![Page 16: El microcontrolador pic](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/16.jpg)
• 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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/17.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/18.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/19.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/20.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/21.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/22.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022042518/559693f51a28abbd1e8b45f5/html5/thumbnails/23.jpg)
Temporizador TMR0
• Las interrupciones en TMR0 se producen enel momento del desbordamiento (0xFF → 0x00).• Los flag asociados son:
T0IE (INTCON<5>).T0IF (INTCON<2>).