mmparte11

12
UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPA FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS DEPARTAMENTO ACADEMICO DE INGENIERIA ELECTRONICA ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA CURSO: MICROCONTROLADORES Y MICROPROGRAMACIÓN CLASES PRÁCTICAS Wildor Ferrel Serruto AREQUIPA – PERÚ 2011

description

microcontroladores

Transcript of mmparte11

  • UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPA FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS

    DEPARTAMENTO ACADEMICO DE INGENIERIA ELECTRONICA ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

    CURSO: MICROCONTROLADORES Y MICROPROGRAMACIN CLASES PRCTICAS

    Wildor Ferrel Serruto

    AREQUIPA PER

    2011

  • 11.. IInnttrroodduucccciinn OObbjjeettiivvooss Describir la arquitectura del microcontrolador PIC 16F877 PIC Manejar a travs del lenguaje ensamblador los recursos del microcontrolador

    (Microprogramacin) Simular en MPLAB y Proteus sistemas basados en el microcontrolador 16F877 MMiiccrrooccoonnttrroollaaddoorr Circuito integrado programable que contiene los elementos bsicos de un

    computador.

    Sirve para controlar una tarea determinada. Por su tamao reducido suele ir incorporado en el dispositivo al que gobierna

    (controlador embebido)

    FFuunncciinn PPrriinncciippaall ddeell MMCC

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

    40

    39

    38

    37

    36

    35

    34

    33

    32

    31

    30

    29

    28

    27

    26

    25

    24

  • EEll MMCC eenn uunn SSiisstteemmaa ddee CCoonnttrrooll

    PPrrooggrraammaacciinn ddeell MMCC Escribir el programa en lenguaje ensamblador o en lenguaje C. En el curso

    usaremos el lenguaje ensamblador. Depurar el programa Obtener el programa en lenguaje mquina Grabar el programa en el microcontrolador

    AArrqquuiitteeccttuurraa Atributos del sistema visibles al programador en lenguaje ensamblador:

    Registros de Trabajo Modos de direccionamiento Conjunto de Instrucciones Sistema de Interrupciones

    OOrrggaanniizzaacciinn Unidades funcionales e interconexiones que materializan una Arquitectura (Hardware)

    Elemento de Medicin

    Seal Medida

    PlantaActuadores

    Seal de Referencia

    Seal de Mando

    Variable Controlada

  • EEll MMiiccrrooccoonnttrroollaaddoorr PPIICC 1166FF887777 CPU RISC. Tiene 35 instrucciones. Cada instruccin es de una sola palabra de 14 bits. Mxima frecuencia de reloj 20 MHz. Todas las instrucciones a excepcin de las de salto se ejecutan en un ciclo de

    instruccin. Memoria de programa Flash de 8Kx14 words Memoria de datos RAM de 368 bytes Memoria de datos EEPROM de 256 Bytes 5 puertos de entrada/salida: A, B, C, D, E con 6, 8, 8, 8, 3 lneas

    respectivamente 3 timers: 2 de 8 bits y 1 de 16 bits 2 mdulos de captura-comparacin-PWM ADC de 10 bits de 8 canales Puerto paralelo esclavo Comunicacin serial USART, SPI/I2C

    DDiiaaggrraammaa ddee BBllooqquueess

    22.. LLaa CCPPUU EEll PPrroocceessaaddoorr CCeennttrraall Circuito digital que ejecuta programas almacenados en la memoria de programa.

    MMiiccrroopprroocceessaaddoorr Circuito integrado que contiene una unidad central de procesamiento CPU

    CPU

    Memoria de

    Programa (Flash) 8Kx14

    Memoria de Datos

    (SRAM) 368x8

    Timer 1

    Timer 0

    USART

    Timer 2 Memoria EEPROM 256x8

    ADC

    Buses Internos

    Puertos de Entrada/Salida

    CCP2 CCP1

    MSSP SPI/I2C

  • DDiiaaggrraammaa ddee bbllooqquueess ddee llaa CCPPUU

    Memoria de Programa

    Circuito digital que almacena Instrucciones.

  • Memoria de Datos

    Circuito digital que almacena los Datos.

    Esquema Simplificado de Memoria de Programa

    Direccin

    Combinacin binaria que Identifica a una posicin de memoria

    Dato

    Combinacin binaria a ser procesada

    Instruccin

    Combinacin binaria que para el Procesador Central es una orden a ser ejecutada

    Contenido

    ...

    0000 H Direccin

    0001 H 0002 H 0003 H

    1FFE H 1FFF H

    ...

    Contenido

    ...

    000 HDireccin

    001 H002 H003 H

    1FE H1FF H

    ...

    Memoria de Programa Memoria de Datos

    13 0Contenido

    ...

    Celdas de 14 bits, Posiciones

    Arreglo lineal de celdas

  • FFoorrmmaattoo ddee IInnssttrruucccciinn

    LLeeccttuurraa ddee MMeemmoorriiaa ddee PPrrooggrraammaa

    Programa

    Secuencia de Instrucciones

    FFuunncciinn ddeell CCoonnttaaddoorr ddee PPrrooggrraammaa Direccionar la instruccin a realizar. (PC) - Contenido del registro PC Ejemplo (PC) =100A;

    Contenido

    ...

    0000 H

    Direccin

    0001 H

    0004 H

    0005 H

    1FFE H

    1FFF H

    ...

    0002 H

    0003 H

    Instruccin 1

    Instruccin 2

    Instruccin 3

    Instruccin 4

    Instruccin 5

    Instruccin 6

    CPU Memoria de Programa

    0000 HDireccin

    0001 H0002 H0003 H

    1FFE H1FFF H

    Contenido

    1377

    ......0002

    1377

    0002 H

    IR

    PC

    1377

    0004 H

    Un Word de 14 bits 13 0

  • FFuunncciinn ddee llaa CCPPUU

    100A

    PC

    3CA9

    Contenido

    0077

    180D

    1160

    ...

    24B2

    09C1

    ...

    1007 H

    Direccin

    1008 H

    100B H

    100C H

    ...

    1009 H

    100A H

    ...

    Memoria de Programa

    10001100100111 01110001010100 00011101010100 11101010100011 01010100000111 11101000100011 00001101010011

  • DDiiaaggrraammaa ddee FFlluujjoo

    33.. LLaa MMeemmoorriiaa ddeell MMCC TTiippooss ddee MMeemmoorriiaa

    8Kx14 de memoria FLASH de programa 368 bytes de memoria SRAM (RAM esttica) de datos 256 bytes de EEPROM (RAM no voltil), tambin para datos

    MMeemmoorriiaa FFLLAASSHH Almacena programas. Es direccionada por el contador de programa PC

    INICIO

    Carga de la instruccin

    PC + 1 PC Ejecucin

    0000 PC

    FETCH

    Ejecucin

  • MMeemmoorriiaa SSRRAAMM Almacena datos

  • Registros de Funciones Especiales

    Configuran y permiten el acceso a los recursos del microcontrolador

  • MMeemmoorriiaa EEEEPPRROOMM El acceso se realiza a travs de los registros SFR:

    SSTTAATTUUSS -- RReeggiissttrroo ddee EEssttaaddoo

    IRP: Selecciona el banco en direccionamiento indirecto RP1 RP0: Bits de seleccin de banco en direccionamiento directo /TO: Bit time-out /PD: Bit power-down Z : Bit cero DC : Bit de acarreo/prstamo de dgito C : Bit de acarreo/prstamo

    256 bytes

    00

    FF

    EEDATA

    EECON1

    EEADRH

    10C

    18C

    10F

    EEADR 10D

    EECON2 18D

    EEDATH 10E