마이크로컨트롤러의 이해와 활용을 위한 친절한 커리큘럼!
ATmega128로 마이크로컨트롤러 시작하기!
출판사 제이펍
지은이 허경용
출판일 2016년 11월 25일
페이지 752쪽
시리즈 테크러닝 시리즈 03
판 형 46배판변형(188*235*35)
제 본 무선(soft cover)
정 가 33,000원
ISBN 979-11-85890-69-2 (93560)
키워드 마이크로컨트롤러 / 사물인터넷(IoT) / ATmega128 / ATmega / Atmega 128 /C 언어 / 아두이노
분 야 하드웨어 / 마이크로컨트롤러
관련 사이트
■ 저자 운영 카페
관련 포스트
■ 2016/11/17 - [출간전 책소식] - 제대로 만든 ATmega128 마이크로컨트롤러 교과서
관련 시리즈
관련 도서
관련 파일 다운로드
■ + 기호로 표시된 연습문제 해답
■ 예제 코드
■ 저자 제공 이미지(교정 전 이미지라 책과 다소 다를 수 있습니다.)
강의보조 자료
교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com
■ 강의교안(ppt)
■ 본문의 그림과 표
■ 연습문제 해답(+ 기호로 표시된 문제만 해답 제공)
샘플 PDF(차례, 강의를 위한 안내, 머리말, 장별 안내, 베타리더 후기, 1장 마이크로컨트롤러, 2장 ATmega128 소개)
정오표 페이지
도서구매 사이트(가나다순)
도서 소개
마이크로컨트롤러의 이해와 활용을 위한 친절한 커리큘럼!
ATmega128로 마이크로컨트롤러 시작하기!
이 책은 아트멜의 AVR 시리즈 마이크로컨트롤러 중 하나인 ATmega128을 이해하고 활용하는 방법을 다룬다. ATmega128은 간단한 하드웨어 구조와 프로그래밍 방식으로, 대표적인 8비트 마이크로컨트롤러의 하나로 자리매김하고 있다. 이 책을 통해 독자는 ATmega128 마이크로컨트롤러와 친숙해짐은 물론, 다른 종류의 마이크로컨트롤러를 이해하고 응용할 수 있는 기반을 마련할 수 있으며, 마이크로컨트롤러를 통해 주변 환경과 상호 작용하는 방법을 발견할 수 있을 것이다.
이 책에서 다루는 내용
- ATmega128 프로그래밍 준비하기
ATmega128을 이해하고, ATmega128을 위한 프로그램을 작성하기 위해 필요한 하드웨어 및 소프트웨어에 대해 알아본다.
- ATmega128 프로그래밍 시작하기
디지털 및 아날로그 데이터 입출력 방법, 다양한 시리얼 통신 방법, 8비트 및 16비트 타이머/카운터, 인터럽트 처리 등 ATmega128에서 제공하고 있는 기본 기능을 알아본다.
- ATmega128 활용하기
ATmega128과 함께 흔히 사용되는 7세그먼트, 텍스트 LCD, 모터, 센서, 블루투스 등 다양한 주변장치의 특징과 사용 방법을 알아본다.
저자 소개
허경용
연세대학교 전자공학과 학사와 동(同)대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중이다. 저서로는 《따라 하면서 배우는 아두이노》(2016), 《사물인터넷을 품은 아두이노》(2016), 《아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍》(2015), 《핵심 예제로 배우는 아두이노 프로그래밍》(2015), 《아두이노 상상을 스케치하다》(2014)가 있다.
차례
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
'도서 소개' 카테고리의 다른 글
좀비 아포칼립스: 오픈 하드웨어를 이용한 인류 생존 가이드 (0) | 2016.12.06 |
---|---|
라라벨로 배우는 실전 PHP 웹 프로그래밍 (0) | 2016.12.06 |
아이폰 이후의 UX (0) | 2016.11.18 |
딥 러닝 제대로 시작하기 (2) | 2016.10.11 |
오픈스택 기반의 프라이빗 클라우드 서비스: 기획에서 구축과 운영까지 (2) | 2016.10.07 |