Interrupções - 8051

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Interrupções - 8051

Mensagempor vasconcelos » 10 Abr 2020 15:01

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 ?
vasconcelos
 
Mensagens: 4
Registrado em: 10 Abr 2020 14:57

Re: Interrupções - 8051

Mensagempor andre_luis » 10 Abr 2020 19:45

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;
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Interrupções - 8051

Mensagempor ze » 12 Abr 2020 08:50

Eu faz 3 ou +
Código: Selecionar todos
ORG 0003h //é o vetor da interrupt?
sjmp $;
RETI //nem precisa pois nunca vai chegar aqui...
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Re: Interrupções - 8051

Mensagempor vasconcelos » 12 Abr 2020 15:48

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.
vasconcelos
 
Mensagens: 4
Registrado em: 10 Abr 2020 14:57

Re: Interrupções - 8051

Mensagempor vasconcelos » 12 Abr 2020 15:49

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
vasconcelos
 
Mensagens: 4
Registrado em: 10 Abr 2020 14:57

Re: Interrupções - 8051

Mensagempor vasconcelos » 12 Abr 2020 21:58

Por gentileza, algum moderador poderia apagar esse topico?

Sem fundamento a pergunta.


Desde já,
agradeço.
vasconcelos
 
Mensagens: 4
Registrado em: 10 Abr 2020 14:57

Re: Interrupções - 8051

Mensagempor Guri » 09 Jun 2021 21:24

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
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais


Voltar para 8051

Quem está online

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

cron

x