Active Low가 헷갈릴 때: 74LS147 인코더와 74LS42 디코더
입력과 출력이 모두 Low에서 동작하는 칩을 기능표로 정리했습니다.
74LS147 우선순위 인코더를 처음 쓰면 "입력을 5 V로 올렸는데 왜 반응이 없지?"에서 막히기 쉽습니다. 실험에서도 출력이 Active Low인 것은 알고 있었지만 입력까지 Low에서 선택된다는 점을 놓쳐 한 번 다시 결선했습니다. 이름 위에 줄(1̅, D̅)이 있거나 회로 기호에 작은 동그라미가 붙은 핀은 Low일 때 켜진(활성) 상태라는 뜻입니다.
1. 74LS147 (10진 → BCD 우선순위 인코더)
| 입력 상태 | Low로 만든 핀 | 출력 D C B A | 뒤집어 읽은 값 |
|---|---|---|---|
| 입력 상태모두 High | Low로 만든 핀— | 출력 D C B A1111 | 뒤집어 읽은 값0 |
| 입력 상태1번 입력만 Low | Low로 만든 핀11 | 출력 D C B A1110 | 뒤집어 읽은 값1 |
| 입력 상태2번 입력만 Low | Low로 만든 핀12 | 출력 D C B A1101 | 뒤집어 읽은 값2 |
| 입력 상태3번 입력만 Low | Low로 만든 핀13 | 출력 D C B A1100 | 뒤집어 읽은 값3 |
| 입력 상태4번 입력만 Low | Low로 만든 핀1 | 출력 D C B A1011 | 뒤집어 읽은 값4 |
| 입력 상태5번 입력만 Low | Low로 만든 핀2 | 출력 D C B A1010 | 뒤집어 읽은 값5 |
| 입력 상태6번 입력만 Low | Low로 만든 핀3 | 출력 D C B A1001 | 뒤집어 읽은 값6 |
| 입력 상태7번 입력만 Low | Low로 만든 핀4 | 출력 D C B A1000 | 뒤집어 읽은 값7 |
| 입력 상태8번 입력만 Low | Low로 만든 핀5 | 출력 D C B A0111 | 뒤집어 읽은 값8 |
| 입력 상태9번 입력만 Low | Low로 만든 핀10 | 출력 D C B A0110 | 뒤집어 읽은 값9 |
| 입력 상태3번과 7번이 함께 Low | Low로 만든 핀13, 4 | 출력 D C B A1000 | 뒤집어 읽은 값7 |
입력 1~9와 출력 A~D가 모두 Active Low입니다. 출력 1111은 "아무것도 선택 안 됨(0)"이고, 출력을 비트마다 뒤집어 읽어야 입력 번호가 됩니다. 여러 입력이 함께 Low면 가장 큰 번호가 이깁니다(우선순위). 0번 입력 핀은 따로 없습니다. 전원은 16번 VCC, 8번 GND입니다.
2. 74LS42 (BCD → 10진 디코더)
| 입력 D C B A | 10진수 | 출력 0 1 2 … 9 | Low가 되는 출력 |
|---|---|---|---|
| 입력 D C B A0000 | 10진수0 | 출력 0 1 2 … 90 1 1 1 1 1 1 1 1 1 | Low가 되는 출력0번 출력 (핀 1) |
| 입력 D C B A0001 | 10진수1 | 출력 0 1 2 … 91 0 1 1 1 1 1 1 1 1 | Low가 되는 출력1번 출력 (핀 2) |
| 입력 D C B A0010 | 10진수2 | 출력 0 1 2 … 91 1 0 1 1 1 1 1 1 1 | Low가 되는 출력2번 출력 (핀 3) |
| 입력 D C B A0011 | 10진수3 | 출력 0 1 2 … 91 1 1 0 1 1 1 1 1 1 | Low가 되는 출력3번 출력 (핀 4) |
| 입력 D C B A0100 | 10진수4 | 출력 0 1 2 … 91 1 1 1 0 1 1 1 1 1 | Low가 되는 출력4번 출력 (핀 5) |
| 입력 D C B A0101 | 10진수5 | 출력 0 1 2 … 91 1 1 1 1 0 1 1 1 1 | Low가 되는 출력5번 출력 (핀 6) |
| 입력 D C B A0110 | 10진수6 | 출력 0 1 2 … 91 1 1 1 1 1 0 1 1 1 | Low가 되는 출력6번 출력 (핀 7) |
| 입력 D C B A0111 | 10진수7 | 출력 0 1 2 … 91 1 1 1 1 1 1 0 1 1 | Low가 되는 출력7번 출력 (핀 9) |
| 입력 D C B A1000 | 10진수8 | 출력 0 1 2 … 91 1 1 1 1 1 1 1 0 1 | Low가 되는 출력8번 출력 (핀 10) |
| 입력 D C B A1001 | 10진수9 | 출력 0 1 2 … 91 1 1 1 1 1 1 1 1 0 | Low가 되는 출력9번 출력 (핀 11) |
입력은 보통 논리(Active High)이고 출력만 Active Low입니다. 선택된 출력 하나만 Low가 되고 나머지는 High입니다. 입력이 10~15이면 모든 출력이 High입니다. 전원은 16번 VCC, 8번 GND입니다.
직접 해 보기: Active Low 핀 읽기
핀마다 H/L 레벨을 보여 줍니다. 동그라미(버블)가 붙은 핀이 Active Low입니다.
- 입력
- 없음
- 출력
- DCBA HHHH
- 값 (10진)
- 0
해 볼 것: 74LS147에서 입력 여러 개를 같이 누르면 가장 큰 번호만 출력됩니다(우선순위). 출력 DCBA는 뒤집힌 BCD라서 H/L을 바꿔 읽어야 합니다. 74LS42에 10 이상을 넣으면 모든 출력이 High로 남습니다.
3. 헷갈리지 않는 방법
- 데이터시트 기능표(Function Table)를 먼저 봅니다. H/L로 적힌 표가 논리식보다 정확합니다.
- 쓰지 않는 Active Low 입력은 High(VCC)에 연결합니다. 떠 있게 두면 TTL은 대개 High로 읽지만 잡음에 약합니다.
- LED로 확인할 때는 방향을 맞춥니다. Active Low 출력은 LED를 VCC 쪽에 달고(VCC → 저항 → LED → 출력) 출력이 Low일 때 켜지게 해야 "켜짐 = 선택"으로 읽힙니다. 저항값은 LED 저항 계산기로 구하세요.
- 보고서 표에는 전압(H/L)과 논리값(0/1)을 섞지 말고, 어떤 쪽으로 적었는지 표 제목에 밝힙니다.
BCD와 2진수 변환은 진법 변환기, 7-세그먼트 디코더(7447도 출력이 Active Low)는 7-세그먼트 계산기에서 확인할 수 있습니다.