1. 개요
1) 이 실험에서 숫자표시기의 구성 원리를 이해하고 이를 구동하는 방법을 실습한다.
2) 숫자표시기를 구동시키는 전용 디코더와 함께 사용한다.
3) 이 디코더는 어떤 숫자에 해당하는 BCD코드가 주어지면 그 코드에 해당하는 수치를 표시
할 수 있도록 BCD코드에 맞추어 숫자표시기의 적절한 입력으로 바꾸어주는 역할을 한다.
4) 디코더-숫자표시기 조합은 BCD 입력으로부터 숫자를 표시하기 위한 기본 회로요소라 할
수 있다.
2. 이론
1) 7 세그먼트(7-Segment)
10진수 표시를 위한 대표적인 것이 BCD-to-7 세그먼트 디코더이다. 이는 2진 BCD를 10진수로표시하는 소자로서8개의 발광다이오드로 구성되어 있다. 7 세그먼트의 종류로는 캐소드 공통 FND와 애노드 공통 FND가 있다. 여기서 막대 모양의 LED 하나하나를 세그먼트(segment)라고 하며, LED가 7개 사용됨으로 7 세그먼트 표시기라고 이름이 붙여졌다. 7-Segment의 숫자 표시는 조합회로인 디코더를 사용하여 BCD의 7 세그먼트 출력을 하는 논리회로를 설계할 수 있다.
10진수 | 입력(BCD 코드) | 출력(7-Segment) | |||||||||
A | B | C | D | a | b | c | d | e | f | g | |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
3 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
4 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
6 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
7 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
9 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
(7-Segment 디코더 진리표)
2) 7-세그먼트 표시기의 구동
각각의 LED는 어느 정도의 전류(대략 10mA정도)를 흘려줘야만 빛을 발하게 된다. 이들 각각의 다이오드에 전류를 흘려주려면 아래와 같은 두 가지 방법을 생각해 볼 수 있다. 우선 그림 3과 같이 어떤 IC의 출력 단에 저항을 거쳐 다이오드의 애노드를 연결하고 LED의 캐소드는 접지 시키는 방법이 있다. IC의 출력전압이 HIGH이면 IC로부터 저항과 LED를 거쳐 접지로 전류가 흘러 들어가므로 LED가 켜져 빛을 발하게 된다. 물론 이때 IC가 LED를 발광시킬 만큼 충분히 큰 전류를 출력할 수 있어야 한다. 그리고 IC의 출력전압이 LOW가 되면 전류가 멈추고 LED는 꺼진다. 이런 방식을 사용할 때는 모든 LED들의 캐소드가 다 접지되어야 하므로 그림 2에서 공통 캐소드 방식의 표시기를 사용한다.
그림 3과 4에서 1C의 출력과 LED 사이에 저항이 삽입되어 있는데 이 저항을 전류제한용 저항이라 한다. 저항 값을 줄여주면 LED가 켜질 때 전류가 더 많이 흐르므로 밝아지지만 저항 값이 너무 작아지면 1C의 구동능력을 넘어서거나 LED가 타버릴 수 있으므로 적절한 값을 사용해야 한다.
그림 4의 경우에 대해 LED에 10mA가 흐를 수 있도록 하기 위한 저항 값을 계산하면 아래 와 같다. 먼저 1C 출력이 LOW 상태가 되었을 때 출력전압은 완전히 0이 아니며 대략 0.3 V 정도가 된다. 또 LED가 도통할 때 전압강하는 대략 2 V 정도로 잡으면 무난하다. 따라서 LED가 도통할 때 저항 양단에 나타나는 전압은 전원전압을 5V라 하였을 때 5 – 2 – 0.3 =약 2.7 V 정도가 된다. 이 전압에서 10mA가 흐르려면 저항 값은 약 270옴이 된다.
보통 220이나 330옴 정도의 저항을 사용하면 무난하다.
7-세그먼트 디코더/구동기 (7-segment decoder/driver)
BCD 코드가 주어지면 이것으로 7-segment display의 LED들 중 적절한 것을 켜주어 해당 숫자가 표시되도록 하여 주는 IC를 BCD-to-7-segment decoder/driver라고 부른다. 대표적인 것으로 7446, 7447 또는 74246, 74247이 있다. 이들은 핀배치가 전적으로 동일하므로 이들 중 아무 것이나 사용하여도 무방하다. 단 7446과 74246을 사용할 때는 LED의 전원에 15V까지 접속할 수 있고 7447과 74247은 30V까지 접속할 수 있다. 그리고 7446, 7447은 6과 9의 표시 에 꼬리가 나타나지 않는 반면 74246,74247에서는 꼬리가 나타난다는 데에 차이가 있다.
그림 5는 7446/7의 핀 배치를 보여주고 있으며 그림 6에 7446/7 driver를 통해 BCD코드 입력을 숫자표시기에 접속한 회로를 보여주고 있다. 그림의 아래에 나타난 바와 같이 정상적 인 BCD코드(0000~1001) 범위 안에서는 0에서 9까지의 숫자 중 하나가 표시되지만 그 범위를 벗어나는 경우(1010~1111)에는 특별한 형태의 문자가 표시되게 된다.
7447에서 데이터 입력단자 이외의 다른 보조입력단자들의 기능은 아래와 같다.
LT(Lamp Test) LED Test 입력단자로서 이를 LOW로 하면 7개 segment가 전부 ON 되므로 접속이 제대로 되었는지,그리고 LED의 밝기가 적당한지 등을 검사하는 데에 사용된다.
RBI(Ripple Blanking input) 이 단자를 LOW로 하면 입력이 0의 수치일 때 0 표시가 소멸된 다. 즉 모든 LED가 소등된다.
RBO(Ripple Blanking Input) 모든 LED가 소멸되었을 때 LOW가 되는 출력단자
BI(Blanking Input) RBO와 동일한 단자로서 이 단자에 LOW를 인가하면 모든 LED가 소등 된다.
3. 실험기기
테스터, 직류전원장치(dual), 오실로스코프, 만능기판, 만능기판용 전선, 스트리퍼
IC
Binary 인코더 74148 1개
BCE 인코더 74147 1개
7-segment 디코더 7447 1개
7-SEGMENT LED
FND500(COMMON ANODE) 1개
저항 330Ω 15개
푸시버튼스위치 10개
4. 예비보고서 문제풀이
1) 여덟 개의 푸시버튼 스위치가 있다. 이 스위치들에 각각 0~7까지의 번호를 부여하였다고 하자. 이 스위치들은 평상시 에 모두 열려 있다. 이 스위치들 중 어느 한 스위치를 누르면 그 스위치의 번호가 표시되는 회로를 74148 인코더를 사용하여 설계하라.
74148 인코더에 출력 값에 NOT 게이트를 달아서 7447 7-세그먼트를 연결하면 여덟 개의 푸시버튼을 누르면 각각의 숫자를 나타낸다. 그 회로도는 아래처럼 나온다.
3) 7446,7447이 LOW 출력을 내는 상태에서 sink할수 있는 전류가 얼마나 되는지 조사하고 그 근거자료를 첨부하라.
출력이 LOW일 때 전원에서부터 LED와 저항을 거쳐 IC출력단자로 전류가 흘러 LED가 켜지게 되며 이때 IC로는 출력단에서 전류가 거꾸로 흘러 들어오게 된다. 이와 같이 IC가 전류를 흡수하는 상태를 sink 동작이라 한다. 아래에 7446,.7447의 data sheet를 보면 전류값이 40mA ,24mA 임을 알 수 있다.
5. 실험순서
1) 숫자표시기의 Vcc에 5V 전원을 접속하고 아래 그림과 같이 저항을 통해 입력단자를 인출한 다음 각각의 입력단자에 차례대로 5V와 0V를 인가하여 LED의 불이 켜지는 위치를 확인하라.
2) 7447을 사용하여 그림 6의 회로를 구성하라.
3) 구성된 회로의 입력에 0000~1111을 인가하여 숫자표시기에 나타나는 표시를 확인하라.
4) 7447의 나머지 세 보조입력단자의 상태를 바꾸어가면서 회로의 동작이 어떻게 영향을 받는지를 확인하고 이것이 보조입력단자의 기능설명과 부합하는지 관찰하라. (세 개의 보조입력단자가 가질 수 있는 경우의 가지 수는 모두 여덟 개임에 유의하라.)
유익하셨다면 좋아요와 구독 꾹 부탁드립니다 ㅎㅎ
'공대생과 공부하기 > 전기공학 실험 보고서' 카테고리의 다른 글
[전기전자공학 실험] 아두이노 I/O 기초와 시리얼 통신 : 예비보고서 (0) | 2019.08.17 |
---|---|
[전기전자공학 실험] 아두이노 마이크로 프로세서 기본 및 환경 세팅 : 예비보고서 (0) | 2019.08.01 |
[전기전자공학 실험] 테브난의 등가회로 : 예비보고서 (0) | 2019.07.28 |
[전기전자공학 실험] 직류회로에서의 측정(키르히호프의 법칙) : 예비보고서 (0) | 2019.07.27 |
[전기전자공학 실험] 디코더와 인코더 (Decoder & Encoder) : 예비보고서 (0) | 2019.07.25 |