ATmega128로 배우는 마이크로컨트롤러 프로그래밍
도서명:ATmega128로 배우는 마이크로컨트롤러 프로그래밍
저자/출판사:허경용/제이펍
쪽수:752쪽
출판일:2016-11-25
ISBN:9791185890692
목차
PART I ATmega128 프로그래밍 준비하기
Chapter1 마이크로컨트롤러 3
1.1 마이크로컨트롤러란 무엇인가? 3
1.2 마이크로프로세서와 마이크로컨트롤러 6
1.3 마이크로컨트롤러는 어디에 사용할 수 있을까? 7
1.4 마이크로컨트롤러를 공부하기 위해서는 무엇이 필요할까? 10
1.5 주변장치와 어떻게 데이터를 교환하나? 14
1.6 프로그램은 어떻게 만들어지나? 19
1.7 마이크로컨트롤러가 꼭 필요한가? 21
1.8 마이크로컨트롤러의 CPU vs. 데스크톱 컴퓨터의 CPU 23
1.9 요약 32
연습 문제 33
Chapter2 ATmega128 소개 34
2.1 AVR 마이크로컨트롤러 34
2.2 ATmega128의 외형적 특징 40
2.3 레지스터 45
2.4 ATmega128의 내부 구조 50
2.5 요약 67
연습 문제 68
Chapter3 개발 환경 설정 69
3.1 아트멜 스튜디오 설치 69
3.2 첫 번째 ATmega128 프로그래밍 72
3.3 요약 86
연습 문제 87
Chapter4 마이크로컨트롤러를 위한 C 언어 88
4.1 C 언어 테스트 환경 89
4.2 프로그램의 기본 구조 94
4.3 마이크로컨트롤러를 위한 C 언어 96
4.4 비트 연산자 117
4.5 요약 127
연습 문제 128
Chapter5 ATmega128 보드 129
5.1 ATmega128 보드의 구성 요소 129
5.2 ATmega128 보드 133
5.3 ATmega128 보드 사용 139
5.4 주변장치 연결 143
5.5 요약 148
연습 문제 149
Chapter6 DIY ATmega128 150
6.1 ATmega128 보드 제작 151
6.2 퓨즈 설정 160
6.3 프로그램 테스트 161
6.4 요약 164
연습 문제 164
PART II ATmega128 프로그래밍 시작하기
Chapter7 디지털 데이터 출력 167
7.1 ATmega128의 데이터 핀 167
7.2 디지털 데이터 출력을 위한 레지스터 169
7.3 블링크 171
7.4 LED 패턴 나타내기 174
7.5 요약 180
연습 문제 180
Chapter8 디지털 데이터 입력 181
8.1 풀업 저항과 풀다운 저항 182
8.2 버튼 입력 186
8.3 버튼으로 LED 시프트하기 191
8.4 디바운스 193
8.5 요약 198
연습 문제 199
Chapter9 UART 시리얼 통신 200
9.1 UART 201
9.2 UART 통신을 위한 레지스터 212
9.3 UART 라이브러리 만들기 221
9.4 문자열 수신 229
9.5 printf와 scanf 함수 사용하기 232
9.6 요약 234
연습 문제 235
Chapter10 아날로그-디지털 변환 236
10.1 ATmega128의 ADC 236
10.2 가변저항 읽기 241
10.3 아날로그-디지털 변환을 위한 레지스터 244
10.4 가변저항으로 LED 제어하기 253
10.5 AVCC는 5V인가? 255
10.6 요약 258
연습 문제 259
Chapter11 아날로그 비교기 260
11.1 아날로그 비교기 260
11.2 아날로그 비교기를 위한 레지스터 263
11.3 2개의 아날로그 입력 비교 267
11.4 요약 268
연습 문제 269
Chapter12 인터럽트 270
12.1 폴링 방식과 인터럽트 방식 270
12.2 인터럽트 272
12.3 인터럽트 처리 275
12.4 인터럽트 사용에서의 주의 사항 281
12.5 외부 인터럽트 284
12.6 요약 290
연습 문제 291
Chapter13 8비트 타이머/카운터 292
13.1 타이머/카운터 292
13.2 오버플로 인터럽트 294
13.3 비교 일치 인터럽트 299
13.4 파형 출력 301
13.5 ASSR 레지스터 306
13.6 실행 시간 알아내기 309
13.7 요약 312
연습 문제 313
Chapter14 16비트 타이머/카운터 314
14.1 16비트 타이머/카운터 314
14.2 오버플로 인터럽트 315
14.3 비교 일치 인터럽트 320
14.4 파형 출력 324
14.5 입력 캡처 329
14.6 요약 333
연습 문제 334
Chapter15 PWM 335
15.1 펄스폭 변조 335
15.2 8비트 타이머/카운터의 PWM 모드 342
15.3 16비트 타이머/카운터의 PWM 모드 347
15.4 PWM을 이용한 LED 밝기 제어 354
15.5 요약 356
연습 문제 357
Chapter16 SPI 358
16.1 SPI 358
16.2 SPI 방식의 EEPROM 363
16.3 요약 378
연습 문제 378
Chapter17 I2C 380
17.1 I2C 380
17.2 DS1307, RTC 칩 384
17.3 요약 401
연습 문제 401
PART III ATmega128 프로그래밍 활용하기
Chapter18 7세그먼트 표시장치 405
18.1 한 자리 7세그먼트 표시장치 405
18.2 네 자리 7세그먼트 표시장치 412
18.3 네 자리 7세그먼트 표시장치에 시간 표시 417
18.4 요약 421
연습 문제 422
Chapter19 디지털 입출력 확장 423
19.1 입출력 확장 423
19.2 74595 칩 425
19.3 74165 칩 431
19.4 MCP23017 436
19.5 요약 441
연습 문제 441
Chapter20 LED 매트릭스 442
20.1 LED 매트릭스 442
20.2 LED 매트릭스 제어 448
20.3 74595 직렬 입력 병렬 출력 이동 레지스터 453
20.4 요약 458
연습 문제 459
Chapter21 키 매트릭스 460
21.1 키 매트릭스 461
21.2 4×4 키 매트릭스 465
21.3 요약 469
연습 문제 470
Chapter22 텍스트 LCD 471
22.1 텍스트 LCD 471
22.2 8비트 모드 텍스트 LCD 제어 475
22.3 4비트 모드 텍스트 LCD 제어 482
22.4 요약 489
연습 문제 490
Chapter23 모터 제어 492
23.1 모터 492
23.2 DC 모터 493
23.3 서보 모터 500
23.4 스텝 모터 504
23.5 요약 515
연습 문제 516
Chapter24 릴레이 517
24.1 릴레이 517
24.2 전기기계식 릴레이 519
24.3 반도체 릴레이 523
24.4 요약 524
연습 문제 524
Chapter25 센서 525
25.1 온도 센서 526
25.2 조도 센서 530
25.3 적외선 거리 센서 533
25.4 초음파 거리 센서 536
25.5 요약 540
연습 문제 541
Chapter26 블루투스 542
26.1 블루투스 모듈 설정 543
26.2 스마트폰 설정 548
26.3 블루투스 통신 552
26.4 요약 553
연습 문제 554
Chapter27 GPS 555
27.1 GPS 555
27.2 NMEA 데이터 분석 559
27.3 요약 565
연습 문제 565
Chapter28 그래픽 LCD 567
28.1 그래픽 LCD 567
28.2 그래픽 LCD 라이브러리 571
28.3 요약 581
연습 문제 582
Chapter29 적외선 통신 584
29.1 적외선 584
29.2 적외선 데이터 포맷 586
29.3 적외선 데이터 디코딩 589
29.4 리모컨으로 LED 제어 593
29.5 요약 595
연습 문제 596
Chapter30 스피커 597
30.1 특정 주파수의 구형파 생성 597
30.2 CTC 모드를 사용한 멜로디 재생 599
30.3 위상 및 주파수 교정 모드를 사용한 멜로디 재생 602
30.4 요약 604
연습 문제 605
Chapter31 EEPROM 606
31.1 EEPROM 레지스터 607
31.2 EEPROM 라이브러리 610
31.3 요약 615
연습 문제 616
Chapter32 워치도그 타이머 618
32.1 워치도그 타이머 618
32.2 워치도그 타이머를 위한 레지스터 621
32.3 워치도그 타이머 사용하기 623
32.4 요약 628
연습 문제 628
Chapter33 퓨즈 비트 630
33.1 하이 퓨즈 631
33.2 로 퓨즈 633
33.3 확장 퓨즈 636
33.4 퓨즈 프로그래밍 637
33.5 요약 639
연습 문제 640
Chapter34 아두이노 641
34.1 아두이노 641
34.2 부트로더 644
34.3 스케치 ? 아두이노를 위한 프로그램 647
34.4 아두이노 개발 환경 설치 650
34.5 아두이노 프로그래밍 653
34.6 ISP 방식 스케치 업로드 656
34.7 아두이노 환경에서 ATmega128 사용하기 659
34.8 요약 663
연습 문제 664
부록A ATmega128 레지스터 669
부록B 마이크로컨트롤러를 위한 전자공학 678
미 주 716
찾아보기 720