Rotina!!

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Rotina!!

Mensagempor antonio » 03 Mar 2007 18:11

Pessoal tudo bem!!

Bem a minha duvida de hoje è que eu estou navegando a tentar compreender esta interrupcao e nao à meio de eu entender ,na linha em baixo o pessoal pode dar uma ajuda a entender isto?
Um abraço

#INT_RB
void tecla_pulsada(void)//
{
if(!(port_b^0xF0))//principalmente esta linha aqui
return;
}
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor a.rairan » 03 Mar 2007 18:59

se port_b XOR 0xF0 for igual a 0


em assembly ficaria assim:

movlw 0xF0
xorwf port_b,w
btfsc STATUS,Z
return
return


só tem o return......

no PIC18 eziste a função BZ, Branch if Zero, pula se zero... facilita um pouco
André "Away" Rairan
a.rairan
Byte
 
Mensagens: 192
Registrado em: 11 Out 2006 18:53
Localização: São Caetano do Sul - SP - Brasil

Mensagempor antonio » 03 Mar 2007 19:48

Brigado a.rairan

Isso tambem eu entendi por o que esteve lendo no livro do fabio,agora em termos praticos sinceramente ainda nao foi desta !!

desculpe a ignorancia ,mas preciso de mais ajuda,o que faz quando à uma int com o port_b?

desde jà agradeço
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor Pask » 03 Mar 2007 23:03

Caro amigo Antônio, esta deve ser a interrupção de mudança de estado no PORTB do PIC. Toda vez que um dos pinos RB4, RB5, RB6 ou RB7 mudarem de estado (H para L) ou (L para H), a interrupção ocorrerá. Esta é apenas uma das 10 fontes de interrupção deste modelo de PIC.
Quando um desses pinos sofre uma mudança de estado o programa desvia para o vetor de interrupção e a sua rotina de interrupção pode ser tratada como você desejar.
Quer um exemplo? Suponhamos que você tenha 4 botões, um ligado em cada um desses pinos. Quando qualquer um deles for pressionado, ocorrerá a interrupção.
Espero ter esclarecido você melhor.

Pask.
Pask
Word
 
Mensagens: 600
Registrado em: 22 Dez 2006 19:19

Mensagempor andre_luis » 05 Mar 2007 09:19

Conforme disse o Pask, essa rotina ( usando exclusive or ) faz sentido quando se usa chave, e não botao. Um bom modo de testar essa rotina seria com DIPSWITCH e não com PUSHBOTTON, pois assim o camarada iria ver a mudanca ocorrer a cada mudanca de estado das chaves.

+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor antonio » 05 Mar 2007 16:29

Grato a todos :D
um abraço
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x