Interrupção no 8051

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Interrupção no 8051

Mensagempor jroberto.vieira » 04 Fev 2007 15:46

Olá galera.

Preciso saber a respeito das interrupções do 8051 de maneira clara...
Posso utilizar o Timer 0 junto com a Interupção 0 (externo)???? e Timer 1 junto com a Interrupção 1 (externo)????
Tenho uma certa dificuldade no entendimento do funcionamento das Interrupções, por isto preciso de uma explicação clara...

Agradeço a colaboração.


Roberto.
jroberto.vieira
Bit
 
Mensagens: 36
Registrado em: 07 Dez 2006 07:55

Mensagempor Iran » 04 Fev 2007 17:45

Vamos lá.

As interrupções são independentes, portanto pode usar até todas elas simultaneamente.
Para usar as interrupções externas vc tem de definir se elas serão disparadas na borda de descida ou no nível (bits IT0 e IT1 de registrador TCON) tem tb de habilita-lás localmente e globalmente (bits EX0 e EX1 e EA do registrador IE) e colocar as rotinas de tratamento de cada interrupção na posição correta da tabela de vetores de interrupção( 0x0003 para Externa 0 e 0x0013 para Externa 1), sempre que houver uma interrupção externa o PC aponta para os endereços acima e lá é esperado está o codigo de atendimento da interrupção, ou então um jump para um outro local onde efetivamente está a rotina de atendimento.

De uma procurada na internet que vc encontra textos que explicam bem detalhadamente tudo sobre as interrupções do 8051 e família.

Qq dúvida eu e os outro colegas do ASM51 podemos ajudar.

É isso.
Zé Iran.
Avatar do usuário
Iran
Word
 
Mensagens: 558
Registrado em: 16 Out 2006 18:10
Localização: Imperatriz - MA

Mensagempor Doth » 04 Fev 2007 20:25

Bah pessoal acertaram exatamente minha duvida.
Tipo estou usando um timer dentro da interrupção serial, teria alguma coisa pra ser feita? tipo liberar algum bit ou coisa assim?

Obrigado

//Ricardo Doth
Doth
Byte
 
Mensagens: 116
Registrado em: 12 Out 2006 17:35

Obrigado Iran

Mensagempor jroberto.vieira » 04 Fev 2007 21:46

Valeu Iran...

Deu pra entender....Mesmo assim vou procurar mais a repeito....

Valeu mesmo...

Aa medida em que as dúvidas forem surgindo, recorrerei à voces..


Até...


Roberto
jroberto.vieira
Bit
 
Mensagens: 36
Registrado em: 07 Dez 2006 07:55

Mensagempor Maurício » 05 Fev 2007 01:23

Doth escreveu:Bah pessoal acertaram exatamente minha duvida.
Tipo estou usando um timer dentro da interrupção serial, teria alguma coisa pra ser feita? tipo liberar algum bit ou coisa assim?

Obrigado

//Ricardo Doth


Qual máquina vc está usando ? (8051, 8052)
Qual timer vc está usando para gerar os baud-rates ?
O que vc quer fazer ? Programar a serial, ou programar os timers 0 e 2, pra gerarem interrupção ?

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor andre_luis » 05 Fev 2007 09:05

Só pra complementar, é uma boa prática não colocar funcoes dentro das interrupcoes, mas apenas no programa principal. Nas interrupçoes é aconselhável apenas setar flags ou ler resultados de registradores.

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


Voltar para 8051

Quem está online

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

x