El microcontrolador PIC16F84Sist. Comunicación SCADAIng. Fernando MonrroyUAGRM, agosto 2010
Características generales de los MCURecursos 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
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
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
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.
Características generales de los MCUPerifé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
Características generales de los PICArquitectura 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
Características generales de los PICRISC (“Computadora con Conjunto de Instrucciones Reducido”)Instrucciones ortogonales:• Todas las instrucciones pueden manejar cualquier elemento de la arquitecturaArquitectura basada en registros
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
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
Juego de instrucciones  Instrucciones orientadas a bytes.
Juego de instrucciones  Instrucciones orientadas a bits.
Juego de instrucciones  Orientación a literales y de control.
Puertos de E/S 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 patillasPuerto 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).
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.
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.
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.

El microcontrolador pic

  • 1.
    El microcontrolador PIC16F84Sist.Comunicación SCADAIng. Fernando MonrroyUAGRM, agosto 2010
  • 3.
    Características generales delos MCURecursos 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
  • 4.
    Características generales delos MCU• Reloj principal• Los mC suelen disponer circuitos osciladores, que necesitan redes RC o cristales de cuarzo para su funcionamiento
  • 5.
    Características generales delos 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
  • 6.
    Características generales delos 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.
  • 7.
    Características generales delos MCUPerifé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
  • 8.
    Características generales delos PICArquitectura Harvard:• Dos buses de direcciones, Memoria de programa
  • 9.
    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
  • 10.
    Características generales delos PICRISC (“Computadora con Conjunto de Instrucciones Reducido”)Instrucciones ortogonales:• Todas las instrucciones pueden manejar cualquier elemento de la arquitecturaArquitectura basada en registros
  • 11.
    Familia PIC16xxx 92modelos; 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
  • 13.
    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
  • 14.
    Juego de instrucciones Instrucciones orientadas a bytes.
  • 15.
    Juego de instrucciones Instrucciones orientadas a bits.
  • 16.
    Juego de instrucciones Orientación a literales y de control.
  • 17.
    Puertos de E/SSon los periféricos más sencillos. Permiten monitorizar y actuar sobre dispositivos digitales.
  • 18.
    Tienen multiplexadasotras funciones alternativas asociadas a otros periféricos de los PIC.
  • 19.
    En totalexisten 7 puertos de E/S, aunque no aparecen todos en todos los modelos.
  • 20.
    Es necesarioconsultar 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 patillasPuerto 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).
  • 21.
    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.
  • 22.
    Temporizador TMR0• Contador/Temporizadorascendente 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.
  • 23.
    Temporizador TMR0• Losbits 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.