Lista 8051
1- Desenvolva um programa para ser executado no EdSim51 que mostre um valor de 0 a 9 no quarto display de 7 segmentos. Esse valor será incrementado no instante que a entrada INT0 for para zero e será decrementado no instante que a entrada INT1 for para zero. Caso ambas as entradas sejam acionadas simultaneamente o decremento deve ter prioridade sobre o incremento.
ORG 0000H
LJMP INICIO
ORG 0003H
INC R0
CJNE R0, #0AH, CERTO0
ACALL ZERO
LJMP SAI0
CERTO0:
ACALL TESTE
SAI0: NOP
RETI
ORG 0013H
DEC R0
CJNE R0, #0FFH, CERTO1
ACALL NOVE
LJMP SAI1
CERTO1:
ACALL TESTE
SAI1: NOP
RETI
ORG 0040H
INICIO:
;CLR P3.3
;CLR P3.4
MOV IE,#85H
SETB PX1
SETB IT0
SETB IT1
ACALL ZERO
TRAVA: LJMP TRAVA
TESTE:
Z: CJNE R0, #00H, I
ACALL ZERO
I: CJNE R0, #01H, II
Estrutura de Programação 8051 – Exercícios
1
ACALL UM
II: CJNE R0, #02H, III
ACALL DOIS
III:CJNE R0, #03H, IV
ACALL TRES
IV: CJNE R0, #04H, V
ACALL QUATRO
V: CJNE R0, #05H, VI
ACALL CINCO
VI: CJNE R0, #06H, VII
ACALL SEIS
VII: CJNE R0, #07H, VIII
ACALL SETE
VIII: CJNE R0, #08H, IX
ACALL OITO
LJMP FIM
IX: CJNE R0, #09H, FIM
ACALL NOVE
FIM: NOP
RET
ZERO:
MOV P1, #11000000B
MOV R0, #00H
RET
UM:
MOV P1, #11111001B
MOV R0, #01H
RET
DOIS:
MOV P1, #10100100B
MOV R0, #02H
RET
TRES:
MOV P1, #10110000B
MOV R0, #03H
RET
QUATRO:
MOV P1, #10011001B
MOV R0, #04H
RET
CINCO:
MOV P1, #10010010B
MOV R0, #05H
Estrutura de Programação 8051 – Exercícios
2
RET
SEIS:
MOV P1, #10000010B
MOV R0, #06H
RET
SETE:
MOV P1, #11111000B
MOV R0, #07H
RET
OITO:
MOV P1, #10000000B
MOV R0, #08H
RET
NOVE:
MOV P1, #10011000B
MOV R0, #09H
RET
2- Desenvolva um programa que leia o valor obtido através do CAD do
EdSim51. O valor lido devera ser armazenado no registrador R7. Utilizar a interrupção INT0 como termina de conversão do CAD no processo de interfaceamento com o conversor.
ORG 0000H
LJMP INICIO
ORG 0003H
CLR P3.7
SETB