728x90
반응형
SMALL
GPIO (General Purpose Input Output)
- 범용으로 사용되는 입출력 포트로 설계자가 입력과 출력을 마음대로 선택할 수 있다. - 출력으로 사용시, 0과 1의 출력 신호를 임의로 만들어줄 수 있는 구조를 가진다. - 입력으로 사용할 때는 외부 인터럽트를 처리할 수 있도록 하는 기능이 있는 경우가 있다. - 관련 레지스터는 크게 입출력 방향 전환 레지스터, 출력용 레지스터, 입력용 데이터 레지스터의 3가지가 필요하다. - 내부적으로 pull-up 저항을 가지고 있는 경우가 많다. - 마이크로컨트롤러에서는 대부분의 핀들을 GPIO로 설정하는 경우가 많고, 보통 다른 신호와 중복 (multiplexing)하여 사용한다. |
ATmega128 입출력 포트
- 6개의 8비트 I/O포트 (PA, PB, PC, PD, PE, PF)와 1개의 5비트 I/O포트 (PG)로 구성된다 (총 53개 포트). - 모든 포트 핀은 개별적으로 내부 풀업 저항을 사용할 수 있다. - 모든 I/O핀은 VCC와 GND사이에 각각 다이오드를 접속하여 포트를 보호한다. - Read-Modify-Write 기능으로 비트 단위의 포트 설정 가능하다. |
1. DDRx (Data Direction Register)
- 각 포트에 대한 데이터 입출력 방향 지정용 레지스터이다. - DDRA~DDRG 레지스터의 해당 비트에 ‘1을 쓰면 출력(default), ‘0’을 쓰면 입력으로 설정한다. |
2. PORTx (Port Output Register)
- 데이터 출력 레지스터이다. - 출력을 원하는 데이터값을 PORTx 레지스터에 쓰면 된다. |
3. PINx (Port Input Register)
- 데이터 입력 레지스터이다. - PINx 레지스터의 값을 읽으면 그것이 입력된 값이다. |
4. SFIOR (Special Function IO Register)
SFIOR의 비트2 (PUD: Pull-Up Disable)를 ‘1’로 세트하면 풀업 저항이 비활성화되고(기본 상태) ‘0’으로 하면 활성화된다.
728x90
반응형
LIST
'Embedded System > AVR' 카테고리의 다른 글
[AVR] LED (0) | 2022.05.24 |
---|---|
[AVR] Simple AVR code: MAX7219 7-segment display driver (0) | 2022.05.24 |
[AVR] 실습 키트 연결 (0) | 2022.05.24 |
[AVR] ATmega128 실습 키트 (JKIT-128-1) (0) | 2022.05.24 |
[AVR] Create new Project (0) | 2022.05.11 |