본문 바로가기
Embedded System/AVR

[AVR] FND (Flexible Numeric Device)

by goatlab 2022. 6. 14.
728x90
반응형
SMALL

FND (Flexible Numeric Device)

 

 

• LED 7개 (점 포함 8개)로 숫자를 표시하기 쉽도록 배열한 것

• 많이 사용하는 곳 : 엘리베이터 층 표시기, 임베디드 제품 상태 표시기

 

FND 종류 및 구조

 

Common Anode 타입 (CA 타입), Common Cathode 타입 (CC 타입)

 

다중 FND

 

• 여러 개의 FND가 함께 묶여진 형태로, FND를 한 개씩 빠르게 돌아가면서 디스플레이하는 방식을 사용하면 눈의 잔상효과 때문에 모든 FND가 동시에 디스플레이되는 것처럼 보이는 현상을 이용한 제품 (최소 1/30 초 (33ms) 주기로 디스플레이 필요)

• 숫자를 표시하는 데이터 신호는 공통으로 사용하고, 각 FND를 선택하는 신호는 따로 할당하되, 선택 신호를 Common 노드에 할당

 

FND 16진수 표시

 

 

JKIT-128-1에서 FND 연결 설계

 

• FND의 데이터 (8비트)는 동일한 입출력포트 C(PB)에 할당 (dp-g-f-e-d-c-b-a 순으로 8 비트 할당)

• FND의 선택신호 (4비트)는 동일한 입출력포트 G (PG)에 할당 (왼쪽부터 PG3-0의 순으로 4비트 할당)

• COM 신호의 경우 8개의 segment를 동시에 드라이브하면 25mA x 8 = 200mA의 전류를 처리할 수 있어야 하는데, ATmega128 입출력포트의 최대 능력 100mA를 초과하게 되므로 트랜지스터를 사용하여 전류량을 조절하여야 함. 즉, COM 신호 4개 (PG3 ~ PG0)는 트랜지스터를 이용하여 구동

• 트랜지스터 (Transistor) 선택 : PMBT2222 선택

• 시리얼 저항값 계산 : R = (5V – 1.8V – 0.2V) / (12) mA = 250 Ω

 

GPIO로 FND 1개 표시

 

#include <avr/io.h> // ATmega128 register 정의

void main()
{
	DDRC = 0xff; // C 포트는 모두 출력
	DDRG = 0x0f; // G 포트도 4개는 출력
	PORTC = 0x3f; // ‘0’ 표현
	PORTG = 0x01; // 가장 우측의 digit 선택
}
728x90
반응형
LIST

'Embedded System > AVR' 카테고리의 다른 글

[AVR] 스위치 (Switch)  (0) 2022.06.23
[AVR] 부저 (Buzzer)  (0) 2022.06.14
[AVR] 타이머 오버플로우 인터럽트  (0) 2022.06.10
[AVR] 인터럽트 (Interrupt) (3)  (0) 2022.06.09
[AVR] 인터럽트 (Interrupt) (2)  (0) 2022.06.09