본문 바로가기
코스웨어/10년 시스템제어

11번 박동원 Atmega128

by 알 수 없는 사용자 2010. 4. 8.
728x90
반응형

1. I/O 장치
       CPU와 외부장치를 연결해주기 위해 양방향성을 갖는 6개(PORTA~PORTF)의 8비트 입출력(I/O) 포트

       1개(PORTG)의 5비트 입출력 포트를 갖고 있다


2.
관련 레지스터

   2_1 DDRx 레지스터
        입출력의 방향설정을 하여 DDRA~DDRG레지스터에 입출력포트에 대응하는 해당 비트에 1을 쓰면 출력으로 0
        을 쓰면 입력으로 설정 된다. 초기값은 0으로 설정되어 있다. 비트별로 만약 포트 A의 비트3를 출력으로 설정하
        려면 DDRA.3 = 1로 하면 되 포트 A를 전부 출력으로 설정하려면 DDRA = 0xff로 하면 된다.

   2_2 PORTx 레지스터
        DDRx의 값을 조절하여 출력으로 설정된 경우 PORTx 레지스터에 해당하는 값을 쓰면 된다. 비트별로 설정하
        려면 PORTx.n = 1의 형태로 하면 된다(x는 A~G, n은 0~7). 만약 포트 B의 비트3에 1을 출력하려면
        PORTB.3
= 1로 하면 된다.

   2_3 PINx 레지스터
       입력으로 설정된 경우 PINx 레지스터에 해당하는 값을 읽으면 된다. 해당 핀의 값을 읽어 들인다. 쓰기가 금지
       되어 있다. 비트별로 읽어 들이려면 PINx.n를 사용 하면 된다 비트별로 만약 포트 C의 비트3값을 읽어 들여
       led3라는 비트값에 할당하려면 led3 = PINC.3로 하면 된다.


3. 동작
     포트A (PA7~PA0:핀44-51)
