본문내용 바로가기

KYOBO 교보문고

sam X 갤럭시탭 s pen 한정판매
[보라]인싸작가님만나
2020다이어리
북모닝 12주년 이벤트
  • 수요낭독공감 11월 행사
  • 제5회 교보손글쓰기대회 수상작 전시
AVR ATmega128 마이크로컨트롤러 활용(WinAVR 컴파일러를 사용한)(3판)
* 중고장터 판매상품은 판매자가 직접 등록/판매하는 상품으로 판매자가 해당상품과 내용에 모든 책임을 집니다. 우측의 제품상태와 하단의 상품상세를 꼭 확인하신 후 구입해주시기 바랍니다.
| 규격外
ISBN-10 : 1156006392
ISBN-13 : 9791156006398
AVR ATmega128 마이크로컨트롤러 활용(WinAVR 컴파일러를 사용한)(3판) 중고
저자 이인석 | 출판사 홍릉과학출판사
정가
35,000원
판매가
33,250원 [5%↓, 1,750원 할인]
배송비
2,500원 (판매자 직접배송)
지금 주문하시면 2일 이내 출고 가능합니다.
토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.
2019년 2월 27일 출간
제품상태
상태 최상 외형 최상 내형 최상
이 상품 최저가
33,250원 다른가격더보기
  • 33,250원 책책북북 특급셀러 상태 최상 외형 최상 내형 최상
새 상품
33,250원 [5%↓, 1,750원 할인] 새상품 바로가기
수량추가 수량빼기
안내 :

중고장터에 등록된 판매 상품과 제품의 상태는 개별 오픈마켓 판매자들이 등록, 판매하는 것으로 중개 시스템만을 제공하는
인터넷 교보문고에서는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다.

교보문고 결제시스템을 이용하지 않은 직거래로 인한 피해 발생시, 교보문고는 일체의 책임을 지지 않습니다.

중고책 추천 (판매자 다른 상품)

더보기

판매자 상품 소개

※ 해당 상품은 교보문고에서 제공하는 정보를 활용하여 안내하는 상품으로제품 상태를 반드시 확인하신 후 구입하여주시기 바랍니다.

판매자 배송 정책

  • 토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.

더보기

