www.microcontrolador.com.br Periférico: Display de 7 segmentos Display de 7 Segmentos INTRODUÇÃO Esta placa utiliza quatro displays de sete segmentos do tipo anodo comum (PD567 ou equivalente). Utiliza-se um barramento de 8 bits para manipular os displays, sendo quatro bits para dados e quatro bits para varredura dos displays, fazendo-se dessa maneira uma multiplexação do barramento. Fazendo-se isso de forma “rápida” para o nosso olho, tem-se a impressão de que os quatros displays acendem simultaneamente, quando na realidade estamos acionando um display de cada vez (aproximadamente 20ms de varredura). Os dados são codificados em BCD (Binary Coded Decimal). Para decodificação, utilizamos o CI 74LS47, que é um decodificador e também um driver de corrente que pode alimentar o display. Como cada segmento do display é um LED, o consumo de cada segmento é de aproximadamente 18 mA. Esse consumo de corrente é elevado para se conectar um LED ou um display de sete segmentos diretamente no port do microcontrolador. Portanto, deve-se utilizar transistores para fornecer corrente suficiente para os pontos do display de 7 segmentos que são varridos diretamente pelo microcontrolador além do CI 74LS47 que alem de conversor BCD tem driver de corrente para tal função. Nesta placa, para colocar um ponto decimal fixo, deve-se conectar um dos jumpers (STP2 à STP5) conforme desejado. [email protected] 1/6 www.microcontrolador.com.br Periférico: Display de 7 segmentos DISPOSIÇÃO DOS COMPONENTES www.microcontrollercafe.com DECN - VER 6.0/01 R8 STP5 STP4 R7 STP3 R5 R6 STP2 Q3 Q4 DSP1 DSP2 DSP3 DSP4 Q2 Q1 1 2 15 16 C2 R3 R1 R2 PX R14 R15 R13 R12 R11 R9 R10 R4 74LS374 U3 74LS47 U1 C1 U2 1 2 2 4 3 74LS02 www.microcontrolador.com.br I/O IN 7 SEG LEDS _ [email protected] 2/6 www.microcontrolador.com.br Periférico: Display de 7 segmentos JUMPERS – COMO FUNCIONA O ESQUEMA DO LATCH PARA OS PORTS Neste esquema de placa com um latch, temos um artifício para utilizar o conector “PX1” da placa em qualquer um dos ports disponíveis (exceto port 2 para o chip 8031 que vem no Kit 8051, que usa este port exclusivamente para si), inclusive o port0 como I/O Mapeado ou pseudo I/O mapeado. Quem determina como o hardware vai funcionar é o STP1. STP1 ligado na posição 1 e 2, faz com que o sinal de ALE do Kit 8051 seja enviado para o latch, fazendo com que o Latch passe para a saída o que se obteve na entrada, sem nenhuma outra condição. Nessa posição, pode-se trabalhar com o Port P1 ou com o Port P3 do Kit (vide observação junto com o esquema e o software de exemplo). STP1 ligado na posição 2 e 3, faz com que o latch fique condicionado ao sinal de WR\ que vem do kit 8051. Podemos dizer que é uma “pseudo-I/O mapeado”, já que não temos decodificador de endereços para ativá-la. Recomendamos utilizar um endereço no DPTR acima de “8007h” para não haver problemas com os endereços de memória RAM da placa do Kit e com endereços de I/O mapeado reais contidos no Kit 8051( 8000h até8007h). STP1 ligado na posição 2 e 4, faz com que tenhamos uma lógica de seleção para ler o dado convertido em um endereço específico na memória. No programa exemplo estamos lendo da posição 8000h, que é o primeiro endereço de I/O mapeado que temos disponível na placa do Kit. Na prática, pode-se utilizar qualquer outro endereço/pino de I/O da placa, que é de 8000h até 8007h, ou até outro qualquer, desde que neste caso se faça uma lógica externa para decodificá-lo . É necessário, neste caso de I/O mapeado, que este sinal chegue até o pino “I/O IN” que deve ser usado para esta finalidade. Não esqueça então que neste caso o Pino “I/O IN” desta placa precisa ser conectado a saída de I/O Mapeado de endereço 8000h da placa ( no exemplo do software optamos por este endereço. Para mudar de endereço, conecte o “I/O IN” em outro pino do Conector de I/O Mapeado do Kit e altere o software para que ele contenha ( no DPTR) o mesmo endereço deste novo I/O Mapeado). Vide esquema do Kit 8051 [email protected] na região chamada “I/O Mapeada” (Conector de 8 pinos 3/6 www.microcontrolador.com.br Periférico: Display de 7 segmentos referentes aos endereços de I/O de 8000h até 8007h) e na placa e esquema de 7 Segmentos, o pino chamado de “I/O IN”. As possibilidades de uso da placa com relação ao STP1 estão ilustradas na tabela I. TABELA I Conexão do Jumper STP1 1e2 2e3 Uso com port 1 ou port 3 do Kit Uso somente com port 0 do Kit (pseudo I/O Mapeado). Uso de I/O Mapeado com o Port 0 do 2e4 Kit. (deve-se conectar o sinal do endereço escolhido de I/O Mapeado do Kit no pino “I/O IN” da placa de 7 SeG.) SOFTWARE – Primeiro programa de exemplo: utilização do port 1 para controle do periférico. Vide arquivo D7seg1p1.asm ATENÇÃO: Toda experiência que utilizar o port P3, após transmitir o programa do PC para o kit, e antes de mudar a chave de LOAD para RUN, deve-se alterar o kit 8051 nos seguintes pontos: a) Mudar a chave HH2 para a posição contrária (para “dentro” da placa). b) Retirar os straps STP2 e STP3. O motivo disto é que a placa utiliza parte do port P3 para se comunicar com o PC e com a RAM do kit nos instantes em que se transfere um arquivo (LOAD). Cada vez que se carrega um novo arquivo, deve-se antes voltar à condição inicial (chave HH2 para “fora” da placa e STP2 e STP3 nas posições “1 e 2”). É saudável também que, na transmissão do arquivo, o conector do kit que corresponde ao port P3 esteja livre (sem estar ligado a qualquer circuito externo). O motivo disto é que, como já citado, o kit utiliza parte do port P3 para transferência do arquivo do PC e também para carregar este mesmo arquivo na RAM do [email protected] 4/6 www.microcontrolador.com.br Periférico: Display de 7 segmentos kit. Se existir algum circuito externo ligado no momento de transferência ao port P3, este circuito externo pode alterar a transmissão resultando em arquivo errado, que não funcionará a contento. OBSERVAÇÃO: Nas placas do kit 8051 até a versão 3.3/98, para utilização dos periféricos no port P3 é necessário modificar a placa acrescentando um jumper entre os pinos 13 do port 1 e o pino 13 do port 3 dos conectores da placa. – Segundo programa de exemplo: utilização do port 0 sem I/O mapeado para controle do periférico. Vide arquivo D7seg1p0.asm – Terceiro programa de exemplo: utilização de I/O Mapeado para controle do periférico. Vide arquivo D7seg1io.asm [email protected] 5/6 www.microcontrolador.com.br Periférico: Display de 7 segmentos ESQUEMA ELÉTRICO [email protected] 6/6