OMicrocontrolador PIC16F877A implementa um conversor

Documentos relacionados
OMódulo Comparador Analógico consiste em um conjunto

1.1 Noções básicas sobre interrupções em Microcontroladores

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

Sistemas Digitais e Microcontrolados

Sistemas Digitais e Microcontrolados

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

OMicrocontrolador PIC16F877A apresenta dois módulos

Sistemas Microcontrolados. Período Aula 6. 1 Saulo O. D. Luiz

OMPLAB é um programa para PC, que roda sobre a

Sistemas Microcontrolados. Período Aula Saulo O. D. Luiz

Sistemas Microcontrolados

6. Estrutura do Programa em Assembly

Curso de Microcontroladores PIC 16F84A

Sistemas Digitais e Microcontrolados

Interrupções e Timers

Arquitetura de Computadores. Prof. João Bosco Jr.

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Sistemas Embarcados:

Microcontroladores: Programação em C

Microcontrolador PIC 16F877

Manual do usuário. - Kit Clp Pic 40 v4.0. Manual do usuário. Copyright VW Soluções

Manual do Usuário. McMaster Desenvolvimento de Sistemas com Microcontroladores PIC

C:\seminario\guiao_aluno\trab6\trab6.asm

Copyright 2013 VW Soluções

Experiência. Montagem Kit Didático. 2. Turma: Nota: 5. MICRO-I Prof. Mauricio. Identificação dos Alunos:

Kit Clp Pic 40B Manual do usuário. Manual do usuário - Kit Clp Pic 40B v2.0. Copyright VW Soluções

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

Sistemas Digitais e Microcontrolados

Sistemas Microcontrolados. Período Aula 9. 1 Saulo O. D. Luiz

