본문 바로가기

전자 공학/기타

Atmega128이란?

반응형

안녕하세요. 취업한 공대누나입니다.

전자공학과를 전공하고 있다면 혹은 졸업했다면 학교에서 Atmega128에 대해서 한번쯤은 들어보셨을 것 같은데요.

대학교에서 일반적으로 마이크로프로세서 혹은 실험 과목으로 Atmega128 MCU와 AVR Studio를 이용하여 

프로젝트를 하는 것을 많이 보았습니다.

Atmega128이란 무엇인지 알아보도록 하겠습니다.

 


1. Atmega128이란?

 

MCU의 한 종류로써 ATMEL사에서 개발한 8비트 MCU입니다.

MCU에 대한 기본 개념이 부족하신 분들은 아래 글을 참고해주시면 이해가 쉽게 되실 겁니다.

2020/10/11 - [전자 공학/소자] - [MCU] MCU란 무엇인가?

 

[MCU] MCU란 무엇인가?

안녕하세요. 취업한 공대누나입니다. 오늘은 회로의 주인공 중 하나라고 말할 수 있는 MCU에 대해 알아보도록 하겠습니다. 제가 하는 일 중의 하나도 MCU를 다루는 일인데요. 1. MCU란? 우선 MCU란 무

gdnn.tistory.com

기본적인 특징은 아래와 같습니다.

- 메모리 : 128KB Flash, 4KB SRAM, 4KB EEPROM

- 디버깅 : JTAG 인터페이스 지원

- ADC : 10비트 ADC 내장

- 통신 : USART 2채널, TWI 1채널, SPI 1채널

- 입출력 : 53 I/O pins


2. Atmega128의 데이터시트 

 

실물 Pinout

 

데이터 시트의 Pinout의 그림에서 보면 대부분의 핀들이 2개 이상의 기능을 수행하는 것을 알 수 있습니다.

P는 Port의 약자로 데이터 입출력을 위한 통로를 말합니다.

핀을 통해 비트 단위로 주변 장치와 데이터를 교환하지만 실제 CPU 내부에서는 1비트 단위가 아닌 8비트 단위로 데이터를 처리하기 때문에 핀을 8개씩 묶어서 관리를 하며 알파벳 A, B, C, D, E, F ,G까지 이름을 붙여서 사용합니다.

(단 G포트는 5개의 핀만을 갖습니다.)

 

데이터 시트를 읽어보면 Port F의 경우 analog input을 넣어 A/D Converter로 활용할 수 있다고 나와있습니다.

아날로그 값을 읽어야 할 것이 있으면 Port F를 이용해주시면 됩니다.

 

Port B의 1번핀(즉 11번핀)을 Output으로 하여 어떤 값을 출력하고 싶으면 아래와 같은 단계로 설정해주시면 됩니다.

 

1. DDRB 레지스터를 이용하여 Port B를 입력 받는 핀으로 사용할 것인지 아웃풋 핀으로 사용할 것인지 설정해줍니다.

1로 설정하면 출력이고 0으로 설정하면 입력입니다. 출력으로 설정하고 싶으면 DDRB = 0x80;과 같이 설정해줄 수 있습니다. (그러면 1000 0000이므로 첫번재 핀만 아웃풋 핀이고 나머지는 인풋 핀으로 설정되는 것입니다.)

 

2. 그 다음에는 PORTB 레지스터를 이용하여 Low일지 High로 출력할지 결정해주시면 됩니다.

PORTB = 0x00으로 하면 포트 B의 모든 핀을 Low로 만드는 것이고 PORTB= 0x80으로 하면 1번 핀은 High로 설정되는 것입니다.

 


기본적으로 Atmega128이 무엇인지 입출력 레지스터 핀을 어떻게 설정하는지에 대한 내용을 다뤄보았습니다.

처음 코딩을 해보면 어렵게 느껴질 수 있으나 낯선 것이지 어려운 것이 아닙니다.

특히 Atmega128은 조금만 검색해도 소스들이 굉장히 많기 때문에 원하는 기능을 구현하는 것은 검색을 통해 대부분 가능할 거라 생각합니다.

 

반응형

'전자 공학 > 기타' 카테고리의 다른 글

윈도우(Windows)란?  (0) 2021.02.04
JTAG이란? SWD란?  (8) 2021.01.30
펠티어 소자란(열전 소자)?  (1) 2021.01.20
RoHS란?  (0) 2021.01.18
TC - Timer Counter란?  (0) 2021.01.14