Partilhar: WhatsApp
aulify
UC UC02927 · T. Mecatrónica

Ficha 02 · Flip-flops, contadores, displays, diagnóstico

Circuitos sequenciais, displays, famílias lógicas, prática
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Flip-flops

Exercício 1 · D Flip-Flop (10 pts)

Tens um D Flip-Flop com: - D = 1 - CLK em 0 → 1 (borda de subida) - Q anterior = 0

Qual o novo valor de Q? E de /Q?

Na borda de subida do CLK, Q captura o valor de D: - Q = 1 (novo). - /Q = 0 (sempre complemento de Q).

Q mantém valor até à próxima borda de subida do CLK.

Exercício 2 · Aplicações (10 pts)

Para que serve um D Flip-Flop em circuitos reais?

  1. Memória de 1 bit — armazena estado entre clock cycles.
  2. Registo — N D-FFs paralelos guardam N bits (ex.: 8 → registo de 1 byte).
  3. Sincronização — captura um sinal assíncrono no instante do clock (evita problemas de timing).
  4. Detecção de borda — combinando 2 FFs detecta transições 0→1 ou 1→0.
  5. Shift register — D-FFs em série deslocam bits a cada clock (paralelo↔série).
  6. Contadores — combinados com lógica formam contadores de qualquer valor.
  7. Máquinas de estados — estado atual fica guardado em N D-FFs.

Em qualquer chip digital síncrono moderno (CPU, microcontrolador, FPGA), os D-FFs são milhões.

Parte II · Contadores

Exercício 3 · Divisão (10 pts)

Tens 4 D Flip-Flops em série (cascade), cada um a dividir frequência por 2. Se a frequência de entrada é 8 MHz, quais as frequências em cada saída?

8 MHz  FF1  4 MHz  FF2  2 MHz  FF3  1 MHz  FF4  500 kHz

Contador binário 4 bits conta de 0 a 15, gerando saídas Q0-Q3.

Aplicação clássica: divisor de relógio em sistemas digitais; gerar várias frequências a partir de uma só.

Exercício 4 · Chip 74xx (10 pts)

Para cada situação, escolhe o chip contador adequado:

a) Contar pulsos até 16 e fazer reset. b) Contar para cima e para baixo conforme sinal. c) Sequenciar 10 acções repetidas (luz de Natal estilo "knight rider").

a) 74161 (4 bits síncrono) ou 74163 com reset síncrono. Conta 0-15 e auto-resets.

b) 74193 (4 bits up/down) — tem 2 entradas de clock: uma para incrementar, outra para decrementar.

c) CD4017 (decade counter) — tem 10 saídas (Q0-Q9), apenas uma activa a cada clock. Perfeito para sequências de luzes ou activar 10 itens em rotação.

Combinando vários: 2× CD4017 dão 100 estados (decade × decade). Ou CD4060 (14 bits) para contagens longas.

Parte III · Displays

Exercício 5 · Display 7 segmentos (15 pts)

Tens um display 7 segmentos de anodo comum e queres mostrar o dígito "5".

a) Que segmentos acendem? b) Para acender cada segmento, o pino fica em LOW ou HIGH? c) Por que é importante o resistor em cada segmento?

a) Para "5" acendem: a, c, d, f, g (5 segmentos).

   ─a─      Acesos: a, c, d, f, g
  f| |
   ─g─
    |c
   ─d─

b) Anodo comum = todos os anodos juntos ao +VCC. Para acender um segmento, o seu cátodo vai a LOW (0 V) — corrente flui de VCC pelo LED para o pino.

Para 5: segmentos a, c, d, f, g em LOW; b, e em HIGH (desligados).

c) Resistor limitador: - Cada LED tem queda V_F ≈ 2 V e corrente nominal ~10-20 mA. - Sem resistor: I = (VCC − V_F) / 0 = infinito → LED queima imediatamente. - Resistor R = (VCC − V_F) / I_LED: - Para 5 V, V_F=2V, I=15mA: R = 3/0,015 = 200 Ω (comercial 220 Ω). - 1 resistor por segmento (não 1 só para todos, senão a corrente depende de quantos acesos).

Exercício 6 · Multiplexação (10 pts)

