Você está na página 1de 21

Microcontroladores

Microcontrolador 8051 – ambiente de simulação

14/03/2018
Campus Mossoró, Eng Msc Kleber Jacinto

16/03/2018 1
Simulador EdSim51
Ferramenta de simulação de microprocessador 8051

16/03/2018 2
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Onde encontrar?
http://www.edsim51.com/

Requisitos: Java atualizado


16/03/2018 3
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

16/03/2018 4
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

Representação da
memória e dos
registradores do 8051

16/03/2018 5
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

Dispositivos de entrada e
saída

16/03/2018 6
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

Área de programação

16/03/2018 7
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

Representação das
entradas e saídas do
dispositivo

16/03/2018 8
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

Representação das
entradas e saídas do
dispositivo

16/03/2018 9
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

LD – Logic Diagram -
Diagrama Lógico

16/03/2018 10
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Como ele é?

16/03/2018 11
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando...

Linguagem: Assembly
Guia de referência: http://www.keil.com/support/man/docs/is51/is51_instructions.htm

16/03/2018 12
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando...
Símbolos e siglas:
• C: Flag de carry;
• A: Acumulador;
• PC: Contador de Programa;
• DPTR: Ponteiro;
• N: Endereço de 8 bits;
• NN: Endereço de 16 bits;
• #N: Constante de 8 bits;
• Rn: Registrador Rn (R0~R7) do banco atual de registradores;
• @Ri: Endereço é determinado pelo registrador Ri (R0 ou R1);
• H: indica que o valor está na base hexadecimal;
• B: indica que o valor está na base binária;
• 0x: indica que o valor está na base hexadecimal;
16/03/2018 13
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: MOV para acumulador

MOV A,Rn Move o registro Rn para o Acumulador


MOV A,N Move o conteúdo da memória N para o Acumulador
MOV A,@Ri Move o conteúdo da RAM endereçada por Ri para o Acumulador
MOV A,#N Move a constante N para o Acumulador
Soma A + DPTR obtendo um endereço de 16 bits na memória de
MOVC A,@A+DPTR programa. Carrega o acumulador com o
conteúdo desta memória
MOVC A,@A+PC Idem ao anterior, mas soma A + PC
MOVX A,@Ri Move o conteúdo da RAM endereçada por Ri para o Acumulador
Move RAM externa endereçada por DPTR (endereço 16 bits) para
MOVX A,@DPTR
o Acumulador
XCH A,Rn Troca entre si o conteúdo do Acumulador e do Registro Rn
XCH A,N Troca entre si o conteúdo da memória N com Acumulador
XCH A,@Ri Troca entre si a RAM endereçada por Ri com Acumulador
Troca entre si o nibble menos significativo do Acumulador e da RAM
XCHD A,@Ri
endereçada por Ri

16/03/2018 14
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: MOV para registrador

MOV Rn,A Move o Acumulador para o registro Rn


MOV Rn,N Move o conteúdo da memória N para o registro Rn
MOV Rn,#N Move a constante N para o registro Rn
MOV DPTR,#NN Move constante NN para o DPTR (16bits)

16/03/2018 15
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: MOV para endereço

MOV N,A Move o Acumulador para a memória N


MOV N,Rn Move o registro Rn para a memória N
MOV N1,N2 Move o conteúdo da memória N2 para a memória N1
MOV N,@Ri Move RAM endereçada por Ri para a memória N
MOV N,#N Move a constante N para o conteúdo da memória N

MOV @Ri,A Move o Acumulador para a RAM endereçada por Ri


Move o conteúdo da memória N para a RAM endereçada
MOV @Ri,N
por Ri
MOV @Ri,#N Move a constante N para a RAM endereçada por Ri
Move Acumulador para a RAM externa endereçada por
MOVX @DPTR,A
DPTR (endereço 16 bits)

16/03/2018 16
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: operações aritméticas


ADD A,Rn Soma Rn ao Acumulador
ADD A,N Soma o conteúdo da posição de memória N ao Acumulador
ADD A,@Ri Soma o conteúdo da RAM endereçada por Ri ao Acumulador
ADD A,#N Soma a constante N ao Acumulador
ADDC A,Rn Soma Rn e o flag Carrry ao Acumulador
ADDC A,N Soma o conteúdo da posição de memória N e o flag Carry ao Acumulador
ADDC A,@Ri Soma o conteúdo da RAM endereçada por Ri e o flag Carry ao Acumulador
ADDC A,#N Soma a constante N e flag Carry ao Acumulador
SUBB A,Rn Subtrai Rn e o flag Carry do Acumulador
SUBB A,N Subtrai o conteúdo da posição de memória N e o flag Carry do Acumulador
SUBB A,@Ri Subtrai o conteúdo da RAM endereçada por Ri e o flag Carry do Acumulador
SUBB A,#N Subtrai a constante N e o flag Carry do Acumulador
INC A Soma 1 ao Acumulador
DEC A Subtrai 1 do Acumulador
DA A Ajuste decimal do Acumulador
DIV AB Divide A e B, resultado: A inteiro e B resto
MUL AB Multiplica A e B, resultado: BA
INC Rn Soma 1 ao Rn
DEC16/03/2018
Rn Subtrai 1 do Rn 17
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: org 0h
mov A,#00001111b
mov R0,#00000001b
mov R1,#00000010b
mov R2,#00000100b
mov R3,#00001000b
mov R4,#10h
mov R5,#20h
mov R6,#30h
mov R7,#40h
mov 3Ah,#10101010b
mov 40h,#10101010b
mov A,R4
mov A,3ah
xch A, R7
16/03/2018 18
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: org 0h
mov A,#99H
mov R0,#10000000b
mov R1,#00100000b
mov R2,#00001000b
mov R3,#00000010b
mov 3Ah,#10101010b
mov 40h,#33h
mov P1,R1
mov P1,3ah
mov A, P1

16/03/2018 19
Simulador EdSim51
Ferramenta de Simulação do processador intel 8051

Programando: org 0h
mov R0,#10101010b
mov R1,#01010101b
mov 7Fh,#01000010b
mov A,R0
add A,R1
mov A,70h
add A,#10000001b
add A,7Fh
inc A
inc R0
dec R1
dec A

16/03/2018 20
Estudem!

16/03/2018 21