Sie sind auf Seite 1von 24

Marchando para além..........

Disciplina : EE 213 – Técnicas Digitais e de


Microprocessadores II
Prof. Corradi, Romeu Junior
14/11/2019
Escrever um código-fonte para a família MCS-51; que acione
uma carga com atraso no acionamento de 6 segundos.
Ilustração:

14/11/2019
14/11/2019
Ligar e desligar uma
Carga – Ligar com Rotina de
retardo de 6 s atraso de
tempo = 6 seg

Definir entradas e saídas


Saída = P1.5
Entrada ON = P1.1 Ligar a carga
Entrada OFF = P1.0

S
S P1.0 = 1
P1.1 = 1

N
N
Desligar a
1
carga
14/11/2019
; Exercício proposto – 08/2012 ;Sub-rotina de tempo
; Atraso no acionamento de cargas ;*****************************
;************************************** *
carga bit p1.5 atraso:
swOn bit p1.1 mov r2,#255
swOff bit p1.0 Loop1:
;************************************** mov r1,#255
org 0000h Loop2:
mov p1,#11011111b jnb swOff,parar
;************************************** mov r0,#43
ini: djnz r0,$
jb swOn,ini djnz r1,loop2
call atraso djnz r2,loop1
setb carga ret
jb swOff,$
Parar: end
clr carga
jmp ini 14/11/2019
Simular!

14/11/2019
14/11/2019
- Registrador de 16 bits, chamado Ponteiro de Dados.
- Usado para comandos que acessam a memória interna de
programa e memória externa de dados e de programa;
- Usado para armazenar valores de 16 bits
- Mov DPTR,#data16 ;DPTR = 16 bits de endereço
- Movx a,@DPTR ;cópia mem[DPTR]para A
- É útil para operação com string e procurar dados em uma
tabela (LUT-look up table)

Obs. A pseudo instrução DB = armazena byte na memória de


programa

Observar o programa em anexo e simular no uVision verificando


o seu funcionamento.

14/11/2019
14/11/2019
14/11/2019
14/11/2019
14/11/2019
14/11/2019
14/11/2019
14/11/2019
14/11/2019
14/11/2019
org 0000h
jmp inicio ;salta os vetores de interrupção
org 0013h
cpl p1.3
reti
org 30h
Inicio: IE
mov ie,#84h
Aqui:
Simulação jmp aqui
01_nível end

14/11/2019
org 0000h
jmp inicio ;salta os vetores de interrupção
org 0013h
cpl p1.3
reti
org 30h
Inicio:
setb tcon.2
mov ie,#84h
Simulação _Borda Aqui:
jmp aqui
end

14/11/2019
Exemplo numérico 01 – Fazer o fluxograma e o
programa-fonte em assembly para o uC 8051 que calcula
a quantidade de números impares e apresenta o bit 4
igual a 0 [zero], de um buffer de memória que vai do
endereço 65h até o 73h. O resultado deve ser
armazenado no conteúdo da posição de memória cujo
endereço é 5Ah.

Solução: Um nº impar é aquele que o bit


menos significativo é igual a 1.
14/11/2019
Impares e
2
bit 4 = 0

(5Ah) = (5Ah)+1
(R0) = 65h
(R1) = 0Fh
(5Ah) = 00h 1

(R0) = (R0)+1
(A) = ((R0))

S Acc.0 = 0 ?
[é par ?] S (R1) = (R1) – 1
(R1) ≠ 0 ?
N
1
Acc.4 =1 ? N
N
[bit 4 é igual a 2 fim
S 1?]
14/11/2019
;Calcula impar com bit 4 =0
;****************************************
;carregar os registradores
mov r0,#65h
mov r1,#0Fh
mov 5ah,#00h
;**************************************
ADR2: ADR1:
mov a,@r0 inc r0
jnb acc.0,adr1 djnz r1,adr2
jb acc.4,adr1 end
inc 5ah
14/11/2019
Elaborar o fluxograma e o programa-fonte em
assembly para o uC 8051 que calcula a
quantidade de números que apresentam
paridade impar de um buffer de memória que
vai do endereço 2Eh até o endereço 64h. O
resultado deve ser armazenado no conteúdo da
posição de memória cujo endereço é 12h.

14/11/2019
Atividades:
Estudar em casa utilizando as Apostilas e demais materiais
disponibilizados.
Resolução de exercícios – Exercícios resolvidos na apostila.
Bom Trabalho!

14/11/2019

Das könnte Ihnen auch gefallen