Microp
Prof. Silvio
Instruções do 8051 operacionalizadas …
Instruções de transferência de dados:
8051 Instruções – Ciclos – Exemplos
8051 Instruções – Ciclos – Exemplos
8051 Instruções “Aritmeticas”
8051 Instruções – Ciclos – Exemplos
MC-1
Comando: DA
DA
DA A
Decimal Adjust
8051
Instruções
“Booleanas”
8051 Instruções – Ciclos – Exemplos
MC-1
Comando: CPL
CPL
CPL A
Complemento
; A = A ou A = (NOT) A
8051 Instruções – Ciclos – Exemplos
8051
Instruções
“Booleanas”
SETB
CLR
bit bit ; bit=1
; bit=0
SETB
SETB
SETB
SETB
SETB
C
P0.0
P3.7
ACC.2
20H
; CY=1
; bit 0 da Porta 0 = 1
; bit 7 da Porta 3 = 1
; 3º bit do ACC = 1
; Bit END 20H da RAM = Seta “ALTO”
Nota:
A instrução CLR é “similar / complementar” a SETB
Porém, a instrução a seguir é somente para CLR:
CLR
A
; Byte A = 0
CLR
C
; Bit CY=0
8051 Instruções – Ciclos – Exemplos
8051 Instruções – Ciclos – Exemplos
8051 Instruções – Ciclos – Exemplos
Ex. 1)
Numa placa microcontrolada com o AT89C51ED2 conecte o canal 1 do osciloscopio ao pino P1.0 (LED1) conforme a figura a seguir.
Crie um programa para piscar o LED1, com uma onda que utilize o tempo “ALTO” e um tempo “BAIXO” conforme solicitado pelo professor, de acordo com os tempos T0, T1 e T indicados a seguir. Calcule a forma de obter os tempos.
Apresente seus resultados
Teste o programa final, .HEX
Atribua para o seu programa a nomenclatura a seguir: 2011-04-05_EX01_G.HEX onde é o número do seu grupo.
P.ex., para o grupo No 5, o nome é 2011-04-05_EX01_G05.HEX
ORG 0 ljmp inicio
ORG 0100H inicio: ;
;
;
;
;
;
; ljmp inicio
END
Instruções de LOOP e JUMP
Jump Conditional :
JZ
Jump if A=0
JNZ
Jump if A/=0
DJNZ
Decrement and jump if A/=0
CJNE A,byte
Jump if A/=byte
CJNE reg,#data
Jump if byte/=#data
JC
Jump if CY=1
JNC
Jump if CY=0
JB
Jump if bit=1