구매후기 목록
NO 구매후기 구매만족도 ID 등록일
25 좋습니다 책상태도 좋아요 5점 만점에 5점 77ka*** 2019.11.12
24 감솨합니다^^ 고맙습니다~!! 5점 만점에 5점 cmw1*** 2019.11.09
23 `1234567890 5점 만점에 5점 p3*** 2019.11.08
22 잘 받았습니다. 책 상태 좋네요 5점 만점에 5점 rkd*** 2019.11.06
21 책상태 좋았고, 배송일도 2일내로 빨리 도착했습니다. 5점 만점에 5점 ahndr*** 2019.10.29

이 책의 시리즈

책 소개

상품구성 목록
상품구성 목록

▶ 이 책은 AVR을 다룬 이론서입니다.

저자소개

목차

제1부 AVR ATmega128 마이크로컨트롤러
CHAPTER 01 개요··································································································· 3
CHAPTER 02 미리 알아두어야 할 일반적 사항····················································· 7
2.1 이진수(Binary Number), 16진수(Hexadecimal Number) ···································· 7
2.2 데이터의 단위····································································································· 9
2.3 데이터의 표시··································································································· 10
2.4 보수를 사용한 음수의 표시·············································································· 11
2.5 오버플로와 언더플로························································································· 14
2.6 마이크로컴퓨터의 구조····················································································· 16
2.7 메모리················································································································ 18
2.8 CPU와 메모리의 데이터 교환·········································································· 21
2.9 CPU와 입출력 장치의 데이터 교환································································· 22
2.10 메모리 액세스의 구조····················································································· 22
2.11 프로그램의 수행 및 프로그램 언어······························································· 24
CHAPTER 03 AVR ATmega128 마이크로컨트롤러········································ 29
3.1 ATmega128의 특징··························································································· 29
3.2 핀의 기능·········································································································· 32
3.3 레지스터············································································································ 34
3.4 메모리················································································································ 36
3.4.1 In-system Reprogrammable FLASH 프로그램 메모리························· 36

3.4.2 데이터 메모리························································································ 37
3.4.3 EEPROM 메모리··················································································· 39
CHAPTER 04 ATmega128 보드········································································ 43
4.1 실습 보드·········································································································· 43
4.2 AVR Programmer ······························································································ 47
CHAPTER 05 개발 환경························································································ 49
5.1 개발에 필요한 소프트웨어················································································ 49
5.2 Atmel Studio 7 설치························································································ 51
5.3 프로그램 개발 과정·························································································· 52
5.4 WinAVR 컴파일러···························································································· 53
5.4.1 데이터 형······························································································· 53
5.4.2 I/O 레지스터 읽기/쓰기········································································· 54
5.5 Atmel Studio 7 사용하기················································································· 55
5.5.1 프로젝트 만들기···················································································· 55
5.5.2 프로젝트에 파일 추가/삭제/수정하기···················································· 60
5.5.3 프로젝트 컴파일/빌드하기····································································· 63
5.5.4 타깃 보드에 프로그램 다운로드··························································· 64
5.5.5 타깃 보드의 Fuse 세팅········································································· 66
5.6 타깃 보드 설치 및 실습 회로 구성································································· 67
제2부 C-언어를 사용한 마이크로컨트롤러 활용 기초
CHAPTER 06 입출력 포트(I/O Ports) ······························································· 71
6.1 LED 점등 회로 및 스위치 입력 회로····························································· 71
6.1.1 LED 점등 회로······················································································ 71
6.1.2 스위치 입력 회로·················································································· 72
6.2 입출력 포트 관련 레지스터·············································································· 73
6.3 단순 LED 점등 실습························································································ 77
6.4 패턴을 변경해 가면서 LED 점등···································································· 81
6.5 라이브러리 함수를 사용한 시간 지연 함수 구성············································ 89
x
6.6 스위치 입력 실습······························································································ 93
6.7 도트 매트릭스에 글자 표시하기····································································· 100
CHAPTER 07 인터럽트(Interrupt) ·································································· 103
7.1 인터럽트 메커니즘·························································································· 103
7.2 ATmega128의 인터럽트·················································································· 105
7.2.1 인터럽트 벡터······················································································ 105
7.2.2 인터럽트의 허용/금지·········································································· 107
7.2.3 인터럽트 처리 과정과 인터럽트 플래그(flag) ···································· 107
7.3 WinAVR에서 인터럽트 사용·········································································· 108
7.4 외부 인터럽트································································································· 109
7.5 인터럽트를 사용한 LED 패턴 이동······························································· 112
7.5.1 스위치 인터럽트를 사용한 LED 패턴 이동(I) ··································· 112
7.5.2 스위치 인터럽트를 사용한 LED 패턴 이동(II) ·································· 123
CHAPTER 08 타이머/카운터(I) : 8비트 타이머/카운터···································· 129
8.1 ATmega128의 타이머/카운터·········································································· 129
8.2 Pulse Width Modulation(PWM) 신호····························································· 129
8.3 8비트 타이머/카운터 0과 타이머/카운터 2 ···················································· 131
8.3.1 8비트 타이머/카운터 0, 2의 개략도··················································· 131
8.3.2 관련 레지스터······················································································ 133
8.3.3 동작 모드····························································································· 138
8.4 8비트 타이머/카운터 실습·············································································· 143
8.4.1 주기적으로 LED 패턴 이동하기························································· 143
8.4.2 PWM 신호로 LED 밝기 조절하기····················································· 151
CHAPTER 09 7-세그먼트의 동적 표시····························································· 155
9.1 동작 원리········································································································· 155
9.2 쌍극 트랜지스터를 사용한 스위칭································································· 157
9.3 7-세그먼트의 동적 표시·················································································· 158
9.4 동적 표시 프로그램 I ····················································································· 161
9.5 동적 표시 프로그램 II-타이머/카운터 인터럽트 사용··································· 171
xi
CHAPTER 10 스위치 조작 및 키패드 입력························································ 179
10.1 푸시 버튼 조작······························································································ 179
10.1.1 버튼 조작 프로그램(I) ····································································· 179
10.1.2 버튼 조작 프로그램(II) ···································································· 189
10.2 키패드 입력받기···························································································· 194
10.3 엔코더 스위치 입력받기··············································································· 203
10.3.1 증분형 로터리 엔코더(Incremental Rotary Encoder) ························ 203
10.3.2 엔코더 스위치 입력 받기·································································· 204
CHAPTER 11 Liquid Crystal Display(LCD) 장치···································· 213
11.1 개요················································································································ 213
11.2 HD44780 LCD 드라이버·············································································· 214
11.2.1 내부구조··························································································· 214
11.2.2 LCD 명령························································································· 218
11.2.3 LCD 인터페이스·············································································· 218
11.2.4 초기화······························································································· 220
11.3 LCD 제어 프로그램······················································································ 221
11.3.1 모듈화 프로그래밍··········································································· 221
11.3.2 프로그램 설계·················································································· 222
11.3.3 내부 함수 작성················································································ 223
11.3.4 LCD 모듈 함수 작성······································································· 228
11.3.5 파일 작성························································································· 235
11.4 실습················································································································ 241
CHAPTER 12 타이머/카운터(II) : 16비트 타이머/카운터································· 247
12.1 16비트 타이머/카운터 1과 타이머/카운터 3 ················································ 247
12.1.1 16비트 타이머/카운터의 개략도······················································ 248
12.1.2 관련 레지스터·················································································· 248
12.1.3 16비트 레지스터 조작····································································· 255
12.1.4 동작 모드························································································· 257
12.2 16비트 타이머/카운터 실습··········································································· 263
12.2.1 주기적으로 LED 패턴 이동하기····················································· 263
xii
12.2.2 간단한 시계 만들기········································································· 271
12.2.3 PWM 신호로 2색 LED 색상 조절하기·········································· 274
12.3 출력 비교 변조기(Output Compare Modulator) ··········································· 278
CHAPTER 13 타이머/카운터(III) :주파수 측정················································ 283
13.1 개요················································································································ 283
13.2 555 타이머를 사용하여 펄스 만들기··························································· 283
13.2.1 단안정 동작(Monostable Operation) ················································ 283
13.2.2 비안정 동작(Astable Operation) ······················································ 284
13.3 펄스 주파수 측정-방법 1 ·············································································· 285
13.3.1 측정 방법························································································· 285
13.3.2 프로그램··························································································· 286
13.3.3 실습·································································································· 290
13.4 입력 캡처를 사용한 펄스 주파수 측정-방법 2 ············································ 291
13.4.1 입력 캡처 유닛················································································ 291
13.4.2 측정 방법 및 프로그램···································································· 292
13.4.3 측정 정확도 향상을 위한 프로그램 수정······································· 296
13.5 입력 캡처를 사용한 펄스폭 및 듀티비 측정··············································· 299
CHAPTER 14 RC 서보모터 구동······································································· 303
14.1 RC 서보모터·································································································· 303
14.2 PWM 채널을 사용한 RC 서보 구동 실습··················································· 304
14.3 타이머 1 비교일치 인터럽트를 사용하여 하나의 RC 서보 구동··············· 313
14.4 타이머 1 비교일치 인터럽트를 사용하여 다수의 RC 서보 구동··············· 319
CHAPTER 15 아날로그 디지털 변환기······························································· 327
15.1 아날로그 디지털 변환기(Analog-to-Digital Converter) ································· 327
15.2 싱글엔드(Single-ended) 입력과 차동(Differential) 입력······························· 329
15.3 ATmega128의 ADC 채널············································································· 330
15.3.1 ATmega128의 ADC 사양································································ 330
15.3.2 관련 레지스터·················································································· 331
xiii
15.4 ATmega128의 ADC 사용············································································· 335
15.4.1 ADC 클록 설정 및 변환 속도························································ 335
15.4.2 입력 채널 설정 및 기준 전압 선택················································ 336
15.4.3 AD 변환 값과 데이터 정렬···························································· 336
15.5 실습················································································································ 340
CHAPTER 16 아날로그 비교기(Analog Comparator) ······························· 345
16.1 ATmega128의 아날로그 비교기 기능·························································· 345
16.2 관련 레지스터······························································································· 346
16.3 아날로그 비교기 멀티플렉서 입력 설정······················································ 348
CHAPTER 17 범용 동기/비동기 직렬 송수신기(USART) ································ 349
17.1 USART를 이용한 직렬 통신········································································ 349
17.2 ATmega128의 USART ·················································································· 353
17.2.1 USART 사양···················································································· 353
17.2.2 관련 레지스터·················································································· 354
17.2.3 USART의 데이터 전송률 설정······················································· 360
17.3 USART 사용 실습························································································ 361
17.3.1 보드 연결························································································· 361
17.3.2 통신 프로그램 작성········································································· 362
17.3.3 응용 프로그램 작성 및 실습··························································· 367
17.4 PC와 통신····································································································· 370
17.4.1 RS-232C 규격·················································································· 370
17.4.2 PC의 하이퍼터미널을 이용한 직렬 통신········································ 371
17.5 WinAVR의 표준 입출력 라이브러리 함수 사용하기·································· 375
17.5.1 표준 입출력 라이브러리 함수 printf()와 scanf() 활용··················· 375
17.5.2 부동소수점 입출력을 위한 printf, scanf 라이브러리 선택············· 382
CHAPTER 18 스텝모터 구동··············································································· 387
18.1 스텝모터········································································································· 387
18.1.1 구동 방식························································································· 387
xiv
18.1.2 동특성······························································································· 389
18.1.3 구동 회로························································································· 391
18.2 스텝모터 구동 프로그램··············································································· 393
18.2.1 펄스 출력 순서················································································ 393
18.2.2 프로그램··························································································· 393
18.2.3 모듈화 프로그램··············································································· 395
18.3 위치 이동 실습······························································································ 403
18.4 회전 속도 변환 실습····················································································· 406
CHAPTER 19 DC 모터 구동··············································································· 413
19.1 포토 인터럽터(Photo-interrupter)를 사용한 회전 속도 측정························ 413
19.2 모터의 정회전/역회전 구동··········································································· 415
19.3 실습················································································································ 417
CHAPTER 20 마이크로컨트롤러의 공압 응용···················································· 419
20.1 스탬핑 자동 기계·························································································· 419
20.2 구동 시퀀스··································································································· 420
20.3 솔레노이드 구동···························································································· 421
20.4 전압 레벨이 다른 신호를 입력받기····························································· 424
20.5 공압 회로 구성을 위한 인터페이스 회로···················································· 426
20.6 프로그램········································································································· 427
제3부 ATmega128 고급 활용
CHAPTER 21 Serial Peripheral Interface(SPI) ···································· 441
21.1 개요················································································································ 441
21.2 ATmega128의 SPI ························································································· 443
21.2.1 특징·································································································· 443
21.2.2 관련 레지스터·················································································· 444
21.2.3 동작·································································································· 446
21.3 SPI 구동 모듈······························································································· 450
21.4 일대일 SPI 통신 실습··················································································· 462
xv
21.5 MPU-9250 9축 모션 센서 사용 예······························································ 466
21.5.1 MPU-9250 모션 센서 및 장치 연결··············································· 466
21.5.2 MPU-9250 레지스터 맵··································································· 468
21.5.3 MPU-9250의 SPI 통신···································································· 470
21.5.4 MPU-9250 구동 모듈······································································ 471
21.5.5 MPU-9250 구동 실습······································································ 480
CHAPTER 22 TWI/I2
C······················································································ 483
22.1 Two-wire Serial Interface(TWI) ···································································· 483
22.1.1 장치 연결························································································· 483
22.1.2 데이터 전송 및 프레임 형식··························································· 484
22.2 ATmega128의 Two-wire Serial Interface ····················································· 487
22.2.1 TWI 사양························································································· 487
22.2.2 관련 레지스터·················································································· 488
22.2.3 전송 모드························································································· 491
22.2.4 전송율······························································································· 496
22.3 TWI(I2
C) 구동 모듈······················································································ 496
22.4 MPU-9250 6축 관성센서·············································································· 504
22.4.1 MPU-9250의 TWI(I2
C) 통신··························································· 504
22.4.2 MPU-9250 구동 모듈······································································ 504
22.4.3 MPU-9250 구동 실습······································································ 514
CHAPTER 23 내부 EEPROM············································································· 517
23.1 EEPROM(Electrically Erasable Programmable ROM) ································· 517
23.2 WinAVR에서 내부 EEPROM 사용······························································ 517
23.3 Brownout Detection을 사용한 EEPROM 데이터의 손상 방지··················· 521
CHAPTER 24 프로그램 메모리(플래시 메모리) ················································· 523
24.1 WinAVR에서 프로그램 메모리 사용··························································· 523
24.2 프로그램 메모리를 사용한 데이터 메모리 절약 예제································· 526
xvi
CHAPTER 25 외부 메모리·················································································· 529
25.1 외부 메모리··································································································· 529
25.2 관련 레지스터······························································································· 530
25.3 외부 메모리 연결·························································································· 533
25.3.1 액세스 타이밍·················································································· 533
25.3.2 주소와 데이터의 분리······································································ 534
25.3.3 실습 보드에서 CPU와 외부 데이터 메모리의 연결······················· 534
25.3.4 외부 메모리의 주소 영역 할당······················································· 537
25.3.5 Memory-mapped I/O 방식으로 입출력 장치 연결························· 538
25.4 외부 메모리 사용을 위한 레지스터 설정···················································· 540
25.5 WinAVR에서 외부 메모리 사용·································································· 542
25.5.1 메모리 섹션······················································································ 542
25.5.2 스타트업(Startup) 코드····································································· 544
25.5.3 링커 옵션 설정················································································ 545
25.5.4 사용자 데이터 메모리 섹션····························································· 545
25.6 외부 메모리 영역에 장착된 LCD 구동······················································· 548
CHAPTER 26 외부 메모리 버스를 사용한 장치연결············································· 557
26.1 주소 디코더··································································································· 557
26.2 입출력 포트 확장·························································································· 559
26.3 메모리를 사용한 입출력 포트 사용하기······················································ 562
CHAPTER 27 Watchdog Timer ······································································· 571
27.1 Watchdog Timer ···························································································· 571
27.2 ATmega128의 Watchdog Timer ··································································· 572
27.2.1 와치독 타이머·················································································· 572
27.2.2 관련 레지스터·················································································· 573
27.2.3 와치독 타이머 설정 변경을 위한 순서··········································· 575
27.3 WinAVR에서 와치독 사용··········································································· 576
27.3.1 WinAVR 제공 함수········································································· 576
27.3.2 와치독 타이머 사용 예···································································· 576
27.3.3 와치독 타이머를 사용한 소프트웨어 리셋 구현···························· 578
27.3.4 시스템에 리셋이 걸렸을 때 리셋 원인 나타내기·························· 579
xvii
CHAPTER 28 실행 코드 최적화············································································· 583
28.1 WinAVR에서 코드 최적화··········································································· 583
28.2 코드 최적화와 volatile 키워드······································································ 586
CHAPTER 29 인터럽트 고급 활용········································································· 589
29.1 상호 배제에 의한 데이터 손상 방지 및 원자 단위 연산··························· 589
29.2 인터럽트의 우선순위 조정하기····································································· 593
자주 묻는 질문········································································································ 599
실습재료 목록·········································································································· 603
찾아보기··················································································································· 605

책 속으로

출판사 서평

책 속 한 문장

회원리뷰

이 책과 함께 구매한 책들

이 책이 속한 분야 베스트

교환/반품안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품안내
반품/교환방법

[판매자 페이지>취소/반품관리>반품요청] 접수
또는 [1:1상담>반품/교환/환불], 고객센터 (1544-1900)

※ 중고도서의 경우 재고가 한정되어 있으므로 교환이 불가할 수 있으며, 해당 상품의 경우 상품에 대한 책임은 판매자에게 있으며 교환/반품 접수 전에 반드시 판매자와 사전 협의를 하여주시기 바랍니다.

반품/교환가능 기간

변심반품의 경우 수령 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

※ 중고도서의 경우 판매자와 사전의 협의하여주신 후 교환/반품 접수가 가능합니다.

반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유

소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우(단지 확인을 위한 포장 훼손은 제외)

소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 화장품, 식품, 가전제품 등

복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)

디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우

시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품이므로 단순 변심 및 착오로 인한 취소/교환/반품 시 해외주문 반품/취소 수수료 고객 부담 (해외주문 반품/취소 수수료는 판매정가의 20%를 적용

2) 중고도서 : 반품/교환접수없이 반송하거나 우편으로 접수되어 상품 확인이 어려운 경우

소비자 피해보상
환불지연에 따른 배상

- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

판매자
책책북북
판매등급
특급셀러
판매자구분
일반
구매만족도
5점 만점에 5점
평균 출고일 안내
2일 이내
품절 통보율 안내
23%

바로가기

최근 본 상품