ATmega Pin Configurations, DDR, PORT, PIN
ATmega Pin Configurations
- RESET(핀20) : 입력단자로 1레벨이 입력되면 리셋되어 PC(Program Counter)는 일반적으로 0번지를 가르키고 0번지부터 프로그램이 시작된다. 리셋시 대부분의 레지스터는 0으로 된다.
- XTAL1,XTAL2(핀24,23) : 발진용 증폭기 입력 및 출력 단자.
- VCC(핀21,51) : 전원 입력 단자.
- GND(핀22,53,63) : 그라운드 입력 단자.
- AVCC(핀64) : AD변환기 및 포트 F에 대한 공급 전압.
- AREF(핀62) : ADC 참조 전압.
- PEN(핀1) : SPI를 활성화시키는 단자로 일반적인 동작모드에서는 사용하지 않고 파워 온 리셋시 0상태로 유지해 SPI를 허용하게 한다.
- 포트A(PA7~PA0:핀44-51) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 외부메로리를 둘 경우에는 주소버스(A7-A0)와 데이터버스(D7-D0)로 사용.
- 포트B(PA7~PA0:핀10-17) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. SPI용 단자 혹은 PWM 단자로도 사용된다.
- 포트C(PA7~PA0:핀35-42) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 외부메모리를 둘 경우에는 주소버스(A15-A8)로 사용된다.
- 포트D(PA7~PA0:핀25-32) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 타이머용 단자 혹은 외부인터럽트용 단자로도 사용된다.
- 포트E(PA7~PA0:핀2-9) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 타이머용 단자, 외부인터럽트, 아날로그 비교기, USART용 단자로도 사용된다.
- 포트F(PA7~PA0:핀54-61) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자, AD변환기 혹은 JTAG 인터페이스용 단자로도 사용된다.
- 포트G(PA4~PA0:핀19,18,43,34,33) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 외부 메모리접속을 위한 스트로브 신호용, RTC(Real Time Counter) 타이머용 발진기 단자로도 사용된다.
DDRx : 입출력 방향 설정
PORTx : 출력하려는 값 설정
PINx : 외부에서 들어오는 값
DDRF = 0xFF; : F포트를 출력용으로 쓰겠다.
DDRF = 0b11111111 : F포트를 출력용으로 쓰겠다.
// 테스트 - led 가 4개씩 좌우로 깜박인다.
#include<avr/io.h>
int main(void)
{
// 실행 포트 초기화
DDRF = 0xFF;
PORTF = 0xFF;
volatile unsigned int i;
for(;;)
{
PORTF = 0b11110000;
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
PORTF = 0b00001111;
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
for(i=0;i<20000;i++);
}
return 0;
}
'내장형 하드웨어 > ATmega128' 카테고리의 다른 글
ATmega128 spec 분석, 포인터 복습 (0) | 2011.06.14 |
---|---|
ATmega 123 - 특징, Havard architecture, RISC / CISC (0) | 2011.04.19 |