: 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 외부메모리를 둘 경우에는
                                                  주소버스(A7-A0)와 데이터버스(D7-D0)로 사용.
     
      포트B (PB7~PB0:핀10-17) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. SPI용 단자 혹은 PWM 단자
                                                  로도 사용된다.

                                                               포트B의 다른 기능 설명
             -------------------------------------------------------------------------------------------------
            |    포트   핀        |                                  다른 특수기능                                                                |
             --------------------------------------------------------------------------------------------------
            |   PB7 (핀17)      |    OC2, OC1C : 타이머2용의 비교신호 출력 혹은 타이머 1용의 비교신호 C C출력   |
            |   PB6 (핀16)      |    OC1B : 타이머 1용의 비교신호 B출력                                                              |
            |   PB5 (핀15)      |    OC1A : 타이머 1용의 비교신호 A출력                                                              |
            |   PB4 (핀14)      |    OC0 : 타이머 0용의 비교신호 출력                                                                  |
            |   PB3 (핀13)      |    MISO : SPI 채널의 마스터 데이터 입력 혹은 슬레이브 데이터 출력 신호 단자      |
            |   PB2 (핀12)      |    MOSI : SPI 채널의 마스터 데이터 출력 혹은 슬레이브 데이터 입력 신호 단자      |
            |   PB1 (핀11)      |    SCK : SPI 채널의 마스터 클럭 출력 혹은 슬레이브 클럭 입력 신호 단자              |
            |   PB0 (핀10)      |    SS : SPI 태널의 슬레이브 선택 입력 신호 단자                                                 |
             --------------------------------------------------------------------------------------------------


     포트C (PC7~PC0:핀35-42) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 외부메모리를 둘 경우에는
                                                    주소버스(A15-A8)로 사용된다.


     포트D (PD7~PD0: 25-32) :  내부 풀업 저항이 있는 비트 8 양방향 입출력 단자. 타이머용 단자 혹은 외부인
                                                   터럽트용 단자로도 사용된다

                                                              
                                                       포트D의 다른 기능 설명

             -----------------------------------------------------------------------------------------------
            |    포트   핀       |                                  다른 특수기능                                                              |
             -----------------------------------------------------------------------------------------------
            |   PD7(핀25)      |    T2 : 타이머2 클럭 입력                                                                                 |
            |   PD6(핀26)      |    T1 : 타이머1 클럭 입력                                                                                 |
            |   PD5(핀27)      |    XCK : USART1 외부클럭 입출력                                                                     |
            |    PD4(핀28)     |    ICP1 : 타이머1 입력 캡춰                                                                              |
            |   PD3(핀29)      |    INT3/TXD1 : 외부인터럽트 3 혹은 USART1 송신                                               |
            |   PD2(핀30)      |    INT2/RXD1 : 외부인터럽트 2 혹은 USART1 수신                                               |
            |   PD1(핀31)      |    INT1/SDA : 외부인터럽트 1 혹은 2선 방식의 직렬 인터페이스용 데이터 단자      |
            |   PD0(핀32)      |    INT0/SCL : 외부인터럽트 0 혹은 2선 방식의 직렬 인터페이스용 클록 단자         |
             -------------------------------------------------------------------------------------------------


      포트E (PE7~PE0:핀2-9) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. 타이머용 단자, 외부인터럽트,
                                               아날로그 비교기, USART용 단자로도 사용된다
                                               
                                                      포트E의 다른 기능 설명

             -------------------------------------------------------------------------------------------------
            |    포트   핀        |                                  다른 특수기능                                                                  |
             -------------------------------------------------------------------------------------------------
            |   PE7(핀2)         I     NT7/ICP3 : 외부인터럽트 7 혹은 타이머3 입력 캡춰                                           |
            |   PE6(핀3)        |     INT6/T3 : 외부인터럽트 6 혹은 타이머3 클럭 입력                                              |
            |   PE5(핀4)        |     INT5/OC3C : 외부인터럽트 5 혹은 타이머 3용의 비교신호C 출력                         | 
            |   PE4(핀5)        |     INT4/OC3B : 외부인터럽트 4 혹은 타이머 3용의 비교신호B 출력                          |
            |   PE3(핀6)        |     AIN1/OC3A : 비교기 -입력 혹은 타이머 3용의 비교신호A 출력                             |
            |   PE2(핀7)        |     AIN0/XCK0 : 비교기 +입력 혹은 USART0 외부 클럭 입출력                                   |
            |   PE1(핀8)        |     PDO/TXD0 : 프로그램 데이터 출력(ISP 케이블의 MISO와 연결) 혹은 USART0 송신|
            |   PE0(핀9)        |     PDI/RXD0 : 프로그램 데이터 입력(ISP 케이블의 MOSI와 연결) 혹은 USART0 수신 |
             ---------------------------------------------------------------------------------------------------


     포트F (PF7~PF0:핀54-61) : 내부 풀업 저항이 있는 8비트 양방향 입출력 단자. AD변환기 혹은 JTAG 인터
                                                   페이스용 단자로도 사용된다

                                                  포트F의 다른 기능 설명
             ----------------------------------------------------------------------------------------------
            |    포트   핀        |                                  다른 특수기능                                                            |
             ----------------------------------------------------------------------------------------------
            |   PE7(핀54)        |      ADC7/TDI : ADC 입력채널 7 혹은 JTAG 테스트용 데이터 입력 단자            |
            |   PE6(핀54)        |      ADC6/TDO : ADC 입력채널 6 혹은 JTAG 테스트용 데이터 출력 단자           |
            |   PE5(핀54)        |      ADC5/TMS : ADC 입력채널 5 혹은 JTAG 테스트용 모드 선택 단자             |
            |   PE4(핀54)        |      ADC4/TCK : ADC 입력채널 4 혹은 JTAG 테스트용 클럭 단자                      |
            |   PE3(핀54)        |      ADC3 : ADC 입력채널 3                                                                          |
            |   PE2(핀54)        |      ADC2 : ADC 입력채널 2                                                                          |
            |   PE1(핀54)        |      ADC1 : ADC 입력채널 1                                                                          |
            |   PE0(핀54)        |      ADC0 : ADC 입력채널 0                                                                          |
             ----------------------------------------------------------------------------------------------


     포트G (PG4~PE0:핀19, 18, 43, 34, 33) : 내부 풀업 저항이 있는 5비트 양방향 입출력 단자. 외부 메모리
                                    접속을 위한 스트로브 신호용, RTC(Real Time Counter) 타이머용 발진기 단자로도 사용된다
 
                                                    포트G의 다른 기능 설명
              ------------------------------------------------------------------------------------------------
            |    포트   핀        |                                  다른 특수기능                                                               |
             -------------------------------------------------------------------------------------------------
            |   PG4(핀19)        |    TOSC1 : 타이머 0의 RTC 기능 사용시 클럭 발생을 위한 수정발진자 접속단자  |
            |   PG3(핀18)        |    TOSC2 : 타이머 0의 RTC 기능 사용시 클럭 발생을 위한 수정발진자 접속단자  |
            |   PG2(핀43)        |    ALE : 외부 메모리에 접근할 때 하위주소값을 래치하도록 신호를 출력            |
            |   PG1(핀34)        |    RD : 외부 테이터 메모리를 읽을 때 사용되는 스트로브 신호 출력 단자로 사용 |
            |   PG0(핀33)        |    WR : 외부 데이터 메모리에 쓸 때 사용되는 스트로브 신호 출력 단자로 사용    |
             -------------------------------------------------------------------------------------------------

                                   


 

728x90