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
}
'AVR' 카테고리의 다른 글
인터럽트를 사용해서 PORTA에 LED 깜빡거리게 켜기 (0) | 2023.03.17 |
---|---|
4자리수 FND 초시계와 분시계 만들기 (0) | 2023.03.16 |
토글스위치 3개를 이용해 순차적 점등 및 일괄점등 (0) | 2023.03.15 |
토글스위치3개를 이용해 LED ON / OFF 조절 (0) | 2023.03.15 |
AVR 배열 처리 LED left -> right 순차 ON 동작 (0) | 2023.03.15 |