El microcontrolador pic

2,244
-1

Published on

Introducción al microControlador PIC

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,244
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

El microcontrolador pic

  1. 1. El microcontrolador PIC16F84<br />Sist. Comunicación SCADA<br />Ing. Fernando Monrroy<br />UAGRM, agosto 2010<br />
  2. 2.
  3. 3. Características generales de los MCU<br />Recursos comunes en microcontroladores:<br />• Procesador o CPU<br />• Memoria:<br />• Memoria no volátil (ROM, Flash, EEPROM…) para almacenamiento del programa.<br />• Memoria volátil (RAM) para almacenamiento de los datos.<br />• No existen sistemas de almacenamiento masivo<br />
  4. 4. Características generales de los MCU<br />• Reloj principal<br />• Los mC suelen disponer circuitos osciladores, que necesitan redes RC o cristales de cuarzo para su funcionamiento<br />
  5. 5. Características generales de los MCU<br />• Perro guardián (“watchdog”)<br />Contador que resetea al mC cada vez que se desborda.<br />• Evita fallos de funcionamiento<br />• Es necesario inicializarlo antes de su desbordamiento<br />
  6. 6. Características generales de los MCU<br />• Protecciones ante fallos de alimentación (“brownout”)<br />• Circuitos que resetean al mC cuando la tensión de alimentación se ubica por debajo de un valor crítico.<br />
  7. 7. Características generales de los MCU<br />Periféricos:<br />• Puertos E/S digital (DIO).<br />• Temporizadores.<br />• Convertidores A/D y D/A.<br />• Comparadores analógicos<br />• Moduladores de anchura de impulso (PWM)<br />• Puertos de comunicación:<br />• USART<br />• I2C<br />
  8. 8. Características generales de los PIC<br />Arquitectura Harvard:<br />• Dos buses de direcciones, <br /><ul><li>Memoria de programa
  9. 9. Memoria de datos.</li></ul>• Permite acceso simultaneo a memoria<br />Segmentación de instrucciones:<br />• Ejecuta instrucciones en un solo ciclo Formato de longitud constante:<br />• Simplifica la realización de ensambladores y compiladores<br />
  10. 10. Características generales de los PIC<br />RISC (“Computadora con Conjunto de Instrucciones Reducido”)<br />Instrucciones ortogonales:<br />• Todas las instrucciones pueden manejar cualquier elemento de la arquitectura<br />Arquitectura basada en registros<br />
  11. 11. Familia PIC16xxx<br /> 92 modelos; 14 a 64 pines<br />•frecuencia de reloj 40 MHz max.<br />• Hasta 8 Kpalabras de programa<br />• Hasta 368 bytes de datos (RAM)<br />• E/S digitales, temporizadores, CD/A de hasta 12 bits, PWM, comparadores analógicos, comunicación serie, memoria de datos EEPROM...<br />• Hasta 1 vector de interrupciones<br />• 33 ó 35 instrucciones<br />
  12. 12.
  13. 13. Juego de instrucciones<br /> Se pueden dividir en cuatro grupos:<br />• Sobre registro orientadas a bytes.<br />• Sobre registro orientadas a bits.<br />• Operaciones con literales.<br />• Instrucciones de control.<br /> Todas tienen un ancho de 14 bits.<br /> Entre unas y otras varían sus campos<br />
  14. 14. Juego de instrucciones<br /> Instrucciones orientadas a bytes.<br />
  15. 15. Juego de instrucciones<br /> Instrucciones orientadas a bits.<br />
  16. 16. Juego de instrucciones<br /> Orientación a literales y de control.<br />
  17. 17. Puertos de E/S<br /><ul><li> Son los periféricos más sencillos. Permiten monitorizar y actuar sobre dispositivos digitales.
  18. 18. Tienen multiplexadas otras funciones alternativas asociadas a otros periféricos de los PIC.
  19. 19. En total existen 7 puertos de E/S, aunque no aparecen todos en todos los modelos.
  20. 20. 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</li></li></ul><li>Puerto A<br />• Puerto de E/S de hasta 6 pines (en función<br />del modelo). De RA5:RA0<br />• Las patillas RA5 y RA3:RA0: Pueden actuar como E/S digital compatible TTL y CMOS.<br />• Como entrada para el CA/D (caso en el que<br />exista).<br />
  21. 21. Puerto B<br />• Está formada por 8 pines de E/S configurado a través de TRISB.<br />• Se puede configurar una carga activa implementada con un CMOS:<br />• Se activa siempre que:<br />• El pin esté trabajando como entrada.<br />• El flag NOT_RBPU del registro de opciones, bit 7, esté a 0.<br />• Cuando se configura la carga activa, ésta actúa en todos los pines configurados como entrada.<br />• Se desactiva siempre que se trabaje como salida o con un POR.<br />
  22. 22. Temporizador TMR0<br />• Contador/Temporizador ascendente de 8 bits.<br />• Puede leerse y escribirse en cualquier momento.<br />• Dispone de un predivisor de frecuencia programable de 8 bits.<br />• La fuente de reloj puede ser interna o externa.<br />• Puede generarse una interrupción de overflow (0xFF a 0x00).<br />• Si el reloj es externo, el flanco de incremento de<br />TMR0 es seleccionable.<br />
  23. 23. Temporizador TMR0<br />• Los bits de configuración son:<br />• T0CS (OPTION_REG<5>): Selección de fuente de reloj.<br /> ‘1’, transición por RA4/T0CKI.<br /> ‘0’, transición por Tosc.<br />• T0SE (OPTION_REG<4>): Selección para flanco por RA4/T0CKI (Siempre que T0CS = 1).<br /> ‘1’, incremento con flanco descendente.<br /> ‘0’, incremento con flanco ascendente.<br />• PSA (OPTION_REG<3>): Asignación del predivisor.<br /> ‘1’, predivisor asignado a WDT.<br /> ‘0’, predivisor asignado a TMR0.<br />• PS2:PS0 (OPTION_REG<2:0>): Razón de división.<br />
  24. 24. Temporizador TMR0<br />• 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.<br />• Cuando se realiza una escritura (movwf TMR0), el<br />incremento se inhibe durante los dos siguientes<br />ciclos de instrucción.<br />• En el caso de que el divisor de frecuencias esté<br />habilitado, al escribir algún valor en TMR0, se pone<br />a ‘0’. Debido a esto el incremento de TMR0 se inibe<br />durante dos ciclos más el tiempo definido en el<br />preescáler.<br />
  25. 25. Temporizador TMR0<br />• Si TMR0 está configurado como contador<br />(T0CS=1), se produce un incremento por cada<br />flanco de subida o bajada (en función de T0SE) en<br />RA4/T0CKI.<br />• La señal de salida del divisor de frecuencia se<br />sincroniza con la señal de reloj interna. Ésta se<br />realiza muestreando la señal en Q2 y Q4.<br />• Esto obliga a que la señal tenga un ancho mínimo<br />para que pueda ser detectada.<br />• Debido a la sincronización existe un retardo desde que aparece la señal en RA4/T0CKI hasta que se incrementa TMR0.<br />
  26. 26. Temporizador TMR0<br />• Las interrupciones en TMR0 se producen en<br />el momento del desbordamiento (0xFF -> 0x00).<br />• Los flag asociados son:<br /> T0IE (INTCON<5>).<br /> T0IF (INTCON<2>).<br />

×