Microcontrolador PIC 16F84a

26
MICROCONTROLADOR MICROCONTROLADOR Microchip Microchip CENTRO NACIONAL DE ACTUALIZACION DOCENTE J. JESUS TAFOYA SANCHEZ MEXICO D.F. 2004 Soluciones de C ontrol M ecatrónica PIC 16F84 PIC 16F877

description

microcontrolador

Transcript of Microcontrolador PIC 16F84a

  • MICROCONTROLADORMicrochip CENTRO NACIONAL DE ACTUALIZACION DOCENTEJ. JESUS TAFOYA SANCHEZ MEXICO D.F. 2004

    Soluciones de ControlMecatrnica

    PIC16F84PIC16F877

  • PIC 16F84 vs Z80

    Z80CPUMemoryI/O PortInterfaceBUS CPUMemoryI/O PortInterfaceMicrocomputadora Z80PIC16F84

  • Aplicaciones

    PIC16F84

  • CPURAMROMPPIBus de DireccionesBus de DatosMEM.PROGR.EEPROMCPUMEM.DATOSRAM14 Bits8 BitsArquitectura Von NeumannArquitectura HarvardArquitectura

  • Porcentajes de aplicacin por sectores

    Grfico1

    18

    10

    15

    30

    27

    Uso de microcontroladores por sectores

    Hoja1

    Uso de microcontroladores por sectores

    Automotriz18

    Industria10

    Informtica15

    Comunicaciones30

    Consumo27

    Hoja1

    Uso de microcontroladores por sectores

    Hoja2

    Hoja3

  • Microcontrolador PIC 16F84Que es el microcontrolador ?

    Es un Circuito Integrado que posee CPU, Memoria, Temporizadores y Perifricos, capaz de ejecutar un serie de instrucciones de manera lgica.El PIC 16F84 es un modelo de microcontrolador de Microchip de medio rango.

    Tipo de MemoriaCapacidadMemoria de Programa EEPROM1K x 14 BitsMemoria de Datos RAM68 BytesMemoria de Datos EEPROM64 Bytes

    PIC 16F84A - 04/P 0246GUP

  • Proceso de Trabajo para Programar un PIC

    Title

    Double-click to type notes. Subselect "Title"to edit the title.

    Drag the side handles to change the width of the text block.

    Drag the side handles to change the width of the text block.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    18

    17

    16

    15

    14

    13

    12

    11

    10

    PIC 16F8XPIC 16CR8X

    Puede ser cualquier programador para PICs que soporte el modelo en uso.

    Programador

    Traductor

    Programa.asm

    LIST P=16F84 #INCLUDE P16F84__CONFIG XT_OSC & ..

    Editor

    Programa.hex

    El editor puede ser de ambiente DOS o Windows

    El traductor depende del ambiente en que se trabaje MPASM O MPASWIN

    Hombre

  • Mapa de Memoria 16F84Memoria de DatosMemoria de ProgramaWAcumulador(Working Register)

    INDF

    INDF

    00h

    01h

    02h

    TMR0

    OPTION

    PCL

    PCL

    STATUS

    STATUS

    FSR

    FSR

    PORTA

    TRISA

    PORTB

    TRISB

    EEDATA

    EECON1

    EEADR

    EECON2

    PCLATH

    PCLATH

    INTCON

    INTCON

    03h

    04h

    05h

    06h

    07h

    08h

    09h

    0Ah

    0Bh

    0Ch

    4Fh

    80h

    81h

    82h

    83h

    84h

    85h

    86h

    87h

    88h

    89h

    8Ah

    8Bh

    CFh

    50h

    7F

    No existe en el 16F84

    FF

    NO EXISTEEN EL PIC 16F84

    D0h

    BANK0

    BANK1

    RAM

    TMR0

    PORTA

    PORTB

    8Ch

    68 Bytes Registros de Propsito General (del Usuario)

    VECTOR RESET

    VECTOR DE INTERRUPCION

    MEMORIA DE PROGRAMA1024X14 Bits

    000h

    004h

    005h

    3FFh

    EEPROM DE PROGRAMA

  • Conexin Bsica

    10K

    5 Vcd

    22 pF

    2

    3

    4

    5

    6

    7

    8

    9

    17

    16

    15

    14

    13

    12

    11

    10

    RA2

    RA3

    RA4/TOCKI

    Vss

    RB0/INT

    RB1

    RB2

    RB3

    RA1

    RA0

    OSC1

    OSC2

    Vdd

    RB7

    RB6

    RB5

    RB4

    PIC 16F84

    1

    18

    +5VCD

    MCLR

  • Esquema Bsico de conexin

    4 X 330

    4 X 330

    RA2

    RA3

    RA4/TOCKI

    MCLR

    Vss

    RB0/INT

    RB1

    RB2

    RB3

    RA1

    RA0

    OSC1

    OSC2

    Vdd

    RB7

    RB6

    RB5

    RB4

    PIC 16F84

    1

    18

    2

    3

    4

    5

    6

    7

    8

    9

    17

    16

    15

    14

    13

    12

    11

    10

    5 Vcd

    5Vcd

    5Vcd

  • Diagrama de Tiempos Servomotor

    0

    90

    180

    0.5 ms

    1.5 ms

    2.5 ms

    20ms/50Hz

    20ms/50Hz

    20ms/50Hz

  • Control del Servomotor

    Servomotor de C.D.

    RA2

    RA3

    RA4/TOCKI

    Vss

    RB0/INT

    RB1

    RB2

    RB3

    RA1

    RA0

    OSC1

    OSC2

    Vdd

    RB7

    RB6

    RB5

    RB4

    PIC 16F84

    1

    18

    2

    3

    4

    5

    6

    7

    8

    9

    17

    16

    15

    14

    13

    12

    11

    10

    +5VCD

    MCLR

    10K

    5 Vcd

    22 pF

    10K

    5Vcd

  • Motor a PasosExcitacin a 1 FaseExcitacin a 2 Fases

  • Motor a PasosUnipolar

    A

    A

    B

    B

    Comn

    CKO

    1

    2

    3

    4

    5

    6

    7

    8

    A

    B

    PIC

    16F84

    RB0

    RB1

    RB2

    RB3

    RB4

    RB5

    RB6

    RB7

    MOTOR FD

    MOTORFE

    DRIVER DE POTENCIA

    BITS RB0 - RB3

    BITS RB4 - RB7

    RB0 - RB3

    RB4 - RB7

    PIC

    16F84

    RB0

    RB1

    RB2

    RB3

    RB4

    RB5

    RB6

    RB7

    +Vmotor

    2K2

    TIP120

    A

    2K2

    2K2

    2K2

    1N4001

    1N4001

    1N4001

    1N4001

    TIP120

    TIP120

    TIP120

    B

    A

    B

  • Set de Instrucciones

  • Sistema de Entrenamiento PICsProgramadorSistema de evaluacin de PICsConector para unir el Sistema de evaluacin y el programadorConector para unir con computadoraPuerto A16F84Puerto BPIC 16F84PIC 16F877Conector para AlimentacinPuerto D16F877

  • CICLOS DE RELOJEJECUTAFETCHEJECUTAFETCHEJECUTAFETCHEJECUTAEJECUTAFETCHFETCHJUMPClock

  • Registros Especiales

  • Registro Status

  • Registro Option

  • Registro Intcon

  • Configuracin del Oscilador LP : Low Power Crystal XT : Crystal/Resonator HS : High Speed Crystal/Resonator RC : Resistor/CapacitorOscilador RCOperacin por Cristal (XTAL) o ResonadorOperacin Externa de Reloj

  • Programa ejemplo

    LIST P = 16F84 ;Tipo de microcontrolador#INCLUDE P16F84.INC;Archivo que incluye equivalencias

    ORG 00 ;Directiva que indica direccin de inicio de programaBSF STATUS,RP0;Cambio al Banco 1CLRF TRISB;Configurar puerto B como de salida.MOVLW 1FH;Carga al acumulador con 1fhMOVWF TRISA;Configura al puerto A como de entrada.BCF STATUS,RP0;Cambiar al Banco 0MOVLW 3AH;Cargar al acumulador con 3AhMOVWF PORTB; Sacar el dato del acumulador al Puerto B.LOOPGOTO LOOP;Se queda el micro en un Bucle InfinitoEND; Directiva de fin de archivo de programa

  • Programa ejemplo

    LIST P = 16F84 ;Tipo de microcontrolador#INCLUDE P16F84.INC;Archivo que incluye equivalencias

    ORG 00 ;Directiva que indica direccin de inicio de programaBSF STATUS,RP0;Cambio al Banco 1CLRF TRISB;Configurar puerto B como de salida.MOVLW 1FH;Carga al acumulador con 1fhMOVWF TRISA;Configura al puerto A como de entrada.BCF STATUS,RP0;Cambiar al Banco 0LOOP MOVF PORTA ,W;Leer el puerto A y ponerlo en el acumulador.MOVWF PORTB; Sacar el dato del acumulador al Puerto B.GOTO LOOP;Se queda el micro en un Bucle InfinitoEND; Directiva de fin de archivo de programa

  • SISTEMA DE EVALUACION DE MICROCONTROLADORES PIC

  • Conexin PC-Quemador-SE