BCD-to-7-Segment Decoder

Encoders/Decoders · Intermediate · 20 min

Master the BCD-to-7-Segment Decoder: convert a 4-bit Binary Coded Decimal value (0-9) into the seven segment signals that light a digit on a seven-segment display.

Fig. 1 — Interactive BCD-to-7-Segment Decoder circuit ● LIVE

BCD-7세그먼트 디코더

개요

  • 목적: BCD-7세그먼트 디코더는 4비트 BCD(이진화 십진수) 값(09)을, 해당 숫자를 7세그먼트 디스플레이에 표시하는 데 필요한 7개의 제어 신호(**ag**)로 변환하는 조합 회로입니다.
  • 기호: 왼쪽에 입력 4개(A0A3), 오른쪽에 출력 7개(ag)를 가진 디코더 블록입니다. DigiSim.io에서는 BCD / 7-SEG로 표시됩니다.
  • DigiSim.io에서의 역할: 이진수로 동작하는 계수/산술 로직과 사람이 읽을 수 있는 숫자 표시 사이를 잇는 다리입니다. 7447/7448 같은 고전적인 디코더 IC에 해당합니다.

BCD-7세그먼트 디코더

기능 설명

논리 동작

디코더는 A0~A3(A0이 최하위 비트)의 4비트 BCD 값을 읽어, 해당 숫자의 액티브 하이 패턴으로 7개의 세그먼트 출력 a~g를 구동합니다. 입력 10101111(1015)은 십진수가 아니므로 디스플레이를 끕니다(모든 세그먼트 꺼짐). 이는 7448과 동일한 관례입니다.

진리표(세그먼트 = 1은 켜짐을 의미):

숫자 A3 A2 A1 A0 a b c d e f g
0 0000 1 1 1 1 1 1 0
1 0001 0 1 1 0 0 0 0
2 0010 1 1 0 1 1 0 1
3 0011 1 1 1 1 0 0 1
4 0100 0 1 1 0 0 1 1
5 0101 1 0 1 1 0 1 1
6 0110 1 0 1 1 1 1 1
7 0111 1 1 1 0 0 0 0
8 1000 1 1 1 1 1 1 1
9 1001 1 1 1 1 0 1 1

입력과 출력

  • 입력: A0, A1, A2, A3 — 4비트 BCD 값(A0 = LSB).
  • 출력: a, b, c, d, e, f, g — 7개의 세그먼트 구동 신호(액티브 하이). 각각을 7세그먼트 디스플레이의 해당 세그먼트 입력에 연결하세요.

구성 가능한 매개변수

없음. 매핑은 고정(표준 십진 글꼴)이며, 동작은 입력에 주어진 BCD 값에만 의존합니다.

DigiSim.io에서의 시각적 표현

이 컴포넌트는 디코더 본체로 그려지며, 왼쪽에 입력 A0A3이 쌓여 있고 오른쪽에 7개의 세그먼트 출력 ag가 있습니다. 입력을 스위치, 카운터 또는 임의의 4비트 로직으로 구동하고 출력을 7세그먼트 디스플레이에 연결하면 숫자가 나타납니다.

교육적 가치

핵심 개념

  • BCD 인코딩 — 각 십진 숫자 0~9를 4비트 이진 값으로 표현하기.
  • 조합 디코딩 — 메모리나 클록 없이 코딩된 입력을 고정된 출력 패턴으로 바꾸기.
  • 디스플레이 구동(이진수)을 그 표현(켜진 세그먼트)과 분리하기.

학습 목표

  • 7세그먼트 진리표를 읽고 각 숫자를 켜진 세그먼트와 연관 짓기.
  • 이진 카운터를 디코더와 디스플레이에 연결하여 계수하는 숫자를 구성하기.
  • BCD 디코더에서 9를 초과하는 값이 꺼지는 이유 이해하기.

사용 예/시나리오

  • 단일 계수 숫자: 4비트 카운터 → BCD-7세그먼트 디코더 → 7세그먼트 디스플레이가 0~9를 표시.
  • 여러 자리 시계 또는 카운터: 자리마다 디코더 + 디스플레이를 하나씩 두고, 캐스케이드된 mod-10 / mod-6 카운터로 구동(디지털 시계 데모 참조).
  • 수동 실험: 스위치 4개로 BCD 값을 설정하면 디스플레이가 해당 숫자를 표시.

응용

  • 디지털 시계, 타이머, 스톱워치.
  • 카운터, 점수판, 집계 표시.
  • 전압계, 온도계 및 기타 수치 계측기 표시.
  • 이진수를 보이는 십진 숫자로 바꾸는 모든 프로젝트.

한계

  • 한 자리 십진 숫자(0~9)만 디코딩합니다. 여러 자리 숫자는 자리마다 디코더 + 디스플레이가 필요합니다.
  • 입력 1015는 16진 문자를 표시하는 대신 디스플레이를 끕니다. 16진(0F)에는 대신 디짓 디스플레이(Digit Display) 컴포넌트를 사용하세요.
  • 순수 조합 회로로 값을 유지하지 않습니다. 숫자를 유지하려면 앞단에서 래치하거나 계수하세요.

관련 컴포넌트

  • 7세그먼트 디스플레이 — 이 디코더가 구동하는 출력 장치.
  • 디코더(3-to-8) / 디코더(2-to-4) — 원-핫 주소 디코더. 관련 디코딩 로직.
  • 디짓 디스플레이(Digit Display) — 디코더가 내장되어 16진(0~F)을 바로 표시. 외부 디코더 불필요.
  • 카운터 — 이 디코더에 BCD 값을 공급하는 일반적인 소스.

학습 경로

자주 묻는 질문

What is BCD?

Binary Coded Decimal encodes each decimal digit 0-9 as its own 4-bit binary value, so 5 is 0101 and 9 is 1001.

Why do inputs above 9 go blank?

Values 10-15 are not valid single decimal digits, so a BCD decoder blanks all segments for them - the same behaviour as the classic 7448 IC.

How is this different from the Digit Display?

The Digit Display has a decoder built in and shows hex 0-F directly. This component is the decoder itself, driving a separate seven-segment display, so you can see the segment logic.

다른 컴포넌트 보기