마이크로프로세서응용

(2017년 1학기 개설)

마이크로프로세서의 구조와 프로그래밍에 대한 내용을 중심으로 마이크로프로세서를 이용한 시스템 설계에 필요한 지식을 교육한다. 마이크로프로세서의 하드웨어, instruction set, 각종 주변 장치, 인터럽트 등에 대한 내용을 교육하며 이와 관련된 예제들을 실습한다. 또한 이와 같은 지식을 종합적으로 활용하여 좀더 복잡한 소프트웨어를 설계하기 위한 설계 프로젝트가 주어진다.

교육 목표:
1. 마이크로프로세서의 구조 및 주변 장치에 대한 이해
2. 마이크로프로세서 프로그래밍에 대한 교육

평가: 중간 시험 35%, 기말 시험 35%, 실험 보고서 10%, 출석 10%, 설계 과제 10%
선수과목 : 프로그래밍 실습

교재:
ATmega128_Manual.pdf

참고문헌:
ATmega128 한글 자료
마이크로컨트롤러 AVR ATmega128, 한빛 미디어

AVR Studio 4.13 and WinAVR
AVR Studio 4.14
AVR Studio 4.17
AVR Studio 4.18
AVR Studio 4.19
위의 링크에서 다운로드가 안될 경우, FTP 서버 주소 ftp://ccrs.hanyang.ac.kr 에서도 다운로드 가능합니다. Windows 탐색기의 주소창에 ftp://ccrs.hanyang.ac.kr를 입력하고 엔터키를 치면 사용자이름과 암호를 묻는 창이 나옵니다. FTP계정은 사용자이름:control, 암호:control 입니다.

AVR Studio 4를 Windows 8/10에서 사용시 빌드 오류가 발생할 수 있다고 합니다. 해결책으로는 이 파일의 압축을 풀어서 나오는 파일을 C:\WinAVR-20100110\utils\bin 폴더에 복사하면 된다고 합니다. 또는 AVR Studio 6/7 을 설치해서 toolchain을 WinAVR로 설정하여 사용하는 방법도 있고, 함께 설치되는 Atmel toolchain을 그대로 사용해도 대부분의 프로그램은 큰 문제없이 빌드가 됩니다. 그러나 AVR Studio/Atmel Studio의 최신 버전들이 필요 이상으로 무거워서 설치에 시간이 오래 걸리는 등의 불편함이 있습니다. ATmega128만 사용할 경우는 AVR Studio 4를 사용해도 충분하며 최신 윈도우 버전에서도 많이 사용하고 있습니다. AVR Stuido 4의 유일한 단점은 소스 코드 편집기의 기능이 기본적인 기능만 있는 점인데 아래와 같은 외부 편집기를 사용하면 불편함을 보완할 수 있습니다.

Source File Editor: AVR Studio의 source file editor의 기능이 불편할 경우 별도의 무료 에디터 프로그램인 Notepad++ 사용을 권장합니다.
npp.7.2.2.Installer.exe

마이크로콘트롤러 시장 최신 뉴스1
마이크로콘트롤러 시장 최신 뉴스2

실습 보고서 양식:report_form_kor.doc
보고서는 보고서 제출이 명시된 실습에 대해서만 제출하며, 실습이 완료된 후 1주일 이내에 이메일(limdj@hanyang.ac.kr)로 제출하십시오. 실습은 팀원과 함께 하여도 보고서는 각자 작성하여 제출해야합니다. 팀원과 보고서의 내용이 같을 경우 인정이 인되거나 감점이 있을 수 있습니다. 보고서를 이메일로 제출할 때, 이메일의 제목은 [LAB번호]제출자이름-마이크로프로세서응용으로 하십시오. 파일명은 Lab번호_이름.doc 또는 Lab번호_이름.hwp 로 하십시오. 예를 들면 파일명은 Lab2_홍길동.doc, 이메일 제목은 [Lab2]홍길동-마이크로프로세서응용입니다. 이 규칙을 지키지 않을 경우 제출하지 않은 것으로 간주될 수 있습니다. (학교 메일 계정을 통해서 Outlook 프로그램으로 메일 수신을 하므로 웹메일 계정의 메일 읽음 확인이 안될 수 있습니다. 따라서 메일 읽음 확인이 안되어도 메일을 읽지 않은 것은 아닙니다.)


주별 강의계획
실험실: 4공학관 514호

Week

강의 및 실습 내용

자료

1

Introduction to Microcontrollers
LAB1: AVR Studio, Led & Key

실습실에 오기 전에 홈페이지에 게시된 실습 자료를 다운로드 받아서 USB메모리에 저장하여 가져오기 바랍니다.

Microcontroller.pdf
Lab1.zip
보고서 없음

2

AVR ATmega128 Introduction
LAB2: Debugging, Memory access, Toggle Key

AVR.pdf
Lab2.zip
보고서 제출

3

AVR C Programming Language
LAB3: Seven-segment Display

AVRC.pdf
Lab3.zip
보고서 제출

4

ATmega128 I/O Ports
LAB4: Character LCD

IOPorts.pdf
Lab4.zip
보고서 제출

5

Interrupts
LAB5: 인터럽트를 이용한 카운터

Interrupts.pdf
Lab5.zip
보고서 제출

6

8bit Timer/Counter
LAB6: Timer를 이용한 스톱워치/초음파 센서

Timer.pdf
Lab6.zip
보고서 제출

7

16bit Timer/Counter
LAB6: Timer를 이용한 스톱워치(계속)

Timer.pdf

8

중간 시험

4월24일(월) 오후 6시 1공학관 401호

9

Assembly Language Programming
LAB7: Assembly Language Programming 1

Assembler.pdf
AVRInstructionManual.pdf
Lab7.zip
보고서 제출

10

Assembly Language Programming
LAB8: Assembly Language Programming 2

Lab8.zip
보고서 제출

11

AD 변환기
LAB9: ADC & PWM

Analog.pdf
Lab9.zip
보고서 없음

12

시리얼 통신
LAB10: Serial Port

Serial.pdf
Lab10.zip
보고서 없음

13

Reserved

TBA

14

Introduction to Embedded Software Engineering
LAB: Software Project

SoftwareEngineering.pdf
Project.pdf
보고서 제출: TBA
프로젝트 보고서 제출 시 메모리 사용량은 optimization 기능을 끈 상태(Project 메뉴의 Configuration Options를 선택한 후 Optimization 을 -O0 로 선택) 로 컴파일하여 제출.

15

Software Project LAB: Software Project

보고서제출마감:
2017년6월18일(일)오후11시59분

16

기말 시험

2017년6월19일(월)오후6:00-7:30
1공학관501호