C:\Users\House\Desktop\fluxo.c 1: /****************************************************************************** 2: * Objetivo: Este projeto visa

Hardware Parte I. Fábio Rodrigues de la Rocha

Microprocessadores. Cap. 4 Assembly

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes.

Copyright 2014 VW Soluções

Sistemas Microcontrolados

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

V1 5V +V. (14)Vdd (6)RB0 PIC 16F628A. (16) Clk-out. C1 33pF. C2 33pF. Figura 1 Circuito pisca-pisca.

Sistemas Embarcados:

Microcontroladores PIC

Funções dos Microcontroladores Microcontroladores e Microprocessadores Especialização em Automação Industrial

O Pino P2.7 não está sendo usado e cada Display mostrará valores de 0 a 9.

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Laboratório de Microprocessadores e Microcontroladores

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 03: INTERRUPÇÕES

Projeto de Sistemas Eletrônicos

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Sistemas Microcontrolados

Kit de desenvolvimento ACEPIC Light

Copyright 2013 VW Soluções

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

Usando display LCD tipo 16x2

EL08D - MICROCONTROLADORES

Comunicando com um teclado PS2 Vitor Amadeu Souza

RTC Real Time Counter e Pinos do JM60

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Jadsonlee da Silva Sá

MICROCONTROLADORES PIC

Conhecendo o PIC24 e o mikropascal

LCDs Inteligentes. LCD Inteligente. Gabriel Kovalhuk DAELN / UTFPR

Manual do usuário. Kit Clp Pic. - Kit Clp Pic 28 v4.0. Manual do usuário. Copyright VW Soluções

SICILIANO TECNOLOGIA

Conversor Analógico Digital do MSP430G2553

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira

INSTITUTO DE TECNOLOGIA EMERSON MARTINS

Microcontroladores PIC

Introdução ao Uso do LCD Inteligente (Versão Preliminar) Por Gilson Yukio Sato. Introdução

PMR2415 Microprocessadores em Automação e Robótica. Jun Okamoto Jr.

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

KIT DIDÁTICO PIC-2377

Cerne Tecnologia e Treinamento

Microcontroladores PIC. Microcontroladores PIC

INSTRUMENTAÇÃO ELETRÔNICA. UFRN - DEE Rodrigo Marques de Melo Santiago

10.0 Conversores DA. Conceitos básicos:

Seqüencial de Leds utilizando o microcontrolador PIC16F628A Vitor Amadeu

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

Capítulo 8 Interface com o mundo analógico

Microcontroladores: Programação em C

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

Tutoriais PET-Tele. Introdução à Amostragem de Sinais com o kit Arduino (Versão: A2016M06D21)

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Kit de desenvolvimento ACEPIC PRO V3.0

Módulo de Cristal Líquido LCD

Comunicação RC5 com o dspic Vitor Amadeu Souza

Transcrição:

Conversor A/D com PIC Roteiro N o 04 Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia - DEE Curso de Bacharelado em Engenharia Elétrica - Disciplina de Sistemas Microprocessados Elaboração: Ivan S. de Oliveira - Revisão: Prof. M.Sc. Ciro Egoavil Laboratório de Sistemas Microprocessados I. INTRODUÇÃO OMicrocontrolador PIC16F877A implementa um conversor A/D (Analógico/Digital) de 10 bits de resolução que pode ser utilizado para medir grandezas analógicas externas. O PIC 16F877A tem oito entradas do conversor A/D que estão ligadas aos pinos AN0(RA0), AN1(RA1), AN2(RA2), AN3(RA3), AN4(RA5), AN5(RE0), AN6(RE1) e AN7(RE2). Os registradores que configuram o modo no qual este periférico irá funcionar são os registradores ADCON0 e AD- CON1. O resultado da conversão A/D fica nos registradores ADRESH (Bank 0) e ADRESL (Bank 1). Pode-se observar que a conversão fica armazenado em dois registradores pelo fato de não caber em um registrador de 8 bits. A conversão dos resultados do formato digital para o analógico pode ser realizado da seguinte forma: IV. MULTÍMETRO DIGITAL EM ASSEMBLY Um multímetro digital simples pode ser construído utilizando o conversor A/D disponível no PIC. Para isso, é utilizado um esquema elétrico como o da Figura 1. Neste esquema, um potenciômetro é conectado no pino AN0 do PORTA e oito LEDs são ligados ao PORTD e dois ao PORTE do microcontrolador PIC16F877A. O potenciômetro tem a função de ajustar a tensão que será convertida, neste multímetro a faixa de tensão a ser medida será de 0 a 5 V. A tensão aplicada no conversor do PIC não pode ser superior a sua tensão de alimentação, neste caso 5V. Os LEDs são responsáveis por apresentar o valor da tensão convertida no formato digital. V ad = (V ref+) (V ref ) N 2 V d (1) onde: -Vad = é o resultado da conversão no formato analógico. -Vref+ = é o maior valor da grandeza a ser medida. -Vref- = é o menor valor da grandeza a ser medida. -N = resolução da conversão A/D. -Vd = valor em formato digital que se pretende converter. Portanto, para uma conversão A/D de oito bits de resolução tem-se a seguinte equação: V ad = E para dez bits, tem-se: (V ref+) (V ref ) 256 V d (2) V ad = (V ref+) (V ref ) 1024 II. OBJETIVOS V d (3) Neste trabalho, será apresentado como utilizar o conversor A/D disponível no microcontrolador PIC16F877A em duas possíveis aplicações: um Multímetro e um Termômetro Digital. III. SOFTWARES UTILIZADOS MPLAB CCS C Compiler PROTEUS Professional Figura 1. Esquema Elétrico do Multímetro. O programa escrito em Assembly e gravado no PIC que executa esta função é apresentado a seguir: #include <P16F877A.INC> CONFIG _CP_OFF&_PWRTE_OFF& _WDT_OFF & _XT_OSC #DEFINE BANCO0 BCF STATUS,RP0 #DEFINE BANCO1 BSF STATUS,RP0 CBLOCK 0X0020 TEMPO0

TEMPO1 ENDC ORG 0x0000 GOTO INICIO ORG 0X0004 RETFIE DELAY_MS MOVWF TEMPO1 DELAY_MSB MOVLW.250 MOVWF TEMPO0 DELAY_MSA NOP DECFSZ TEMPO0,F GOTO DELAY_MSA DECFSZ TEMPO1,F GOTO DELAY_MSB RETURN INICIO BANCO1 MOVLW B 00000001 MOVWF TRISA MOVLW B 00000000 MOVWF TRISD MOVLW B 00000000 MOVWF TRISE MOVLW B 10001111 MOVWF ADCON1 MOVLW B 10000111 MOVWF OPTION_REG BANCO0 MOVLW B 00000000 MOVWF INTCON MOVLW B 01000001 MOVWF ADCON0 CLRF PORTD CLRF PORTE CLRF TEMPO0 CLRF TEMPO1 MOVF ADRESL,W BANCO0 MOVWF PORTD MOVLW.1 CALL DELAY_MS GOTO LOOP END No programa, inicialmente realiza-se a configuração dos registradores que controlam a conversão A/D. O registrador ADCON0 é configurado da seguinte forma: ADCS1 = 0, ADCS0 = 1 - juntamente com o ADCS2 do ADCON1, configuram a velocidade de conversão para Fosc/8; CHS2 = 0, CHS1 = 0 e CHS0 = 0 - selecionam o canal 0 (AN0) como o canal de entrada do conversor; ADON = 1 - liga o conversor. O ADCON1 é configurado da seguinte forma: ADFM = 1 - ajusta o formato da conversão A/D à direita, ou seja, os oito bits menos significativos da conversão ficam no ADRESL e os dois mais significativos no ADRESH; ADCS2 - ajusta a velocidade de conversão; PCFG3 = PCFG2 = PCFG1 = PCFG0 = 1 - configuram o pino AN0 como analógico, AN3 e AN2 como entrada de referência da tensão (A tensões de referência são os limites no qual o conversor deve operar) e os demais pinos como I/O digital. No rótulo LOOP, o bit GO DONE do ADCON0 é setado, informando que a conversão deve ser iniciada. Posteriormente, este bit é testado até que a conversão termine, ou seja, até que o bit seja limpo. Então, o valor da conversão armazenado nos registradores ADRESH e ADRESL é movido para os PORTE e PORTD, respectivamente. Para exemplificar, a Figura 2 ilustra uma leitura, em 10 bits, de um valor de tensão aplicado na entrada do conversor A/D do PIC. A partir da Equação 3, pode-se obter o valor correspondente no formato analógico. MOVLW.1 CALL DELAY_MS Figura 2. Leitura dos LEDs no Multímetro. LOOP BSF ADCON0,GO_DONE CONV_PRONTO BTFSC ADCON0,GO_DONE GOTO CONV_PRONTO MOVF ADRESH,W MOVWF PORTE BANCO1 Sabendo que as tensões de referências aplicadas nos pinos AN3 e AN2, Vref+ e Vref- são 5 e 0 volts, respectivamente, e o valor no formato digital apresentado nos LEDs, conforme Figura 2, é Vd = 0000101001 = 41, então, como mostrado Equação 4, tem-se: V ad = 5 0 1024 41 = 0, 2V (4)

V. RELATÓRIO - PARTE I Altere o programa e o esquema elétrico apresentado anteriormente para que o valor da tensão aplicada na entrada do conversor A/D seja apresentado em um display LCD. A apresentação dos valores deve ser semelhante ao ilustrado na Figura 3. O programa, escrito em C, responsável por executar tal função é apresentado abaixo: #include <16f877a.h> #device ADC=8; #fuses xt, nowdt, noprotect, put, brownout #use delay(clock=4000000) void Inicializa(void); Figura 3. Multímetro com Display LCD. void main() { Inicializa(); while(true) { int dado; dado = read_adc(); output_d(dado); delay_ms(1); VI. TERMÔMETRO DIGITAL EM C Um simples termômetro digital pode ser implementado utilizando o conversor A/D do PIC. Para isso, utiliza-se um circuito com esquema elétrico semelhante ao da Figura 4. void Inicializa(void) { delay_ms(200); Setup_ADC(ADC_CLOCK_DIV_8); Setup_ADC_Ports(RA0_ANALOG_RA3_RA2_REF); Set_ADC_Channel(0); O código é iniciado com as instruções reproduzidas abaixo: #include <16f877a.h> #device ADC=8; #fuses xt, nowdt, noprotect, put, brownout #use delay(clock=4000000) void Inicializa(void); Neste trecho, é realizada a inclusão do ficheiro com as características do PIC16F877A, microcontrolador utilizado no projeto, e, também, é efetuada a configuração do conversor A/D em oito bits de resolução. Posteriormente, os fusíveis ou opções de gravação são ajustados da seguinte forma: Oscilador externo tipo cristal (xt); Power-up timer (put) ligado; Código de Proteção (noprotect) desligado; WatchDog Timer (nowdt) desligado. Figura 4. Esquema Elétrico do Termômetro. Neste circuito, o sensor de temperatura LM35 é conectado ao pino de entrada, AN0, do conversor A/D do PIC16F877A e as tensões de referência são aplicadas aos pinos AN3 e AN2. O termômetro efetuará a medida de temperatura na faixa de 0 a 150 o C, que corresponde à uma tensão na saída do sensor de 0 a 1.5 V, pois o sensor fornece 10 mv para cada grau Celsius. Devido a este fato, as tensões de referência devem ser Vref+ = 1.5 V e Vref- = 0, aplicadas ao pino AN3 e AN2, respectivamente. Os valores da conversão no formato digital são apresentados em oito LEDs conectados ao PORTD do microcontrolador. void main() { Inicializa(); while(true) { int dado; dado = read_adc(); output_d(dado); delay_ms(1); Na função main é executada a função Inicializa() responsável por realizar a configuração inicial do PIC. Na função main, o comando while(true) cria um laço onde é declarada a variável local dado do tipo int no qual é armazenado o valor da conversão obtido da instrução read adc(). Posteriormente,

o valor da conversão e enviado ao PORTD através da instrução output d(dado). Na função Inicializa(),é realizada a configuração inicial do PIC através das instruções mostradas abaixo: Setup ADC(ADC CLOCK DIV 8) - configura a velocidade conversão para Fosc/8; Setup ADC P orts(ra0 ANALOG RA3 RA2 REF ) - configura o pino AN0(RA0) como analógico e os pinos AN3(RA3) e AN2(RA2) como entrada para as tensões de referência; Set ADC Channel(0) - seleciona o canal 0 (AN0) para a leitura do canal A/D. REFERÊNCIAS [1] Souza, Vitor Amadeu, Projetando com os microcontroladores da família PIC 18: Uma nova percepção, 1 a Ed., São Paulo: Ensino Profissional, 2007. [2] Souza, David José de, Desbravando o PIC: ampliado e atualizado para PIC 16F628A, 6 a Ed., São Paulo: Érica, 2003. [3] Pereira, Fábio, Micrcontroladores PIC: Técnicas Avançadas, 6 a Ed., São Paulo: Érica, 2007. [4] Apostila de Linguagem C para PIC16F877A com base no CCS - Cerne Tecnologia e Treinamento LTDA. [5] Schildt, Herbert, C, Completo e Total, 3 a Ed., São Paulo: Pearson Markron Books, 1997. void Inicializa(void) { delay_ms(200); Setup_ADC(ADC_CLOCK_DIV_8); Setup_ADC_Ports(RA0_ANALOG_RA3_RA2_REF); Set_ADC_Channel(0); Para realizar a leitura do valor da temperatura apresentada nos LEDS é utilizada a Equação 2, para oito bits. A partir da leitura apresentada na Figura 5, pode-se observar que o valor mostrado nos LEDs corresponde ao valor no formato digital Vd = 00101011 = 43. Sabendo que a faixa de temperatura a ser convertida é de 0 a 150 o C, então a temperatura pode ser obtida como na Equação 5: Figura 5. Leitura do LEDs no Termômetro. V ad = 150 0 256 VII. RELATÓRIO - PARTE II 43 = 25.2 o C (5) Modifique o programa anterior, escrito em C, e o esquema elétrico do circuito no Proteus para que o valor de temperatura, com resolução de 10 bits, seja apresentado em um display LCD e tenha aparência semelhante ao da Figura 6. Figura 6. Termômetro com Display LCD.

1 A - DISPLAY APÊNDICE Hexadecimal Binário Descrição 0x38 00111000 Comunicação do módulo com 8 bits 0x06 00000110 Sentido do deslocamento do cursor: para a direita. 0x0C 00001100 Liga display sem cursor. 0x01 00000001 Limpa display com Home cursor. 0x18 00011000 Deslocamento da mensagem sem entrada de caractere: para a esquerda. 0x1C 00011100 Deslocamento da mensagem sem entrada de caractere: para a direita. Tabela I COMANDOS PARA INICIALIZAÇÃO DO DISPLAY LCD 16X2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Linha 1 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F Linha 2 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF Tabela II ENDEREÇOS DE CARACTERES NO DISPLAY. Pino Nome Função Descrição 1 Vss Alimentação Terra ou GND 2 Vdd Alimentação VCC ou +5V 3 Vee V0 Tensão de ajuste de contraste. 4 RS Register select 1-Dado, 0-Instrução. 5 R/W Read/Write 1-Leitura, 0-Escrita. 6 E Chip select 1 ou (1 0) - Habilita, 0 - Desabilita. 7 D0 Dado Bit 0 8 D1 Dado Bit 1 9 D2 Dado Bit 2 10 D3 Dado Bit 3 11 D4 Dado Bit 4 12 D5 Dado Bit 5 13 D6 Dado Bit 6 14 D7 Dado Bit 7 Tabela III PINAGEM DO MÓDULO LCD B - SENSOR DE TEMPRATURA - LM35 Calibrado diretamente em o C; Linear + 10,0 mv/ o C; 0,5 o C de precisão; Alcance de -55 o C a 150 o C; Opera entre 4 a 30 volts; Corrente de dreno menor que 60 ua; Não linearidade típica de ± 1/4 o C; Baixa impedância de saída 0,1 ohm para carga de 1mA. C - REGISTRADORES R/W - leitura/escrita R - somente leitura U - não implementado O valor após o traço é o valor inical, após reset.

2 1 - ADCON0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE - ADON R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 Tabela IV REGISTRADOR ADCON0 ADCS1, ADCS0 - A função destes bits é configurar a velocidade de conversão para o módulo de AD. ADCS2 ADCS1:ADCS0 Velocidade de conversão 0 00 Fosc/2 0 01 Fosc/8 0 10 Fosc/32 0 11 Frc(Clock derivado do oscilador RC interno) 1 00 Fosc/4 1 01 Fosc/16 1 10 Fosc/64 1 11 Frc(Clock do oscilador RC interno) Tabela V ADCS2, ADCS1, ADCS0 CHS2, CHS1, CHS0 - Seleção de canal de leitura de AD. 000 - Canal 0 (AN0) 001 - Canal 1 (AN1) 010 - Canal 2 (AN2) 011 - Canal 3 (AN3) 100 - Canal 4 (AN4) 101 - Canal 5 (AN5) 110 - Canal 6 (AN6) 111 - Canal 7 (AN7) GO/DONE - Status da conversão AD: 1 - Conversão AD está sendo realizada; 0 - Conversão AD não está sendo realizada. ADON - Desliga ou liga o AD: 1 - Conversor AD está ligado; 0 - Conversor AD está desligado. 2 - ADCON1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ADFM ADCS2 - - PCFG3 PCFG2 PCFG1 PCFG0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 Tabela VI REGISTRADOR ADCON1 ADFM - Ajuste do formato do resultado da conversão de AD: 1 - Justificação à direita; 0 - Justificação á esquerda. ADCS2 - Bit de seleção de velocidade de conversão AD (Tabela V) PCFG3:PCFG0 - Bits de controle da configuração do AD.

3 Figura 1. Bits PCFG3:PCFG0 3 - INTCON bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 GIE PEIE T0IE INTE RBIE T0IF INTF RBIF R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-X Tabela VII REGISTRADOR INTCON GIE - Global Interrupt Enable/Habilitação Global de Interrupções - o bit GIE é o controle geral de interrupções no PIC. Ele funciona como a chave principal de controle de interrupções: 0 - Se estiver desligado, não poderá ocorrer nenhuma interrupção no chip (mesmo que alguma interrupção individual esteja habilitada); 1 - Se estiver ligado (e alguma das interrupções individuais também estiver habilitada), poderá ocorrer interrupção. PEIE - Habilitação das interrupções periféricas: 0 - Interrupções periféricas desligadas; 1 - Interrupções periféricas habilitadas. T0IE - Habilitação de interrupções de transbordamento do timer 0; 0 - Interrupção de transbordo do timer 0 desligada; 1 - Interrupção de transbordo do timer 0 habilitada. INTE - Habilitação de interrupção externa (RB0/INT); 0 - Interrupção externa desligada; 1 - Interrupção externa ligada. RBIE - Habilitação de interrrupção por mudança na porta B (pinos RB4 a RB7); 0 - Interrupção por mudança na porta B desligada; 1 - Interrupção por mudança na porta B habilitada. T0IF - Flag sinalizador de transbordamento do timer 0; 0 - Não houve transbordamento no timer 0 (a contagem dele não superou 255); 1 - Houve transbordamento no timer 0 (a contagem dele superou 255) e se o GIE estiver ligado, assim como o T0IE, será gerada um interrupção neste caso. INTF - Flag sinalizador de interrupção externa (RB0/INT); 0 - Não houve interrupção externa no pino RB0/INT; 1 - Uma interrupção externa foi acionada pelo pino RB0/INT (dependendo da borda selecionada pelo bit INTEDG do

4 registrador OPTION). Se o GIE estiver ligado, assim como O INTE, será gerada interrupção neste caso. RBIF - Flag sinalizador de alteração nos pinos RB4 a RB7; 0 - Não houve alteração nos níveis lógicos dos pinos RB4 a RB7; 1 - Houve alteração em algum dos pinos RB4 a RB7. Se o GIE estiver ligado e o RBIE também, será gerada uma interrupção. 4 - OPTION REG bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 Tabela VIII REGISTRADOR OPTION REG RBPU - Ativação dos resistores pull-up internos da porta B: 0 - Resistores de pull-up ativados (apenas para os pinos configurados como entrada); 1 - Resistores de pull-up desativados. INTEDG - Seleção da borda de ativação da interrupção externa RB0/INT: 0 - Poderá ocorrer interrupção na borda de descida do sinal no pino RB0/INT; 1 - Poderá ocorrer interrupção na borda de subida do sinal no pino RB0/INT; TOCS - Seleção de entrada de clock para o timer 0: 0 - O clock do timer será proveniente do clock interno do sistema (Fosc/4); 1 - O clock do timer 0 será obtido externamente pelo pino RA4/T0CKI. TOSE - Seleção de borda de sensibilidade do clock externo do timer 0; 0 - O timer 0 será incrementado na borda de subida do sinal externo aplicado em RA4/T0CKI; 1 - O timer 0 será incrementado na borda de descida do sinal externo aplicado em RA4/T0CKI. PSA Este bit permite selecionar se o prescaler está conectado ao timer 0 ou ao watchdog: 0 - O prescaler está conectado ao timer 0; 1 - O prescaler está conectado ao watchdog. PS0, PS1, PS2 - são os bits responsáveis pela configuração do prescaler utilizado com o timer 0 ou com o watchdog. PS2 PS1 PS0 Timer0(PSA=0) Watchdog(PSA=1) 0 0 0 1:2 1:1 0 0 1 1:4 1:2 0 1 0 1:8 1:4 0 1 1 1:16 1:8 1 0 0 1:32 1:16 1 0 1 1:64 1:32 1 1 0 1:128 1:64 1 1 1 1:256 1:128