본문 바로가기

AVR

4자리 7세그먼트 표시장치 - 기본 동작 확인

4자리 7세그먼트 : FND 의 기본적으로 동작하는지 확인해보자

사용한 모듈은 CL5642AH : cathod 타입이다.

코드를 이용해 프로그래밍하면 8888로 뜨는것을 확인할 수 있다.

 

 

#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>

#define FND_DATA_DDR DDRC
#define FND_DATA_PORT PORTC
 
#define FND_DIGIT_DDR DDRB
#define FND_DIGIT_PORT PORTB

#define FND_DIGIT_D1 4
#define FND_DIGIT_D2 5
#define FND_DIGIT_D3 6
#define FND_DIGIT_D4 7
 
void init_fnd(void); 
int main(void)
{	
	init_fnd();
#if 0//애노드 방식
	FND_DIGIT_PORT = 0Xff;
	FND_DATA_PORT =0x80;
#else //CL5642AH : common cathod 방식
	FND_DATA_PORT = ~0x80; // 10000000->10000000
#endif 
    while (1) 
    {
    }
}

void init_fnd(void)
{
	FND_DATA_DDR = 0xff ; // 출력으로 설정
	FND_DIGIT_DDR |= 0xf0 ; //4567만 1로 설정 3210은 그대로 유지
	
#if 0 // 애노드방식
	FND_DATA_PORT = ~0x00; // all off
#else //CL5642AH : common cathod 방식
	FND_DATA_PORT =0x00; // all off
#endif
}