교육/ATmega2560
ATmega2560 - 7 Segment연결
솔♡
2014. 5. 26. 11:00
아트메가 128에 사용하였던 소스를 가져와 아트메가 2560을 동작시키고있다.
이렇게 소스를 가져와 조금 수정하여 쓰는 것을 쿼팅이라한다.
- 쿼팅 - 비슷한소스를 활용하여 쓰는 것
7 Segment - 8을 이루고있는 선의 총 합이 7개라서 7세그먼트라 부른다. ( 7개의 선은 각각 LED로 이루어져 있다. )
지금 사용하고 있는 7 Segment는 왼쪽 회로도를 참고하여야 한다.
- LED이기 때문에 GND와 VCC만 연결하여 주면 불이 들어온다. ( 옆에 .도 LED임 )
- (GND와 VCC에 각각 연결할 다리 2쌍씩이 필요하다.)
common - anode type의 경우 밑 그림과 같이 GND값을 넣어주면 된다.
|
7 Segment 는 PORTA ~ PORTH 중 한 포트를 이용하여야 하는데
INT -> PORTE
USART -> PORTE 0번
PORTA / PORTC / PORTE는 이미 사용하고 있기 때문에 이 PORT들이 아닌 다른 PORT를 써야한다
PORTB를 사용하여 연결한다.
smart.h
#define PORTB (*((volatile unsigned char *) 0x25))
#define DDRB (*((volatile unsigned char *) 0x24))
#define PINB (*((volatile unsigned char *) 0x23))
#define DDRB (*((volatile unsigned char *) 0x24))
#define PINB (*((volatile unsigned char *) 0x23))
-지금 사용하고 있는 7 Segment는 0V를 줘야 불이 켜지는 모델이기 때문에
PORTB 에 0을 입력하여 준다.
- DDRB는 입출력 결정이기 때문에 바꾸지 않아도 된다.
회로로 표현하면 이렇게 된다.
(숫자와 문자 표현 방식)
0~9 까지의 숫자를 반복적으로 교체시키는 코드
- ↓소스코드