Página 1 de 1

Interrupções - 8051

MensagemEnviado: 10 Abr 2020 15:01
por vasconcelos
Alguem pode me dar um help ?


Exercicio :
Considere o programa abaixo:

asm code
ORG 0000h
SJMP INICIO;
ORG 0030h
INICIO: MOV A, #0;
CICLO: INC A;
SJMP CICLO;
END


Adapte o programa de modo que ao acionar a interrupção externa 0 ocorra uma parada PERMANENTE na execução do programa simulando uma "parada total de emergência".

Minha solução :
asm code
ORG 0000h
SJMP INICIO;
ORG 0003h
MOV A,#0
RETI
INICIO: MOV IE, #10000001b
MOV IP,#0
SETB IT0
CICLO: INC A;
SJMP CICLO;
END


A questão é, esta correto ?

Re: Interrupções - 8051

MensagemEnviado: 10 Abr 2020 19:45
por andre_luis
ao acionar a interrupção externa 0 ocorra uma parada PERMANENTE na execução do programa
Faz quase duas decadas que não mexo com assembly do 51, mas se quer manter o programa preso num loop infinito, do pouco que lembro, baseado no seu codigo faria algo assim:

asm code
ORG        0003h
FICA_AQUI: NOP
SJMP FICA_AQUI;

Re: Interrupções - 8051

MensagemEnviado: 12 Abr 2020 08:50
por ze
Eu faz 3 ou +
Código: Selecionar todos
ORG 0003h //é o vetor da interrupt?
sjmp $;
RETI //nem precisa pois nunca vai chegar aqui...

Re: Interrupções - 8051

MensagemEnviado: 12 Abr 2020 15:48
por vasconcelos
ze escreveu:Eu faz 3 ou +
Código: Selecionar todos
ORG 0003h //é o vetor da interrupt?
sjmp $;
RETI //nem precisa pois nunca vai chegar aqui...



ORG 003H é o vetor da interrupt sim.

Re: Interrupções - 8051

MensagemEnviado: 12 Abr 2020 15:49
por vasconcelos
aluis-rcastro escreveu:
ao acionar a interrupção externa 0 ocorra uma parada PERMANENTE na execução do programa
Faz quase duas decadas que não mexo com assembly do 51, mas se quer manter o programa preso num loop infinito, do pouco que lembro, baseado no seu codigo faria algo assim:

asm code
ORG        0003h
FICA_AQUI: NOP
SJMP FICA_AQUI;


Sim, eu vi esse comando na apostila mas tem sido um pouco dificil entender assembly, principalmente pra quem não tem base em eletronica :s

Re: Interrupções - 8051

MensagemEnviado: 12 Abr 2020 21:58
por vasconcelos
Por gentileza, algum moderador poderia apagar esse topico?

Sem fundamento a pergunta.


Desde já,
agradeço.

Re: Interrupções - 8051

MensagemEnviado: 09 Jun 2021 21:24
por Guri
Eu sempre fui fã de 8051, apesar de nunca ter feito nada com ele. Mas ultimamente estou mexendo como hoby e notei que a versatilidade do 8051 é muito boa, senão excelente.
O fato de ele ter interrupções VETORADAS torna as tarefas mais inteligentes e ageis.

Eu aconselho trabalhar em C, é muito melhor e mais intuitivo e olha que eu programei 25 anos da minha vida em ASM... :D