micro control adores pics iv-luis urdaneta

Upload: luis-d-urdaneta-g

Post on 09-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    1/87

    Diseo

    Programacin

    Simulacin

    Diseo

    Programacin

    Simulacin

    Por Por LuisLuis DD.. UrdanetaUrdaneta G G..

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    2/87

    290290290290290290

    T imerT imer 0 del0 del PIC16F84APIC16F84A

    Usar el Timer 0 para generar un tren de pulso con ciclo de trabajo de50 %, en el terminal 1 del puerto A .

    Para generar la seal solicitada se complementa el bit RA1 cada 500s. Para obtener retardos superiores a 256 s con fosc = 4 Mhz sedebe usar el preescalador .

    El valor a cargar en TMR0 (con presclador 1:2) es :

    Programa 5Programa 5

    0

    4256 500 6

    4 2( )TMR

    Mhz Valor s Q! v !

    v

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    3/87

    291291291291291291

    T imerT imer 0 del0 del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    4/87

    292292292292292292

    T imerT imer 0 del0 del PIC16F84APIC16F84A

    Seal en RA.1 obtenida de una simulacin en PROTEUS

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    5/87

    293293293293293293

    T imerT imer 0 del0 del PIC16F84APIC16F84A

    OSC /CLKIN6

    RB /INT 6

    RB 7

    RB2 8

    RB3 9

    RB4RB5RB6 2

    RB7 3

    RA 7

    RA 8

    RA2RA3 2

    RA4/T CKI 3

    OSC2/CLKOUT5

    MCLR4

    U

    PIC 6F84A

    X4Mhz

    C

    22pF

    C2

    22pF

    RST

    CLKCE

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    6/87

    292929292929

    T imerT imer 0 del0 del PIC16F84APIC16F84A

    El osciloscopio presenta la seal generada por el cdigo anterior. Ob-serve que la onda no tiene una frecuencia exacta de 1.0 KHz . Esto sedebe a que el tiempo que el terminal RA.1 pasa en 1 en 0 se alargasobre los 500 s generados con precisin por el Timer 0 , debido altiempo usado en la ejecucin de las instrucciones necesarias paracargar el registro contadorTMR0, limpiar la bandera T0IF y el saltofinal.

    Para obtener una seal de 1.0 KHz se debe disminuir el retardo del

    Timer 0 , como compensacin. Si ahora cargamos en TMR0: 0x0A enlugar de 0x06 , se obtiene en RA.1 :

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    7/87

    292929292929

    T imerT imer 0 del0 del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    8/87

    292929292929

    T imerT imer 0 del0 del PIC16F84APIC16F84A

    29

    2

    22

    222

    2

    22

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    9/87

    292929292929

    El sistema deEl sistema deInterrupcionesInterrupciones

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    10/87

    292929292929

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    En los ejemplos anteriores, el curso secuencial delprograma solo es cambiado por instrucciones especficasde saltos o llamadas/retorno desde subprogramas. El usode la tcnica de interrupciones provee un mecanismo parasuspender el curso normal de un programa, ejecutar unasubrutina y retornar a continuar con la ejecucin delcdigo suspendido temporalmente.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    11/87

    299299299299299299

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    Una interrupcin, como todo evento asincrnico , puedeproducirse en cualquier momento durante la ejecucin de

    un programa. Cuando ocurre, se completa la instruccinque est en ejecucin. Si la interrupcin en cuestin esthabilitada, se acepta la peticin y se transfiere el control auna rutina de servicio de interrupcin (RSI ). Esta salva lasvariables necesarias para preservar las operaciones a

    reanudarse, y atiende al perifrico que origin la llamada.Una vez completada la RSI , el control se transfiere denuevo al programa principal.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    12/87

    300300300300300300

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    13/87

    301301301301301301

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    1. Culmina la ejecucin de la instruccin en curso.

    2. El contenido del contador de programa se almacena enla pila.3. El PC se carga con la direccin de la primera

    instruccin de la RSI .4. Se ejecuta la rutina de servicio.

    5. Se recupera el contenido del PC guardado en la pila.

    En general las tareas que siguen a una interrupcin sonlas siguientes :

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    14/87

    302302302302302302

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    L as ventaja principal de la tcnica de interrupciones es elahorro del tiempo de CPU , el cual deja de usar elmecanismo de consultas para detectar la ocurrencia deun eventos crticos, como por ejemplo el desborde de unT/C .

    Para ilustrar sobre la conveniencia del uso deinterrupciones, considere el siguiente ejemplo en el cual

    se intenta medir el tiempo transcurrido entre dos picos Rde una seal ECG .

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    15/87

    303303303303303303

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    Seal ECG

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    16/87

    303030303030

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    Si se usa un algoritmo de consulta para la deteccin de los picosR, la prueba fallar 9999 veces en 10000 intentos (resolucin 100s). Esto significa que el 99.99 % del tiempo de ejecucin delprograma, el CPU lo gasta intentando detectar un evento en 10000 .

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    17/87

    303030303030

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    El PIC 16F84 responde a 4 fuentes de interrupcin:

    Internas:1.- Un cambio de entrada en cualquiera de los cuatro bits de

    orden alto del puerto B ( RB7-RB4 ), desde la ltimalectura de este puerto.

    2.- El desborde del registro TMR0 del TIMER 0

    3.- L a culminacin de un ciclo de escritura en la EEPROMinterna.

    Externa :4.- Seal en INT/RB0

    El flanco que dispara la solicitud puede ser seleccionado por programa .

    EventosEventos fuentesfuentes dede interrupcininterrupcin

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    18/87

    303030303030

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    19/87

    303030303030

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    Despus de un

    RESE T , las interrupciones son deshabilitadas.

    Debidoa esto, para que un evento genere una interrupcin el programa

    deber habilitar el sistema de interrupciones y especificar cual ocuales fuentes sern habilitadas.

    Habilitacin de interrupciones

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    20/87

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    21/87

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    22/87

    310310310310310310

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    23/87

    311311311311311311

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    L as banderas particulares de interrupcin ( T0IF,INTF ) se activan (a 1), independientemente queel bit de habilitacin de interrupcin correspon-diente ( T0IE, INTE ) o el bit GIE estn activados.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    24/87

    312312312312312312

    InterrupcionesInterrupciones mltiplesmltiples. . D eteccinD eteccin de de lala fuentefuente

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    25/87

    313313313313313313

    L os registros cuyos contenidos sean destruidos por la rutina deservicio de interrupcin, deben ser salvados al inicio de sta yrecuperados antes de la instruccin RETFIE correspondiente.Para salvar el acumulador y las banderas de estado , M icrochip

    recomienda el siguiente cdigo:

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    26/87

    313131313131

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    27/87

    313131313131

    Programa 6Programa 6

    El siguiente ejemplo muestra el uso del Timer 0 comotemporizador, para medir el tiempo entre eventos. Estos son lospicos R de una seal ECG .L a duracin debe ser expresada en milisegundos y se suponeque un circuito detector de picos interrumpe al procesador en lospuntos en cuestin.

    Programa 6Programa 6

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    28/87

    313131313131

    L a salida del detector de picos se aplica al terminal INT/RB0 delmicrocontrolador y el Timer 0 se configura para que desbordecada milisegundo.

    Usando un cristal de 4.096 MHz , el tiempo de desborde del TMR0es dado por:

    Programa 6Programa 6

    4256

    4 096.

    x t p! v v

    Para tx igual a 1 ms , el factor de divisin p del pre-escalador es 4.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    29/87

    313131313131

    Existen dos fuentes de interrupcin:

    1.- El desborde de TMR0 , lo cual produce el incremento de uncontador de 16 bits.

    2.- Una seal externa desde el detector de pico. Como respuesta,se carga el contenido del contador en un registro:[res_alto res_bajo]Se pone el contador de milisegundos en cero y se activa unabandera ( band,0 ) a 1 para indicar que un nuevo resultado estdisponible.

    Se usar una rutina de servicio de interrupcin comn a ambasfuentes, seleccionndose al inicio la de la misma la seccin decdigo que corresponda a la fuente que gener la interrupcin

    Programa 6Programa 6

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    30/87

    313131313131

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    31/87

    319319319319319319

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    32/87

    320320320320320320

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    0

    2

    3

    0

    2

    3

    0

    2

    3 2

    0

    3

    2

    !

    "

    #

    $

    %

    "

    &

    '

    ( "

    22 ) $

    ( 2

    22 ) $

    AM FM

    +

    -

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    33/87

    321321321321321321

    Programa 7Programa 7

    Programa 7Programa 7

    En este ejemplo sencillo se usa el Timer 0 configurado

    como contador de eventos.Se tiene una correa transportadora la cual trasladaproductos de dos tipos: altos y bajos . El sistema tiene dosemisores y dos receptores de luz: A y B. El haz de luz A esinterrumpido siempre que un objeto alto pasa por la lnea

    de deteccin. El rayo luminoso de B es cortado cuandocualquiera de los artculos pasa frente al sensor.L as salidas de los sensores tienen niveles TTL .

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    34/87

    322322322322322322

    Programa 7Programa 7

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    35/87

    323323323323323323

    Programa 7Programa 7

    El Ctrl debe contar 100 productos y determinar elnmero de objetos de cada tipo. Adems, se debeverificar que exista un mximo de 60% de objetos altos . Siesto se cumple, se emite un b eep y se reinicia con unnuevo lote de 100 artculos .

    Si la proporcin no es la establecida, se debe generar unaalarma y parar la correa hasta que sea presionado un

    pulsador de INICIO. Tambin existe un interruptor PARAR ,para emergencias.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    36/87

    323232323232

    Programa 7Programa 7

    L a salida del sensor A se conecta a la entrada de interrupcin externaen RB0/INT , de modo que un contador de 8 bits registre el nmero deobjetos altos . L a seal de B se aplica a la entrada externa del Timer 0 :

    RA4/T0CKI, para que ste cuente el numero total de productos quepasan por el subsistema.

    Se habilita slo la interrupcin externa. Se consulta la bandera T0IFpara determinar cuando han pasado 100 objetos.

    D e esta forma es posible conocer la proporcin de productos deambas clase con respecto a un total especificado.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    37/87

    323232323232

    Programa 7Programa 7

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    38/87

    323232323232

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    39/87

    323232323232

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    40/87

    323232323232

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    41/87

    329329329329329329

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    42/87

    330330330330330330

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    Simulacin conSimulacin conPRO TEU SPRO TEU S

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    43/87

    331331331331331331

    Interrupciones delInterrupciones del PIC16F84APIC16F84A

    0 13.3k

    0 1

    3.3k

    0 31

    Q12

    3

    14 5

    Q1

    6 7 8

    31

    Q36 7 8

    39

    Q@

    2 3

    1A B

    0

    @

    1k

    Q C 2 3

    1A B

    +19

    V

    0 C

    1k

    D

    E

    0

    E

    0 F G F H F

    E

    0

    +I

    V

    P Q 1

    R S 3

    1T 3 U V 7 W 1

    4

    X 2 5 T 7 W 6

    4

    X 2

    1

    Y

    X 2 9

    A

    X 2

    3`

    X 2 B 15

    X 2 a 11

    X 2 4 19

    X 2 Y 13

    X b 5 1Y

    X b

    1 1A

    X b 9 1X b

    39

    X b B T 6 5 3 V 7 3

    R S 3 9 T 3 U V R c 6 1a

    d 3 U X

    B

    e 1

    8 7 3

    14 f A B b

    g

    1B d h

    i

    H 1

    9 9

    p

    f

    H 1

    9 9

    p

    f

    +a

    V

    0 q Q q r

    0 s

    A

    .9

    k

    0 t

    15

    k0 u

    15

    k

    +a

    V

    motor

    0BAJAS

    0 ALTAS

    1

    23

    U1 v A

    74LS32

    1

    23

    U3 v A

    74LS08

    4

    56

    U3 v B

    74LS08

    motor

    Solo para simulacin

    1 2

    U4 v A

    74LS04

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    44/87

    332332332332332332

    Este ejemplo presenta un instrumento para la medida de latemperatura ambiente sin usar un convertidor A/D .

    El rango del termmetro es -10 C e T e 60 C y el cambio mnimodetectable de temperatura debe ser de 0.5 C . El sensor que seutiliza es un termistor de coeficiente de temperatura negativo.

    En la siguiente figura se muestra el circuito analgico de

    medicin, el cual es controlado por el Ctrl. L a medida sepresenta en un mdulo L C D con interconexin de 8 bits.

    Programa 8Programa 8

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    45/87

    333333333333333333

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    46/87

    333333333333

    Programa 8Programa 8

    L as termocuplas son los sensores de temperatura con el msamplio espectro de aplicacin y los R TD (R esistance TemperatureDetector ) son los ms estables; al termistor lo distingue su gransensibilidad. El costo derivado por el incremento de lasensibilidad es un dispositivo no lineal en extremo y altamentedependiente de los parmetros del proceso.

    L a mayor parte de las aplicaciones de medidas de temperaturausan un convertidor A/ D para la adquisicin desde el sensor deuna tensin funcin de la temperatura en el punto de medida. D eacuerdo con el tipo de sensor usado, se usa una ecuacin paraconvertir el voltaje adquirido a unidades de temperatura o paradispositivos no lineales se usa una tabla de consulta.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    47/87

    333333333333

    Programa 8Programa 8

    Para disminuir el costo del medidor, en este caso la medida detemperatura se realiza en forma indirecta. Observe en la figuraanterior que el sensor est conectado a una red RC . Se mide eltiempo que el capacitor C 4 se carga hasta un valor igual a Vref . Sise selecciona el voltaje Vref } /V CC , este tiempo es igual a:

    T = R T 1 C 4Como el valor de C 4 es conocido, midiendo T se puede calcular RT1 . El proceso de medida se inicia activado el transistor Q 1, demodo que C 4 se descargue. A continuacin se corta Q 1 y searranca un contador que se detendr cuando la salida delcomparador conmute a nivel alto, anunciando que la tensin enC 4 alcanzo el valor Vref . Finalmente se usa el tiempo T paraconsultar una tabla en memoria, que relaciona el tiempo de cargacon la temperatura en grados centgrado, y se presenta elresultado de la medida.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    48/87

    333333333333

    Programa 8Programa 8

    El sensor a utilizar es el N T C de P hilips 2322 6 4 5 0.802 , el cualtiene la siguiente curva de respuesta:

    Usando esta informacin se obtiene, de forma que simplifique elproceso de medida, la relacin entre el tiempo de carga y latemperatura.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    49/87

    333333333333

    Programa 8Programa 8

    Para no trabajar con fracciones, se aplica la siguiente trans-formacin a los valores de temperatura de la tabla anterior:

    Obtenindose una nueva tabla:

    Una vez consultada la tabla se invierte la transformacin y seregistra que los valores menores de 16 son negativos.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    50/87

    333333333333

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    51/87

    339339339339339339

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    52/87

    3 03 03 03 03 03 0

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    53/87

    3 13 13 13 13 13 1

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    54/87

    3 23 23 23 23 23 2

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    55/87

    3 33 33 33 33 33 3

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    56/87

    333333

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    57/87

    333333

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    58/87

    333333

    Programa 8Programa 8

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    59/87

    333333

    Programa 8Programa 8

    Simulacin conSimulacin conPRO TEU SPRO TEU S

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    60/87

    333333

    Programa 8Programa 8

    d e s c

    w x y

    y

    3

    3

    3

    y 3

    w x y

    y

    w

    y

    y

    j

    k

    n

    k l

    n

    m

    n

    o

    3

    3

    l

    m

    n

    m

    n

    o 3

    G

    D

    n

    DD

    c z

    c z

    o

    {

    |

    }

    o ~

    k 3 uf

    |

    3 3 3

    }

    D D

    3

    D D D 3

    D D D W} } D D

    }

    3

    k D

    3

    m

    n

    - co

    o

    %

    o

    W x

    W-

    w

    -3

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    61/87

    3 93 93 93 93 93 9

    El ControladorEl ControladorPICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    62/87

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    63/87

    3 13 13 13 13 13 1

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    64/87

    3 23 23 23 23 23 2

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    65/87

    3 33 33 33 33 33 3

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    66/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    67/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    El mecanismo de acceso a laEl mecanismo de acceso a lamemoriamemoria EEPROMEEPROM interna es igual alinterna es igual aldescrito para eldescrito para el PICPIC 16F84A,16F84A, al igualal igual

    que la operacin de losque la operacin de los puertospuertos ,,

    interrupcionesinterrupciones yy Timer Timer 00..

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    68/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    El Mdulo de Conversin

    El Mdulo de ConversinAnlogo/DigitalAnlogo/Digital

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    69/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    El mdulo de conversin A/D tiene 8 entradas aplicadas acircuitos S/H . Como resultado de la conversin de una muestrade entrada se entrega un valor binario de 10 bits . L a resolucines de 1 parte en 1024 (2 10 ). En algunos casos es suficiente con

    conversin a 8 bits, con resolucin de 1 parte en 256 (2 8).

    ( )

    2

    ref ref

    S adcn

    V V

    V N ! v

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    70/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    El mdulo A/D tiene 4 registros asociados a su operacin: 2registros para el resultado y 2 registros de control.

    El registro AD CON0 controla la operacin del mdulo. Por ejemplo: selecciona el canal e inicia el proceso de conversin.

    El registro AD CON1 configura las lneas del puerto del mdulo.Estas se pueden usar como entradas analgicas o como lneasde E/S digitales.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    71/87

    3 93 93 93 93 93 9

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    72/87

    3 03 03 03 03 03 0

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    73/87

    3 13 13 13 13 13 1

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    74/87

    3 23 23 23 23 23 2

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    75/87

    3 33 33 33 33 33 3

    El ControladorEl Controlador PICPIC 16F87716F877

    Pasos para realizar laconversin A/D

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    76/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    1. Configure el mdulo A/DConfigurar los pines de entrada de los canales analgicos a usar. Configure los voltajes dereferencia. (en el registro AD CON1 )Seleccione el canal de entrada al mdulo A/D (en el registro AD CON0 )Seleccione el reloj de conversin A/D (en el registro AD CON0 )Ponga a funcionar el mdulo A/D (en el registro AD CON0 )

    2. Configure la interrupcin del A/D si lo desea:AD IF=0 -lgico (bit que indica si se produjo una conversin)AD IE=1 -lgico (habilitador de interrupcin del modulo analgico)PEIE=1 lgico (habilitador de interrupcin de perifricos)GIE=1 -lgico (Habilitador general de interrupciones)

    3. Espere por el tiempo de adquisicin (es el tiempo que se demora en trabajar el bloque de samplingand hold)

    4. Comienzo de la conversinGO/- D ONE=1-lgico (en el registro AD CON0 )

    5. Esperar a que la conversin se complete. Para saber si la conversin termino podemos:Revisar el bit GO/- D ONE esperando que sea de nuevo 0 -lgicoO esperar al flag de AD IF sea 1-lgico (puede emplearse como interrupcin)

    6. L eer el resultado del A/D en el par de registros ( AD RESH:A D RES L ). No debemos olvidar colocar el bitAD IF a 0-lgico (si se requiere)

    7. Para la siguiente conversin, regrese al paso 1 o paso 2 dependiendo si se usa uno o ms canales.

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    77/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    Seleccin del reloj del convertidor Seleccin del reloj del convertidor A/DA/D

    El conversor A/D requiere un reloj interno para funcionar. Este sederiva del oscilador maestro y debe ser elegido de modo que eltiempo de conversin por bit TAD sea un mnimo de 1.6 s .

    El periodo del oscilador de frecuencia 4MHz es de 0.25 s y serequiere TAD con un mnimo de 1.6 s . Si se selecciona el divisor

    por 8 , el periodo de reloj del AD C ser:

    8 x 0.25 s = 2.0 s < 1.6 s

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    78/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    Resultado de la conversinResultado de la conversin A/DA/D

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    79/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    Para conversiones de 10 bits conviene elegir justificacin hacia laderecha . En este caso deben procesarse ambos registros deresultados: AD RESH-A D RES L , para obtener el valor de laconversin.

    Para conversiones de 8 bits es recomendable usar justificacinhacia la izquierda . En este caso el resultado de 8 bits estar en elregistro: AD RESH .

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    80/87

    333333

    Programar el PIC 16F877 para adquirir una tensin continua de unmximo de 2.5 V , aplicada al canal 0 del convertidor A/D . L aconversin debe ser de 8 bits.

    Para simplificar la conversin a binario se usa una tensin dereferencia de 2.56 V.

    Programa 9Programa 9

    El ControladorEl Controlador PICPIC 16F87716F877

    3

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    81/87

    3 93 93 93 93 93 9

    El ControladorEl Controlador PICPIC 16F87716F877

    3

    3

    3

    9 3

    3

    Z -

    9

    -

    39

    3

    -

    9

    -

    3

    -

    3

    9

    -

    39

    3

    3-

    3 3

    3

    3

    33

    -

    - 3

    9

    -

    3

    3

    -

    3

    3

    3

    H

    - -

    3

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    82/87

    3 03 03 03 03 03 0

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    83/87

    3 13 13 13 13 13 1

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    84/87

    3 23 23 23 23 23 2

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    85/87

    3 33 33 33 33 33 3

    El ControladorEl Controlador PICPIC 16F87716F877

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    86/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    LM0 32L+2.

    V

  • 8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta

    87/87

    333333

    El ControladorEl Controlador PICPIC 16F87716F877

    14Mhz

    C2

    22pF

    C3

    22pF

    +

    V

    SET

    R410 k

    1 4

    D 6

    1 3

    D

    1 2

    D 4

    1 1

    D 3

    1 0

    D 2

    9

    D 1

    8

    D 0

    E

    6

    R W

    R S

    4

    V S S

    1

    V D D

    2

    V E E

    3 LCD1

    +

    V

    R110 k

    D1BZX

    9C2 V

    R23 90R

    RV2(3)V= 2.

    93

    RA0/AN02

    RA1/AN13

    RA2/AN2/ VREF-4

    RA4/T0CKI6

    RA

    /AN4/SS

    RE0/AN

    /RD8

    RE1/AN6/WR9

    RE2/AN

    /CS10

    OSC1/CLKIN13

    OSC2/CLKOUT14

    RC1/T1OSI/CCP2 16

    RC2/CCP1 1

    RC 3/SCK/SCL 18

    RD0/PSP0 19

    RD1/PSP1 20

    RB

    /PGD 40RB6/PGC 39

    RB 38

    RB4 3 RB 3/PGM 36

    RB2 3 RB1 34

    RB0/INT 33

    RD

    /PSP 30

    RD6/PSP6 29RD

    /PSP 28RD4/PSP4

    2 RD 3 /PSP 3 22

    RD2/PSP2 21

    RC

    /RX/DT26

    RC6/TX/CK 2 RC

    /SDO 24RC4/SDI/SDA 23

    RA 3/AN 3/VREF +

    RC0/T1OSO/T1CKI 1

    MCLR/ Vpp/TH V1

    U1

    PIC16F8

    3 1 %

    RV2

    1k

    %

    RV1

    10 k

    RV1( 3)V=1 .4

    346