microcontrolador assembly
Alunos: José Campos Fernandes Junior
Douglas Ferreira
Professor: Lincoln Fernando Raitz Martins
Turma: 3ELN1
2012
COMANDOS UTILIZADOS
NO PROGRAMA
ORG -> Define o endereço da Linha.
LJMP -> Salta para (Rótulo).
JB -> Pergunta se (endereço) = 1, Se sim vai para a próxima linha, se não vai para (LOCAL NÃO).
JNB -> Pergunta se (ENDEREÇO) = 1, se sim vai para (LOCAL SIM), se não vai para a próxima linha.
LCALL -> Chama a Sub-rotina (ROTULO).
INC -> Incrementa o (OPERANDO) em 1bit.
DEC -> Decrementa o (OPERANDO) em 1bit.
JZ -> Vai para (ENDEREÇO) se A=0
CJNE -> Compara (OPERANDO 1) com (OPERANDO 2), se forem diferentes vai para (RÓTULO), se iguais vai para a próxima linha.
DJNZ -> Decrementa o (OPERANDO), se o valor do mesmo for diferente de 0 vai para (RÓTULO).
MOV-> Movimenta um valor para o local especifico, substituindo o antigo valor.
RET -> Retorna da Sub-rotina para linha seguinte a que ela foi chamada.
Explicação do Programa
O programa inicia com os led’s intermitentes, contendo duas senhas (Master e Slave) com 5 dígitos cada. A senha Master libera o acesso ao INT0 e INT1. A senha Slave libera somente o acesso ao INT1. Quando acionado INT0 e a senha estiver correta, os led’s acendem das extremidades para o centro, apagam do centro para as extremidades e retorna para o programa principal. Quando acionado INT1 e a senha estiver correta, os led’s apagam por alguns instantes, e retorna para o programa principal. Em ambos os casos, se não for digitado a senha correta de liberação, os led’s começam a piscar e retorna para o programa principal.
PROGRAMA EM ASSEMBLY
ljmp inicio
org 03h inte0: cjne r6,#5,atalhoerrado lcall filtro mov p2,#01111110b lcall filtro mov p2,#00111100b lcall filtro mov p2,#00011000b lcall filtro mov p2,#00000000b lcall filtro lcall filtro mov p2,#00011000b lcall filtro
mov