[참고 내용]
1) 7-Segment
7-Segment는 FND(Flexible Numeric Displays)의 가장 대표적인 소자로서, 7개의 LED 또는 8개의 LED(소수점이 있는 경우)를 조합하여 숫자정보를 표시하는 소자이다.
일반적으로 LED 1개는 ON 또는 OFF 정보밖에 나타낼 수 없지만, <그림 2>와 같이 7개의 LED를 조합하면 숫자 (0~9) 및 특정문자(A~F)의 표현이 가능하다.
7개의 LED를 점멸하기 위해서는 14개의 핀이 필요하지만, Vcc 또는 GND를 공통단자로 사용하면 핀을 8개로 줄일 수 있게 된다. 이때 공통단자로 어느 것으로 사용하느냐에 따라서 7-Segment는 애노드공통(A형)과 캐소드공통(K형)으로 구분할 수 있으며, 그 내부 구조는 다음과 같다.
2) 7-Segment의 정보표시 방법 (구동방법)
7-Segment를 이용하여 정보를 표시하는 방법, 즉 구동하는 방법은 크게 두 가지가 있는데 디코더를 이용하는 간접 구동방법과 출력포트에 의한 직접 구동방법 등이다.
(1) 디코더를 이용하는 간접 구동방법
이 방법은 "BCD to 7-Segment edcoder" 소자를 이용하여 구동하는 방법으로, 애노드공통의 경우에는 7447, 캐소드공통의 경우에는 7448이 주로 사용된다. 이 디코더는 MCU로부터 표시하고자 하는 정보(숫자)의 BCD값을 전달받아서 7-Segment에 해당하는 입력신호를 생성하여 공급함으로써 구동하는 방법이다.
(2) 출력포트에 의한 직접 구동방법
이 방법은 MCU의 I/O포트와 7-Segment를 직접 연결하여 구동하는 방법이다. 이 방법은 디코더가 사용되지 않지만, I/O포트가 많이 필요하다는 단점이 있다.
캐소드공통 7-Segment를 사용하는 경우, 7-Segment의 LED 단자들은 MCU의 I/O포트와 연결하고, 공통단자는 GND와 연결한다. 따라서 I/O포트의 어느 비트(출력핀)에 5V(논리값 1)를 인가하면 해당 LED는 켜지고, 0V(논리값 0)를 인가하면 해당 LED는 켜진다. 그리고, MCU의 I/O포트와 7-Segment LED단자 간의 연결방법에 따라 적절한 I/O포트의 논리값을 선택하면 원하는 정보를 표시할 수 있다. MCU의 I/O포트의 비트0~7을 7-Segment LED의 a~g, dp단자의 순으로 연결하는 경우에 표시정보에 따른 I/O포토의 논리값은 <표 1>과 같다.
반면에 애노드공통 7-Segment를 사용하여 정보를 표시하는 경우, 공통단자는 Vcc와 연결하여야 한다. 그러므로 I/O포트의 어느 비트(출력핀)에 5V(논리값 1)를 인가하면 해당 LED는 커지고, 0V(논리값 0)를 인가하면 해당 LED는 켜지게 된다. 즉 캐소드공통의 경우와는 반대가 된다. 이경우에 표시정보에 따른 I/O 포트의 논리값은 <표 2>와 같다.
3) 정적 및 동적 표시방법(static & dynamic display)
숫자 정보를 표시하는 경우 대부분 두 자리이상을 사용하고 있다. 두 자리이사의 숫자를 동시에 표시하는 방법으로는 static display와 dynamic display 방법이 있다.
(1) static display 방법
이 방법은 한 개의 디코더 또는 한 개의 출력포트가 한 자리 씩 전담하여 표시하는 방법이다. 이 방법은 필요한 출력포트의 수가 자리 수에 비례하게 증가하므로, 출력포트의 여유가 많을 때 사용하는 방법이다.
(2) dynamic display 방법
대부분의 시스템의 경우에는 출력포트에 제한이 있으므로, 한개의 출력포트가 표시정보를 담당하고 다른 출력포트가 자리 지정을 담당하는 방법을 사용한다. 출력포트는 여러 자리의 표시정보를 순차적으로 이동하면서 출력하기 때문에 동적(dynamic)표지방법이라고 한다. 이 방법은 LED가 점멸된 후 잔산ㅇ이 사라지기전에 다시 점멸시켜서 계속 켜져있는 것처럼 보이도록 하는 방법이므로, 점멸 간격을 적절히 조절하는 것이 필요하다.
다음의 그림은 2자리 7segment의 내부 회로도로서 (a)는 static display 용이고, (b)는 daynamic display 용이다. 만일 static display용으로 dynamic 구동을 하기위해서는 DIG1의 A와 DIG2의 A를, DIG1의 B와 DIG2이 B를, ... DIG1의 DP와 DIG2의 DP를 결선하면 된다.
'Mcu 만져보기' 카테고리의 다른 글
Atmega128 LED 구동하기 4 (0) | 2024.03.03 |
---|---|
Atmega128 LED 구동하기 3 (0) | 2024.03.02 |
Atmega128 LED 구동하기2 (0) | 2024.03.01 |
Atmega128로 LED구동하기 (0) | 2024.03.01 |
MCU vs MPU 둘의 차이는 무엇일까? (2) | 2024.02.01 |