Contando de 0 a 9 usando um display de sete seguimentos – MSP430 (mspg2231)

O lance é o seguinte, no último post sobre msp430, agente acionou uma sequência de LEDs com o microcontrolador mspg2231. Agora, com poucas modificações no código anterior, vamos contar de 0 a 9, apresentando a contagem em um display de sete seguimentos.

Um display de sete seguimentos, nada mais é do que um conjunto de LEDs.
Este conjunto de LEDs pode estar arranjado de duas formas, ou com o ânodo comum, ou com o cátodo comum, você tem que verificar a forma que os LEDs do seu display está arranjada antes de elaborar o seu circuito.

Para a minha montagem, vou usar um display que meu concunhado me deu ( muito obrigao 😀 ). Olha a foto dele ae.

Como ele tá novinho, bem legível a referência, nem nem fiz nenhum teste, baixei logo o datasheet na internet e constatei que ele é do tipo cátodo comum.

Então olha ae o esquema elétrico da minha ligação como ficou:

Agora vamos ao código:

#include 

void Delay(void);

int main(void) {
	WDTCTL = WDTPW | WDTHOLD;
	char bcd[10] = {0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f};
    volatile int i = 0;

    P1DIR = 0xff;

    for (;;) {
		P1OUT = bcd[i];
		i++;
		Delay();
		Delay();
		if(i==10) i=0;
    }
}

void Delay(void) {
    unsigned int dly = 30000;
    while(--dly); {
        // Nothing:D
    }
}

Podemos reparar que o código é quase o mesmo do post sobre o acionamento de uma sequência de LEDs, temos apenas duas diferênças. Uma que a nossa coleção de caracteres, agora chamada bcd, tem apenas 10 valores e a outra é que na linha 17 usamos o valor 10 em um if para informar o programa que devemos reiniciar a variável i.

Para demonstrar que o código percorre o conjunto de caracteres, e coloca um valor de cada vez na porta, que cada pino dessa porta está ligada de uma forma específica à um ânodo do display de sete seguimentos, fiz um gif animado demonstrando o que acontece quando o código está em execução.

E para finalizar, um vídeo na vida real 😀

Abraços, até a próxima.

2 pensou em “Contando de 0 a 9 usando um display de sete seguimentos – MSP430 (mspg2231)

  1. Pingback: Uso básico de interrupções com MSP430 e mspgcc | Terry Laundos (terryvel)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.