Ir ao conteúdo

Interrupção externa pic16f877


felipeetec

Posts recomendados

Postado

Funcionamento:

-Ao detectar uma transição (borda) que pode ser configurada como subida ou descida, o programa ira gerar uma interrupção.

Para usar:

-Configure os bits RBPU,INTEDG do registrador OPTION_REG para selecionar qual borda

- Configure os bits INTE e INTF do registrador INTCON seus estados podem ser conferidos no datasheet;

exemplo:



void interrupt ()
{
INTCON.INTF = 0; //limpa - se o flag de interrupção sempre
PORTB.1 = 1; //ativa um port que pode ser um led por exemplo
}

void main(void)
{
PORTB = 0;
TRISB = 0b00000001; //Rb0 como entrada
OPTION_REG.INTEDG = 1; //borda de subida
OPTION_REG.RBPU = 1; //pull-ups desabilitados
INTCON.INTE = 1;
INTCON.INTF = 0;
INTCON.GIE = 1; //habilita de vez a interrupção

for (;; //aguarda interrupçao
}


simples não. So confirme os nomes dos bits no mikroC pois só programo C a familia PIC24 ou superior e uso o C30 da microchupa ops microchip kkkk.

Abs.

Postado

Tem pinos especificos no pic16f877 para usar interrupção externa???

porque a minha intenção é usar duas chaves fim de curso em um braço robotico, limitando o movimento do braço. n sei se fui totalmente claro

Postado

O PIC16F877 possui apenas uma interrupção externa, ou seja duas chaves você tera de multiplexar os pinos ou então usar um recurso legal do PIC que é o módulo IOC que faz quase a mesma coisa e estão disponiveis em 4 pinos!

Porém recomendo que leia o datasheet a respeito desse módulo pois ele é mais chatinho de configurar e exige um pouco de firmware pra funcionar do jeito que você quer.

datasheet do piqueredo:

http://www.alldatasheet.com/datasheet-pdf/pdf/115039/MICROCHIP/PIC16F877A.html

Abs.

Postado

Bom você pode fazer uma ligação estilo uma matriz 1x2 com onde a linha será o RB0 e a coluna a identificação do botão pressionado, com isso ao gerar a interrupção basta você na rotina desta ler qual das colunas esta pressionada, poderas usar qualquer pino para usar como coluna da sua matriz.

Abs.

Postado

não será necessario montar uma matriz, pois como eu disse as duas chaves em paralelo ja satifas minha necessidade,o unico problema era na programação que fico meio vago pra mim.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!