Tens 4 dígitos 7 segmentos. Sem multiplexação seriam 4 × 7 = 28 pinos. Como reduzir para apenas 12 com multiplexação?

Multiplexação: - 7 segmentos ligados em paralelo entre os 4 dígitos (mesma linha para segmento "a" nos 4 dígitos, etc.). - 1 pino de selector por dígito (controla o anodo/cátodo comum desse dígito).

Pinos: 7 (segmentos a-g) + 1 (dp) + 4 (selectores) = 12 pinos

Funcionamento: - Activar selector dígito 1 + enviar segmentos do número desse dígito. - Esperar ~1-2 ms. - Desligar dígito 1, activar dígito 2 + enviar os seus segmentos. - Continuar ciclicamente.

A frequência total deve ser > 100 Hz (cada dígito acende > 25× por segundo) para o olho não notar piscar.

Microcontrolador faz isto trivialmente em interrupção de temporizador.

Comercial: MAX7219 (chip dedicado) faz tudo isto a partir de 3 pinos SPI — solução super-elegante. ~2-3 € por chip.

Parte IV · Famílias lógicas

Exercício 7 · TTL vs CMOS (10 pts)

Indica diferenças entre TTL (74xx) e CMOS (40xx, 74HCxx):

TTL (74xx) CMOS (40xx, 74HCxx)
Tecnologia BJT bipolar MOSFET
Alimentação 5 V estrito 3-15 V (4000); 5 V (74HC)
Consumo idle ~10 mA < 1 µA
Consumo a comutar Constante Cresce com frequência
Velocidade Alta (~25 MHz) Média a alta (10-100 MHz)
Sensível a estática Pouco Muito (manusear com cuidado)
Vintage Comum em equipamento antigo Padrão moderno

Hoje 74HC é a família mais comum — CMOS pin-compatível com TTL antigo, mas com vantagens energéticas.

TTL puro (74xx puro) quase só sobrevive em manutenção de equipamentos antigos. Em design novo: 74HC ou microcontroladores.

Exercício 8 · Tensão LOW/HIGH (10 pts)

Mediste 1,5 V num pino de um chip 74HC04 (CMOS 5V). É LOW, HIGH ou indeterminado?

Para CMOS 5V: - 0 (LOW) = 0 a 1,5 V. - 1 (HIGH) = 3,5 a 5 V. - Zona indeterminada: 1,5 a 3,5 V (margem grande para evitar erros).

1,5 V está exactamente no limite superior do LOW. Tecnicamente LOW, mas: - Próximo do limite → sensível a ruído. - Pode ser interpretado como HIGH em condições marginais (temperatura alta, ruído).

Investigar: - Há fan-out excessivo? (Demasiadas portas a usar a mesma saída → tensão baixa.) - Soldadura fria que aumenta impedância da ligação? - Carga anómala (resistor descarregado para GND)?

Bom design: garantir 0 V ou próximo (< 0,5 V) para LOW e > 4,5 V para HIGH; com margem para variações.

Parte V · Aplicação

Exercício 9 · Cenário (10 pts)

Tens de fazer um circuito que conta quantas vezes uma máquina passou (sensor de presença) e mostra o valor num display de 4 dígitos. Estimativa de duração: anos. Que abordagem preferes?

Microcontrolador é a resposta (~95% dos casos).

Razões: 1. Flexibilidade: software permite acrescentar funcionalidades (reset, threshold, comunicação, hora). 2. Display 4 dígitos: chip MAX7219 + 3 pinos SPI → trivial. 3. Sensor: 1 pino interrupt. 4. Custo: Arduino Nano + MAX7219 + display + sensor < 15 € total. 5. Tempo de desenvolvimento: horas. 6. Persistência da contagem: EEPROM interna ou flash; sobrevive a falta de electricidade.

Implementação com lógica discreta seria: - 4 contadores CD4026 (decade) com display 7 segmentos integrado. - 1 chip de cascade. - Reset manual ou com botão. - Sem persistência (perde com a luz). - ~10-15 chips, montagem complexa.

Decisão final: microcontrolador (Arduino Pro Mini, ESP8266 ou similar) com MAX7219 para display.

Bonus: ESP8266 acrescenta WiFi → contagem enviada para painel central / Google Sheets em tempo real. Custo adicional: 2 € (módulo NodeMCU já tem WiFi).