EdSim51 display de 7(8) seguimentos

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

EdSim51 display de 7(8) seguimentos

Mensagempor ahwelp » 03 Jul 2014 15:36

Ola para todos, tive alguns problemas ao aprender a utilizar o 8051 e agora no fim do curso gostaria de compartilhar algumas informações que seriam muito úteis pra mim quando estava iniciando e espero que possa ajudar alguém com elas.

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

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.

Imagem
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

ImagemImagem
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 :roll: .
Espero que algum dia isso possa ser útil para alguém.
ahwelp
 
Mensagens: 1
Registrado em: 03 Jul 2014 14:19

Re: EdSim51 display de 7(8) seguimentos

Mensagempor andre_luis » 03 Jul 2014 20:25

Bem vindo,



Um trabalho bem elaborado assim você poderia postar lá na seção de Blog do fórum.
http://www.mcu.net.br/phpbb/blog.php

( acabei de criar uma nova categoria para o 8051, fica a vontade... )



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x