ATmega328 프로그래밍
도서명:ATmega328 프로그래밍
저자/출판사:허경용/제이펍
쪽수:544쪽
출판일:2015-07-29
ISBN:9791185890258
목차
I부 ATmega328 프로그래밍 준비하기
1장 마이크로컨트롤러? 마이크로컨트롤러! 3
1.1 마이크로컨트롤러란 무엇인가? 3
1.2 마이크로프로세서? 마이크로컨트롤러? 6
1.3 마이크로컨트롤러는 어디에 사용할 수 있을까? 8
1.4 마이크로컨트롤러를 어떻게 공부해야 할까? 11
1.5 주변장치와 어떻게 데이터를 교환하나? 14
1.6 프로그램은 어떻게 만들어지나? 18
1.7 마이크로컨트롤러가 꼭 필요한가? 19
1.8 요약 21
연습문제 22
2장 메모리 이야기 23
2.1 ATmega328의 메모리 23
2.2 ROM과 RAM 25
2.3 ROM은 정말 읽을 수만 있나? 26
2.4 플래시 메모리 27
2.5 SD 카드 28
2.6 eMMC 29
2.7 SSD 30
2.8 DRAM과 SRAM 30
2.9 요약 32
연습문제 33
3장 ATmega328 마이크로컨트롤러 34
3.1 AVR 34
3.2 ATmega328 소개 35
3.3 ATmega328의 핀 배치 37
3.4 레지스터 41
3.5 ATmega328의 메모리 45
3.6 요약 52
연습문제 52
4장 ATmega328 프로그래밍 준비 53
4.1 왜 ATmega328인가? 53
4.2 ATmega328 프로그래밍을 위한 하드웨어 54
4.3 ATmega328 프로그래밍을 위한 소프트웨어 59
4.4 요약 61
연습문제 62
5장 아두이노 프로그래밍 63
5.1 아두이노 통합 개발 환경 설치 63
5.2 아두이노 우노에 시리얼 방식으로 업로드하기 66
5.3 아두이노 우노에 ISP 방식으로 업로드하기 69
5.4 부트로더 굽기 72
5.5 브레드 보드 기본 회로에 부트로더 굽기 74
5.6 요약 76
연습문제 77
6장 아트멜 스튜디오 설치 78
6.1 아트멜 스튜디오 78
6.2 아트멜 스튜디오 설치 79
6.3 요약 87
연습문제 88
7장 Hello Blink 89
7.1 C 스타일 89
7.2 아두이노 스타일 97
7.3 C 스타일 대 아두이노 스타일 107
7.4 요약 109
연습문제 109
8장 프로그램의 기본 구조 111
8.1 C 스타일 프로그램의 구조 112
8.2 아두이노 스타일 프로그램의 구조 117
8.3 C 스타일과 아두이노 스타일 120
8.4 요약 122
연습문제 123
9장 비트 연산자 124
9.1 포트? 핀? 124
9.2 8개의 LED 제어하기 126
9.3 비트 연산자 130
9.4 비트 패턴 만들기 141
9.5 요약 143
연습문제 143
II부 ATmega328 프로그래밍 시작하기
10장 시리얼 통신 147
10.1 UART 148
10.2 UART 통신을 위한 레지스터 151
10.3 아두이노의 시리얼 통신 163
10.4 UART 라이브러리 만들기 167
10.5 문자열 수신 및 처리 173
10.6 printf 함수 사용하기 177
10.7 요약 179
연습문제 180
11장 버튼 입력 181
11.1 풀업 저항과 풀다운 저항 182
11.2 버튼 입력 184
11.3 디바운스 188
11.4 디바운스 회로 193
11.5 요약 195
연습문제 196
12장 아날로그-디지털 변환 197
12.1 ATmega328의 ADC 197
12.2 가변저항 값 읽기 199
12.3 AD 변환을 위한 레지스터 202
12.4 아두이노의 AD 변환 208
12.5 가변저항으로 LED 제어하기 209
12.6 VCC는 5V인가? 212
12.7 난수 생성 216
12.8 요약 219
연습문제 220
13장 인터럽트 221
13.1 폴링 대 인터럽트 221
13.2 인터럽트 223
13.3 인터럽트 처리 225
13.4 인터럽트 사용에서의 주의 사항 230
13.5 외부 인터럽트 232
13.6 핀 변화 인터럽트 238
13.7 요약 242
연습문제 242
14장 타이머/카운터 243
14.1 타이머/카운터 243
14.2 오버플로 인터럽트 245
14.3 비교일치 인터럽트 248
14.4 파형 출력 252
14.5 아두이노의 타이머 255
14.6 요약 259
연습문제 260
15장 PWM 262
15.1 PWM 262
15.2 PWM 모드 268
15.3 PWM을 이용한 LED 밝기 제어하기 273
15.4 아두이노의 PWM 279
15.5 요약 281
연습문제 282
16장 SPI 283
16.1 SPI 283
16.2 SPI 방식의 EEPROM 288
16.3 아두이노에서 25LC010A 사용하기 300
16.4 요약 303
연습문제 304
17장 I2C 307
17.1 I2C 307
17.2 DS1307, RTC 칩 311
17.3 아두이노 ? Wire 라이브러리 323
17.4 아두이노 ? RTClib 라이브러리 327
17.5 요약 329
연습문제 330
18장 컴퓨터와의 시리얼 연결 331
18.1 ATmega328의 UART 통신 331
18.2 RS232-UART 변환기 335
18.3 USB-UART 변환기 339
18.4 컴퓨터의 시리얼 포트 340
18.5 요약 344
연습문제 345
III부 ATmega328 활용하기
19장 7 세그먼트 표시장치 349
19.1 한 자리 7 세그먼트 표시장치 349
19.2 한 자리 7 세그먼트 표시장치 ? 아두이노 스타일 356
19.3 네 자리 7 세그먼트 모듈 358
19.4 네 자리 7 세그먼트 표시장치 ? 아두이노 스타일 365
19.5 요약 366
연습문제 367
20장 LED 매트릭스 368
20.1 LED 매트릭스 368
20.2 LED 매트릭스 제어 374
20.3 LED 매트릭스 제어 ? 아두이노 스타일 381
20.4 요약 382
연습문제 383
21장 텍스트 LCD 384
21.1 텍스트 LCD 384
21.2 8비트 모드 텍스트 LCD 제어 388
21.3 4비트 모드 텍스트 LCD 제어 394
21.4 텍스트 LCD 제어 - 아두이노 스타일 401
21.5 요약 405
연습문제 406
22장 키 매트릭스 408
22.1 키 매트릭스 409
22.2 4×4 키 매트릭스 413
22.3 키 매트릭스 ? 아두이노 스타일 418
22.4 키패드 라이브러리 419
22.5 고스트 현상이 없는 키 매트릭스 422
22.6 요약 427
연습문제 428
23장 DC 모터와 서보 모터 429
23.1 모터 429
23.2 DC 모터 430
23.3 모터 제어 434
23.4 서보 모터 437
23.5 서보 모터 제어 440
23.6 아두이노의 서보 모터 제어 444
23.7 요약 447
연습문제 447
24장 직렬 입력 병렬 출력 레지스터 - 74595 448
24.1 74595 449
24.2 아두이노에서 74595 사용하기 456
24.3 요약 458
연습문제 458
25장 센서 459
25.1 온도 센서 460
25.2 초음파 거리 센서 465
25.3 요약 471
연습문제 471
26장 블루투스 472
26.1 블루투스 모듈 설정 473
26.2 스마트폰 설정 476
26.3 블루투스 통신 480
26.4 아두이노의 블루투스 통신 481
26.5 요약 485
연습문제 485
27장 EEPROM 486
27.1 EEPROM 레지스터 487
27.2 EEPROM 라이브러리 ? GNU 라이브러리 490
27.3 EEPROM 라이브러리 ? 아두이노 스타일 495
27.4 요약 496
연습문제 497
28장 워치독 타이머 499
28.1 워치독 타이머를 위한 레지스터 500
28.2 워치독 타이머 사용하기 503
28.3 워치독 타이머 사용하기 ? 아두이노 스타일 507
28.4 요약 509
연습문제 509
29장 퓨즈 비트 511
29.1 하이 퓨즈 512
29.2 로 퓨즈 514
29.3 확장 퓨즈 518
29.4 퓨즈 프로그래밍 519
29.5 요약 522
연습문제 522
부록 ATmega328 입출력 레지스터 523
미주 531
찾아보기 534
필요 부품 리스트 543