@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
12. Advanced Virtual RISC
1996년 Atmel사에서 개발한 RISC구조의 MCU.
XMEGA, megaAVR, tinyAVR 시리즈 등 6개 그룹으로 구성,
12/47
* CISC : Complex Instruction Set Computer, 복잡한 명령어를 지원하는 컴퓨터.
RISC : Reduced Instruction Set Computer, CISC구조의 CPU가 지니는 전체 명령어의 10% 정도를
지원하는 컴퓨터.
13. 13/47
폰노이만 구조 : CPU가 프로그램을
실행하는데 주기억장치에 명령어와
데이터를 함께 저장한 후에 수행하는
방식
하버드 구조 : 프로그램 메모리와
데이터 메모리를 분리시켜서
명령어들은 프로그램 메모리에
저장하고 데이터들은 데이터 메모리에
저장한 후에 프로그램을
수행하는 방식
14. 1. 명령어가 간단하고 동작 속도가 빠른 MCU
2. ISP(In System Programming)지원.
( ROM Writer 없이 PC에서 AVR내부의 flash(RAM)메모리로 프로그램 코드 바로 저장 )
3. Harvard Architecture으로 C언어에서 우수한 성능을 발휘 : 1 cycle에 1 instruction
( Harvard Architecture : 동시에 데이터와 명령어를 읽을 수 있는 구조방식. )
4. 막강한 각종 컴파일러가 무료로 제공. ADC, PWM, SPI 등의 고기능 손쉽게 구현 가능.
14/47
15. UART : 범용 비동기화 송수신기 Universal asynchronous receiver/transmitter)는 병렬 데이터의
형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종.
PIC16F688 : AVR ISP 기능 사용할 때 쓰임.
퓨즈비트 : clock 선택, 리셋 벡터 조정용.
* 크리스탈이 두 개인 이유는 다른 하나는 AVR ISP 구동용. 15/47
35. 오픈 소스 기반의 하드웨어 플랫폼 & 소프트웨어 개발환경
이탈리아 북부 전문대학교의 교수가 처음 개발.
현재는 인텔사와 협력하여 개발 중.
https://www.arduino.cc/en/Main/Products
35/47
36. 1. 저비용 : 다른 마이크로컨트롤러 플랫폼에 비해 저렴. (35불)
2. 간단하고 명확한 프로그래밍 환경 :
-초보자 : 사용용이, 실력자 : 다양한 시도를 위한 유연성을 제공.
-소프트웨어 개발을 위한 통합개발환경(IDE) 제공.
-컴파일 된 펌웨어(특정 하드웨어 상에서 동작하는 소프트웨어)를 USB를 통해 손쉽게 업로드.
-가독성 있는 소스
3. 오픈 소스 :
-고급 프로그래머들에 의해 작성된 확장 소프트웨어 라이브러리들을 구하여 사용 가능.
-회로 설계자들이 손쉽게 자신만의 모듈을 만들고 개선 가능.
4. 확장 가능한 쉴드 : 원하는 기능을 추가가능.
5. Processing : 시각화하는 프로그램 활용 가능.
36/47
45. #include<avr/io.h> // 레지스터 이름과 레지스터 비트
이름 등이 포함된 헤더파일.
int main() //메인문 함수.
{
DDRA = 0x01;
//DDR은 입력과 출력을 결정하는 레지스터,
PA1출력으로 결정, 0b00000001과 같음.
While(1) // 반복문
{
PORTA = 0x01;
//PORT는 출력 레지스터, 1출력(HIGH)
_delay_ms(1000); //1초 딜레이 ( 실제로 딜레이 사용은
좋지 않음, 타이머/인터럽트 공부하기. )
PORTA = 0x00; //0출력
_delay_ms(1000);
}
Return 0; // int형 함수는 반환해줘야 함,
0은 함수를 종료하는 데 아무 이상 없다는 뜻.
}
//pinMode 출력으로 설정
// 반복 ( while과 같은 역할 )
// 한번만 설정하면 됨
// 3번핀 0V 출력
// 3번핀 5V 출력
// 1초 딜레이
45/47
46. AVR이나 ARDUINO중 관심 가는 MCU를 골라서 DATASHEET 찾아 읽어본 후,
궁금한 점 세 가지 이상 조사하기
(한글파일이나, 포스트 형식으로, 분량 자유 – 제대로 안 하면 분량 추가됨)
46/47