04 Microcontroladores Moduload Pic16f877a

Embed Size (px)

Citation preview

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    1/13

    1

    Microprocessadores

    Prof. Arthur Braga

    Tópicos

    n O PIC16F877A

    ¨ Módulo A/D

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    2/13

    2

    Módulo A/D

    (PIC16F877A)

    Não há no PIC 16F628A

    Módulo conversor A/D

    PIC16F877

    Módulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    3/13

    3

    Módulo conversor A/D

    AproximaçõesSucessivas

    Módulo A/D – PIC16F877A

    Tensão a ser

    convertida

    Internamente há um circuito“Sam pl e and H ol d” 

    Módulo conversor A/DMódulo A/D – PIC16F877A

    ADC

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    4/13

    4

    Módulo conversor A/D§ O módulo A/D possui 4 registradores:

    § ADRESH§ Parte alta do resultado da conversão

    § ADRESL§ Parte baixa do resultado da conversão

    § ADCON0 e ADCON1§ Registradores de configuração do Módulo A/D

    Módulo A/D – PIC16F877A

    Módulo conversor A/DMódulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    5/13

    5

    Módulo conversor A/DMódulo A/D – PIC16F877A

    Módulo conversor A/DMódulo A/D – PIC16F877A

    E O REGISTRADOR ADCON1 ?

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    6/13

    6

    Módulo conversor A/DMódulo A/D – PIC16F877A

    Módulo conversor A/DMódulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    7/13

    7

    Módulo conversor A/DMódulo A/D – PIC16F877A

    Módulo conversor A/D

    § Operação:§ Ao final da conversão:

    § O resultado estará nos registradoresADRESH:ADRESL

    § O pino GO/DONE será limpo (RESETADO)§ E a flag da interrupção A/D (ADIF) é setada.

    Módulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    8/13

    8

    Módulo conversor A/D§ Primeiros passos:

    1. Configure o módulo A/D :§ Configurar os pinos (Analógicos / Digitais)§ Selecionar o canal de entrada§ Selecionar o clock para o módulo

    § Ligar o módulo

    2. Configurar a Interrupção A/D done (sedesejado):

    § Limpar o bit ADIF§ Setar os bits ADIE, PEIE e GIE

    Módulo A/D – PIC16F877A

    Módulo conversor A/D

    § Primeiros passos:3. Gerar o tempo requerido para aquisição.

    4. Iniciar a conversão:§ Setar o bit GO/DONE (ADCON0)

    5. Esperar o tempo para o módulo terminar a conversão A/D:§ Verificando se o bit GO/DONE foi limpo ou§ Esperando a interrupção A/D (ADIF – PIR1)

    6. Ler o resultado nos reg.(ADRESH:ADRESL)

    Módulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    9/13

    9

    Módulo conversor A/D§ Primeiros passos:

    7. Para uma nova conversão:§ Voltar ao passo inicial§ O tempo de conversão por bit é definido por 

    TAD§ É necessário pelo menos 2TAD para iniciar 

    § a próxima aquisição

    Módulo A/D – PIC16F877A

    Módulo conversor A/D - TEMPOMódulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    10/13

    10

    Módulo conversor A/D - TEMPOMódulo A/D – PIC16F877A

    Módulo conversor A/D - TEMPOMódulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    11/13

    11

    Módulo conversor A/D – REG´sMódulo A/D – PIC16F877A

    Módulo conversor A/D

    PIC16F877

    Módulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    12/13

    12

     A/DMódulo A/D – PIC16F877A

     A/D – Exemplo

    Configurar o módulo A/D para ler o canal 0.

    ...BANKSEL TRISA ; Seleciona banco 1MOVLW 0xFF ; Todos os pinos como entradaMOVWF TRISA ;CLRF ADCON1 ; Configura entradas A/D

    BSF ADCON1, ADFM ; e seleciona justificação a direitaBSF PIE1, ADIE ; Habilita a interrupção A/DBANKSEL ADCON0 ; Seleciona banco 0MOVLW B’11000001’ ; Clock RC, liga A/D, seleciona oMOVWF ADCON0 ; canal 0BCF PIR1, ADIF ; Limpa o bit interrupção A/DBSF INTCON, PEIE ; Habilita as interrupções periféricasBSF INTCON, GIE ; Habilita todas interrupções; Garantir tempo suficiente para a aquisição do valor da entrada analógicaBSF ADCON0, GO ; Inicia a conversão A/D; Esperar o tempo da conversão...

    Módulo A/D – PIC16F877A

  • 8/19/2019 04 Microcontroladores Moduload Pic16f877a

    13/13

    13

    Bibliografia Básica

    n   Datasheet do PIC16F877A

    Material da DisciplinaPlataforma SIGAA/UFC