Exercicios de Micro
1- Preencha com as instruções Assembler
PRIMEIRO DESENHO ORG 00H SJMP INICIO ORG 030H
INICIO: MOV R0,#1EH MOV A,#0H return: INC A DJNZ R0,RETURN MOV P0,A END
DESENHO DOIS org 00h MOV R0,#01H MOV A,#0H SJMP INICIO
RETURN: INC R0
INICIO: INC A INC A MOV @R0,A CJNE A,#22H,RETURN MOV A,R0 END
2- Desenvolva uma rotina de tempo = 50 ms. Use o timer0 no modo1.
ORG 000H
MOV TMOD,#01H
MOV TH0,#HIGH(65535-50000)
MOV TL0,#LOW(65535-50000)
SETB TR0
V1: JNB TF0,V1
CLR, TR0
CLR, TF0
END
3- Desenvolva uma rotina de tempo = 1s. Use o timer1 no modo1.
ORG 000H
MOV A, #0H
V2: MOV TMOD, #10H
MOV TH1,#HIGH(65535-50000)
MOV TL1,#LOW(65535-50000)
SETB TR1
V1: JNB TF1, V1
CLR TR1
CLR TF1
INC A
CJNE A,#14H, V2 END
4- Limpe as 60 primeiras posições da memória de dados com o byte FFH.
ORG 000H
MOV R0,#01H
MOV A, #00H
SJMP V1 VOLTA: INC R0 V1: MOV A,#0FFH
MOV @R0, A
CJNE R0, #3CH,VOLTA
MOV R0,#0FFH
END
5- Desenvolva um hardware que execute o teste do CI7400 (portas nand), de forma informar ao operador da giga, que o CI está bom, apagando um led verde conectado ao bit P1.0, caso contrário, apagar led vermelho conectado ao bit p1.2.
ORG 00H
MOV P1, #055H
MOV A,P0
CJNE A,#0F0H, ERRO
SJMP END
ERRO: CLR P2.0
END: END
6- Repita o programa 4, intervalando o preenchimento com um intervalo de tempo de 1s.
ORG 00H MOV R0, #01H MOV A, #00H SJMP V1
;timer
VOLTA: INC R0
MOV A, #0H
V2: MOV TMOD, #10H MOV TH1, #HIGH(65535-50000) MOV TL1, #LOW(65535- 50000) SETB TR1
V3: JNB TF1, V3 CLR TR1 CLR TF1 INC A CJNE A, #01H, V2
V1: MOV A, #0FFH MOV @R0, A CJNE R0, #3CH, VOLTA MOV R0, #0FFH END
7- Desenvolva um programa de teste para o hardware abaixo
ORG 00H
MOV A,P3
CNJE A,#01H,PROG2
SJMP PROG1
PROG1: ORG 030H ;NAND
MOV P1, #0FFH
MOV A,P0
CJNE A,#0F0H, ERRO
SJMP