O EdSim51 é um simulador com alguns periféricos já acoplados, nesse tópico vou falar sobre o display de 7(8) seguimentos.

1. Selecionando o display
O EdSim52 disponibiliza 4 displays de 7(8) segmentos, o controle de qual display vamos utilizar é feito pelo P3 nas posições 3 e 4. O P3 armazena 8bits de informação, então falando nas posições 3 e 4 significa que em P3 é armazenado valores como "10101010" ou "11100111", cada bit tem alguma função para o controle dos periféricos.

Representação do P3
Nesse caso os bits são o 3 e 4 11111111, com esses 2 bits para controle temos 4 possibilidades 00, 01, 10 e 11.
11 para o primeiro display
10 para o segundo display
01 para o terceiro display
00 para o quarto display
Para alterar os valores desses bits usamos as instruções SETB para definir 1 e CLR para definir 0
EX:.
- Código: Selecionar todos
;Codigo selecionando o segundo display
CLR P3.3 ;Define o terceiro bit para 0
SETB P3.4 ;Define o quarto bit para 1
2. Acendendo o led
Para acender os LEDS usamos o P1. Assim como o P3 o P1 também guarda 8bits e para acender os LEDS, precisamos usar todos os bits do P1


Representação do P1 e do display.
Então cada posição do P1 equivale a um segmento do display. Quando o bit esta em 1 o segmento esta apagado e em 0 aceso.
EX:.
- Código: Selecionar todos
;acender os traços do topo meio e baixo
CLR P1.0 ; P1.0 equivale ao traço superior
CLR P1.6 ; P1.6 equivale ao traço do meio
CLR P1.3 ; P1.0 equivale ao traço de baixo
Uma coisa interessante é que o P1 guarda 8 bits de informação, então podemos definir o valor de P1 como por exemplo "#11000000B" definindo o valor de P1 assim o display vai mostrar o numero 0.(O B no fim dos bits é para definir que o valor é binário).
EX:.
- Código: Selecionar todos
;contando de 9 a 0
; n9
MOV P1, #10010000B
; n8
MOV P1, #10000000B
; n7
MOV P1, #11111000B
; n6
MOV P1, #10000010B
; n5
MOV P1, #10010010B
; n4
MOV P1, #10011001B
; n3
MOV P1, #10110000B
; n2
MOV P1, #10100100B
; n1
MOV P1, #11111001B
; n0
MOV P1, #11000000B
Peço desculpas para os membros mais experientes por esse post sobre um assunto mais básico e sobre um simulador pouco usado, decidi fazer esse guia porque toda a turma teve bastante dificuldades e a documentação desse simulador é escassa

Espero que algum dia isso possa ser útil para alguém.