목차
Chapter 01 마이크로프로세서의 구조와 기능 = 11
1.1 마이크로프로세서란? = 11
1.1.1 마이크로프로세서의 일반적 특징 = 12
1.1.2 마이크로프로세서의 구성 = 13
1.1.3 CPU의 구조 = 14
1.1.4 기억 장치 = 15
1.2 마이크로프로세서의 분류 = 17
1.2.1 데이터 크기에 따른 분류 = 17
1.2.2 메모리 구성에 따른 분류 = 17
1.2.3 명령어 구조에 따른 분류 = 18
Chapter 02 장비 설명 및 실습 환경 구축 = 21
2.1 WOW-Multi 마이크로프로세서 장비 설명 = 22
2.1.1 장비 기본 사양 = 22
2.1.2 사용 전 주의 사항 = 23
2.2 실습 환경 구축 = 24
2.2.1 AVR Studio 설치 = 24
2.2.2 WinAVR의 설치 = 28
2.2.3 AVRStudio 4 시작하기 = 32
2.3 AVR Studio 4 사용법 = 38
2.3.1 새로운 프로젝트 생성 = 39
2.3.2 프로젝트 옵션 설정 = 41
2.3.3 소스 코드 작성 및 빌드 = 42
Chapter 03 AVR ATmega128의 구조와 기능 = 45
3.1 AVR의 특징 = 46
3.1.1 AVR의 특징 = 46
3.1.2 ATmega128의 특징 = 48
3.2 ATmega128의 핀 기능 = 49
3.2.1 VCC(5V) = 50
3.2.2 GND = 50
3.2.3 포트 A(PA0∼PA7) = 51
3.2.4 포트 B(PB0∼PB7) = 51
3.2.5 포트 C(PC0∼PC7) = 52
3.2.6 포트 D(PD0∼PD7) = 52
3.2.7 포트 E(PE0∼PE7) = 53
3.2.8 포트 F(PF0∼PF7) = 53
3.2.9 포트 G(FG0∼PG4) = 54
3.2.10 Reset = 54
3.2.11 AVCC = 54
3.2.12 AGND = 54
3.2.13 ARFF = 55
3.2.14 XTAL1 = 55
3.2.15 XTAL2 = 55
3.3 ATmega128의 구조 = 56
3.3.1 범용 레지스터 = 58
3.3.2 상태 레지스터(Status Register) - SREG = 59
3.3.3 스택 포인터(Stack Pointer) - SP = 60
3.3.4 RAMPZ 레지스터 = 61
3.3.5 ATmega128의 메모리 구조 = 62
3.3.6 ATmega128의 외부 인터페이스 = 64
3.3.7 MCU 제어 레지스터 - MCUCR = 66
3.3.8 XMCRA 레지스터 = 68
3.3.9 XMCRB 레지스터 = 69
Chapter 04 GPIO (범용 I/O 포트) = 71
4.1 GPIO 포트 관련 레지스터 = 73
4.1.1 포트 Data Direction 레지스터(DDRx) = 73
4.1.2 포트 Data 레지스터(DORTx) = 74
4.1.3 포트 Input Address 레지스터(PINx) = 74
4.2 GPIO 포트 출력 제어를 이용한 LED 구동 실습 = 75
4.2.1 GPIO 포트 제어를 이용한 LED 구동 실습 회로 = 75
4.2.2 LED 기본 지식 = 76
4.2.3 GPIO 포트를 이용한 LED 제어 프로그램 = 77
4.2.4 GPIO 포트를 이용한 LED 제어 프로그램 결과 확인 = 78
4.2.5 GPIO 포트 비트 제어 LED 프로그램 = 78
4.2.6 GPIO 포트 비트 제어 LED 프로그램 결과 확인 = 80
4.3 GPIO 포트 출력 제어를 이용한 FND 구동 실습 = 80
4.3.1 GPIO 포트 제어를 이용한 FND 구동 실습 회로 = 80
4.3.2 FND 기본 지식 = 80
4.3.3 GPIO 포트를 이용한 FND 제어 프로그램 = 82
4.3.4 GPIO 포트를 이용한 FND 제어 프로그램 결과 확인 = 84
4.4 GPIO 포트 출력 제어를 이용한 TEXT LCD 구동 실습 = 85
4.4.1 GPIO 포트 제어를 이용한 Text LCD 구동 실습 회로 = 85
4.4.2 TEXT LCD 기본 지식 = 85
4.4.3 GPIO 포트를 이용한 TEXT LCD 제어 프로그램 = 95
4.4.4 GPIO 포트를 이용한 TEXT LCD 제어 프로그램 결과 확인 = 101
4.5 GPIO 포트 입력 제어를 이용한 DIP Switch 제어 실습 = 102
4.5.1 GPIO 포트 제어를 이용한 DIP Switch 구동 실습 회로 = 102
4.5.2 DIP Switch 기본 지식 = 103
4.5.3 GPIO 포트를 이용한 DIP Switch 제어 프로그램 = 103
4.5.4 GPIO 포트를 이용한 DIP Switch 제어 프로그램 결과 확인 = 105
4.6 GPIO 포트 출력 제어를 이용한 Relay 제어 실습 = 106
4.6.1 GPIO 포트 제어를 이용한 Relay 구동 실습 회로 = 106
4.6.2 Relay 기본 지식 = 106
4.6.3 GPIO 포트를 이용한 Relay 제어 프로그램 = 107
4.6.4 GPIO 포트를 이용한 Relay 제어 프로그램 결과 확인 = 108
Chapter 05 인터럽트 = 109
5.1 인터럽트 개념 = 110
5.2 외부 인터럽트 = 111
5.3 외부 인터럽트 관련 레지스터 = 113
5.3.1 외부 인터럽트 제어 레지스터 A - EICRA = 113
5.3.2 외부 인터럽트 제어 레지스터 B - EICRB = 114
5.3.3 외부 인터럽트 마스크 레지스터 - EIMSK = 115
5.3.4 외부 인터럽트 플래그 레지스터 - EIFR = 115
5.4 외부 인터럽트의 하강 에지 감지 실습 = 116
5.4.1 외부 인터럽트 하강에지 감지 실습 회로 = 116
5.4.2 외부 인터럽트 하강에지 감지 실습 프로그램 = 117
5.4.3 외부 인터럽트 하강에지 감지 프로그램 결과 확인 = 120
Chapter 06 타이머 및 카운터 = 121
6.1 타이머/카운터 0 = 122
6.1.1 타이머/카운터 0 제어 레지스터 - TCCR0 = 124
6.1.2 타이머/카운터 0 레지스터 - TCNT0 = 126
6.1.3 타이머/카운터 0 출력 비교 레지스터 - OCR0 = 126
6.1.4 비동기 상태 레지스터 - ASSR = 127
6.1.5 특수 목적 I/O 레지스터 -SFIOR = 128
6.1.6 타이머/카운터 인터럽트 마스크 레지스터 - TIMSK = 129
6.1.7 타이머/카운터 인터럽트 플래그 레지스터 - TIFR = 130
6.1.8 타이머/카운터 0 동작 모드 = 132
6.1.9 타이머/카운터 0 동작 타이밍 = 137
6.2 타이머/카운터 2 = 138
6.2.1 타이머/카운터 2 제어 레지스터 - TCCR2 = 139
6.2.2 타이머/카운터 2 레지스터 - TCNT2 = 141
6.2.3 타이머/카운터 2 출력 비교 레지스터 - OCR2 = 141
6.2.4 타이머/카운터 2 동작 모드 = 142
6.2.5 타이머/카운터 2 동작 타이밍 = 146
6.3 타이머/카운터 1과 3 = 147
6.3.1 타이머/카운터 제어 레지스터 A - TCCRIA, TCCR3A = 149
6.3.2 타이머/카운터 제어 레지스터 B - TCCRIB, TCCR3B = 151
6.3.3 타이머/카운터 제어 레지스터 C - TCCRIC, TCCR3C = 152
6.3.4 타이머/카운터 레지스터 - TCNT1H/L, TCNT3H/L = 153
6.3.5 타이머/카운터 출력 비교 레지스터 - OCR1xH/L, OCR3xH/L = 153
6.3.6 타이머/카운터 입력 비교 레지스터 - 1CR1H/L, 1CR3H/L = 154
6.3.7 타이머/카운터 1, 3 동작 모드 = 155
6.3.8 타이머/카운터 1과 3 동작 타이밍 = 160
6.4 타이머/카운터를 이용한 LED 제어 실습 =161
6.4.1 타이머/카운터를 이용한 LED 구동 실습 회로 = 161
6.4.2 타이머/카운터를 이용한 LED 제어 실습 프로그램 = 161
6.4.3 타이머/카운터를 이용한 LED 제어 실습 프로그램 결과 확인 = 163
6.5 타이머/카운터를 이용한 초음파센서 제어 실습 = 164
6.5.1 타이머/카운터를 이용한 초음파센서 구동 실습 회로 = 164
6.5.2 초음파 센서(Ultrasonic Sensor) 기본 지식 = 165
6.5.3 타이머/카운터를 이용한 초음파센서 제어 실습 프로그램 = 166
6.5.4 타이머/카운터를 이용한 초음파센서 제어 실습 프로그램 결과 확인 = 173
6.6 PWM을 이용한 PIEZO 제어 실습 = 174
6.6.1 PWM을 이용한 PIEZO 구동 실습 회로 = 174
6.6.2 PWM을 이용한 PIEZO 제어 실습 프로그램 = 174
6.6.3 PWM을 이용한 PIEZO 제어 실습 프로그램 결과 확인 = 177
Chapter 07 Analog-to-Digital 컨버터 = 179
7.1 A/D 컨버터 관련 레지스터 = 184
7.1.1 ADMUX Register = 184
7.1.2 ADC Data Register(ADCH and ADCL) = 187
7.1.3 ADCSRA(ADC Control and Status Register A) 레지스터 = 188
7.2 A/D 컨버터를 이용한 CDS 센서 실습 = 190
7.2.1 A/D 컨버터를 이용한 CDS 센서 제어 실습 회로 = 190
7.2.2 CDS 센서 기본 지식 = 190
7.2.3 A/D 컨버터를 이용한 CDS 센서 실습 프로그램 = 193
7.2.4 A/D 컨버터를 이용한 CDS 센서 실습 프로그램 결과 확인 = 197
Chapter 08 범용 등기/비동기 시리얼 통신 -USART = 199
8.1 USART 통신 = 205
8.2 USART 관련 레지스터 = 208
8.2.1 UDF(USTART I/O Data Register) 및 UDRn 레지스터 = 208
8.2.2 UCSRA(USTART Control and Status Regiter A) = 209
8.2.3 UCSRB(USTART Control and Status Regiter B) = 211
8.2.4 UCSRC 레지스터(USTART Control and Status Register C) = 213
8.2.5 UBRFH/L 레지스터(USTART Baud Rate Register) = 216
8.3 UART 통신 Loopback 실습 = 218
8.3.1 UART 통신 Loopback 실습 회로 = 218
8.3.2 UART 시리얼 통신 Loopback 실습 프로그램 = 220
8.3,3 UART 시리얼 통신 Loopback 실습 프로그램 결과 확인 = 221
Chapter 09 스탭 모터 제어 = 223
9.1 스탭 모터 구동 방식 = 225
9.2 스탭 모터 구동 실습 = 228
9.2.1 스탭 모터 구동 실습 회로 = 228
9.2.2 스탭 모터 구동 실습 프로그램 = 229
9.2.3 스탭 모터 구동 실습 프로그램 결과 확인 = 233