AVR
4자리 7세그먼트 표시장치 - 기본 동작 확인
이제팔
2023. 3. 16. 13:08
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
}