1. Column과 Row 모두 조절하기
- 이전에는 PORTA만 사용해서 Column단위로만 패턴을 움직였다. (Row는 1로 고정된 상태)
- 이번에는 Row단위로도 움직여서 2차원 매트릭스 상에서 원하는 위치에 패턴을 띄워보자
- Column에 연결된 PORTA이외에 이번엔 PORTC를 추가로 이용한다. PORTC는 LED의 Row을 담당하게 된다.
- 이렇게 Row, Column 단위로 사용하지 않고 LED하나마다 비트를 하나씩 할당하면 총 64비트가 필요하다.
- 그러나 Row Column 단위로 비트를 할당하면 단 16비트로 모든 LED를 제어할 수 있게 된다.
- PORTC는 0x01로 설정하고, while문을 한번 돌 때마다, 왼쪽으로 한칸씩 시프트하게 된다.
- 0000 0001에서 처음 루프를 돌면 0000 0010, 0000 0100 ... 1000 0000 처럼 한칸씩 Row가 움직이게 된다.
- Row의 경우 Column과 다르게 정논리가 적용된다. (때문에 0x01부터 시작한다)
- 위 그림처럼 Column으로도 한칸씩 움직이면서, Row단위로도 한칸씩 움직인다.
2. Reference
마이크로 프로세서 및 실습 Ⅰ
마이크로 프로세서 및 실습
www.kocw.net
'마이크로프로세서' 카테고리의 다른 글
스위치 입력을 사용하는 LED 점등 & 채터링 (0) | 2020.05.25 |
---|---|
패턴을 변경한 LED 점등 (0) | 2020.05.24 |
입출력포트 & LED 점등해보기 (0) | 2020.04.21 |
출력(LED) & 입력(스위치버튼) 회로 구성 (0) | 2020.04.21 |
ATmega128 개발 도구 (0) | 2020.04.21 |
ATmega128 보드 (0) | 2020.04.21 |
ATmega128의 EEPROM (추가메모리) (0) | 2020.04.21 |