04 microcontroladores moduload pic16f877a
Post on 07-Jul-2018
230 Views
Preview:
TRANSCRIPT
-
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
top related