|
|||||||||||||||||||||
|
|||||||||||||||||||
[로봇사이언스몰] ATmega128로 배우는 마이크로컨트롤러 프로그래밍
1. 책 소개
마이크로컨트롤러의 이해와 활용을 위한 친절한 커리큘럼!
ATmega128로 마이크로컨트롤러 시작하기!
이 책은 아트멜의 AVR 시리즈 마이크로컨트롤러 중 하나인 ATmega128을 이해하고 활용하는 방법을 다룬다. ATmega128은 간단한 하드웨어 구조와 프로그래밍 방식으로, 대표적인 8비트 마이크로컨트롤러의 하나로 자리매김하고 있다. 이 책을 통해 독자는 ATmega128 마이크로컨트롤러와 친숙해짐은 물론, 다른 종류의 마이크로컨트롤러를 이해하고 응용할 수 있는 기반을 마련할 수 있으며, 마이크로컨트롤러를 통해 주변 환경과 상호 작용하는 방법을 발견할 수 있을 것이다.
1. 서지 정보
출판사 | 제이펍 |
지은이 | 허경용 |
출판일 | 2016년 11월 25일 |
페이지 | 752쪽 |
시리즈 | 테크러닝 시리즈 03 |
판 형 | 46배판변형(188*235*35) |
제 본 | 무선(soft cover) |
정 가 | 33,000원 |
ISBN | 979-11-85890-69-2 (93560) |
키워드 | 마이크로컨트롤러 / 사물인터넷(IoT) / ATmega128 / C 언어 / 아두이노 |
분 야 | 하드웨어 / 마이크로컨트롤러 |
2. 출판사 서평
마이크로컨트롤러의 이해와 활용을 위한 친절한 커리큘럼!
ATmega128로 마이크로컨트롤러 시작하기!
이 책은 아트멜의 AVR 시리즈 마이크로컨트롤러 중 하나인 ATmega128을 이해하고 활용하는 방법을 다룬다. ATmega128은 간단한 하드웨어 구조와 프로그래밍 방식으로, 대표적인 8비트 마이크로컨트롤러의 하나로 자리매김하고 있다. 이 책을 통해 독자는 ATmega128 마이크로컨트롤러와 친숙해짐은 물론, 다른 종류의 마이크로컨트롤러를 이해하고 응용할 수 있는 기반을 마련할 수 있으며, 마이크로컨트롤러를 통해 주변 환경과 상호 작용하는 방법을 발견할 수 있을 것이다.
이 책에서 다루는 내용
· ATmega128 프로그래밍 준비하기
ATmega128을 이해하고, ATmega128을 위한 프로그램을 작성하기 위해 필요한 하드웨어 및 소프트웨어에 대해 알아본다.
· ATmega128 프로그래밍 시작하기
디지털 및 아날로그 데이터 입출력 방법, 다양한 시리얼 통신 방법, 8비트 및 16비트 타이머/카운터, 인터럽트 처리 등 ATmega128에서 제공하고 있는 기본 기능을 알아본다.
· ATmega128 활용하기
ATmega128과 함께 흔히 사용되는 7세그먼트, 텍스트 LCD, 모터, 센서, 블루투스 등 다양한 주변장치의 특징과 사용 방법을 알아본다.
1. 책속으로
ATmega128은 저전력 고성능의 8비트 마이크로컨트롤러로, 아트멜의 AVR 시리즈에 속하는 마이크로컨트롤러 중에서도 흔히 사용되는 마이크로컨트롤러 중 하나다. AVR 시리즈 마이크로컨트롤러는 8비트 마이크로컨트롤러 중에서는 최신의 구조를 반영하여 설계했으므로 다른 8비트 마이크로컨트롤러에 비해 구조가 간단하다. 게다가 다양한 관련 정보를 온·오프라인에서 손쉽게 찾아볼 수 있다는 점 또한 AVR의 대중화를 이끄는 데 한몫했다고 할 수 있다. 이러한 AVR 시리즈 마이크로컨트롤러의 우수성은 최근 오픈소스 마이크로컨트롤러 프로젝트로 주목받고 있는 아두이노에서 AVR 시리즈 마이크로컨트롤러를 채택한 사실에서도 확인할 수 있다.
_67쪽
ATmega128을 위한 프로그램은 C/C++ 언어를 사용하여 작성할 수 있는데 이 책에서는 C 언어를 사용한다. 마이크로컨트롤러의 성능이 높아지면서 32비트 마이크로컨트롤러의 경우 C++ 스타일의 프로그램을 작성하는 경우도 어렵지 않게 볼 수 있지만, 8비트 CPU와 작은 크기의 메모리를 가진 AVR 시리즈 마이크로컨트롤러에서는 C 언어만으로도 충분하다.
_127쪽
인터럽트는 정상적인 프로그램의 흐름을 벗어나는 비정상적인 사건을 가리킨다. 인터럽트의 가장 큰 특징은 하드웨어에 의해 인터럽트 검사가 이루어지므로 사건의 발생 여부를 프로그램에서 검사할 필요가 없다는 점이다. 하지만 사건의 발생 여부를 자동으로 검사하도록 설정하는 작업은 필요하다. 인터럽트 방식과 비교되는 방식은 폴링 방식으로 프로그램 내에서 특정 사건의 발생 여부를 지속적으로 검사해야 한다.
_290쪽
I2C는 저속으로 적은 데이터를 전송할 때 주로 사용하는 시리얼 통신 방법이다. I2C 외에도 ATmega128에서 사용할 수 있는 시리얼 통신 방법으로는 UART와 SPI가 있다. 이들 세 가지 방법은 모두 시리얼 통신 방법이라는 점은 동일하지만, 각기 장단점을 가지고 있으므로 용도에 맞게 골라 사용하면 된다. I2C의 가장 큰 장점은 슬레이브의 개수에 상관없이 항상 2개의 연결선만을 필요로 하므로 연결이 간단하고 확장성이 뛰어나다는 점이다. 반면 반이중 통신 방식을 사용하여 다른 방법에 비해 전송 속도가 느리다는 점은 단점으로 꼽힌다. 이러한 특징으로 인해 I2C는 적은 데이터를 간헐적으로 전송하는 센서 연결에 주로 사용한다.
_401쪽
7세그먼트 표시장치는 간단한 정보를 나타내는 7개의 세그먼트와 소수점 표시를 위한 세그먼트까지 총 8개의 세그먼트를 바이트 단위 데이터로 제어하는 표시장치의 일종이다. 7세그먼트 표시장치는 구성 방식에 따라 HIGH 값을 출력하는 경우 해당 세그먼트가 켜지는 공통 음극 방식과, LOW 값을 출력하는 경우 해당 세그먼트가 켜지는 공통 양극 방식의 두 가지가 있다. 공통 양극 방식과 공통 음극 방식은 제어 방식이 서로 반대이므로 사용하고자 하는 장치의 데이터시트를 반드시 확인해야 한다.
_421쪽
1. 저자 소개
허경용
연세대학교 전자공학과 학사와 동(同)대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중
이다. 저서로는 《따라 하면서 배우는 아두이노》(2016), 《사물인터넷을 품은 아두이노》(2016), 《아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍》(2015), 《핵심 예제로 배우는 아두이노 프로그래밍》(2015), 《아두이노 상상을 스케치하다》(2014)가 있다.
2. 차례
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
b. 해외상품 :
1) 해당상품: 아이콘이 부착된 상품
2) 구매금액 700,000원 이상 : 입금확인 후 최소 5일 ~ 최대 2주
3) 구매금액 700,000원 이하 : 입금확인 후 최소 1주 ~ 최대 8주
4) 단, 해외계약업체에 품절되지 않은 상품에 한함
② 구매상품 종류가 많을 경우 예상 준비기간 보다 더 소요 될 수 있습니다.
③ 주문하신 상품은 출고완료 메일 또는 문자 수신 후 익일~최대7일(도서,산간지역)
이내에 수령하실 수 있습니다.
④ 제주(\3,500원)/도서지역(\5,000원)은 배송비가 추가됩니다.
제주,도서, 산간지역은 타 지역보다 배송기간이 길어질 수 있습니다.
⑤ 아이콘이 부착된 상품이라도 국내재고가 있을 수 있습니다.
⑥ 해외 현지 사정으로 인해 공지한 배송기간보다 더 길어 질 수 있습니다.
⑦ 해외상품은 반품/교환/취소가 어려울 수 있으니 신중히 주문하시기 바랍니다.
3. 소비자의 단순변심/착오구매에 의한 청약철회제한안내
① 전자상거래 등에서의 소비자보호에 관한 법률 제17조 제2항 및 동 시행령
제21조에 의한 청약철회 제한 사유에 해당하는 경우 및 기타 객관적으로
이에 준하는 것으로 인정되는 경우에 한합니다.
② 소비자의 단순변심, 착오구매에 의한 교환/반품 시에 발생하는 배송비는
소비자가 부담합니다.
③ 판매자의 실수,제품하자 등의 사유로 인한 배송비는 판매자가 부담합니다.
4. 상품의 교환/반품/보증조건 및 품질보증기준안내
① 상품이 공급된 날(배송완료일)로부터 7일 이내에 교환/반품을 신청 할 수 있습니다.
그러나 아래의 사유에 해당 하는 경우에는 교환/반품 신청이 받아들여지지 않을 수도 있습니다.
a. 소비자의 책임으로 인해 상품이 훼손/멸실 된 경우(확인을 위한 포장훼손제외)
b. 소비자의 사용에 의해 상품의 가치가 현저하게 감소한 경우
c. 시간의 경과로 인해 상품의 재판매가 불가하게 된 경우
d. 판매방식의 특성으로 판매자에게 회복할 수 없는 피해가 발생한 경우 (주문제작 상품, 청약철회상품 등)
② 교환/반품/보증조건 및 품질보증기준은 『소비자기본법』에 따른 소비자분쟁해결기준에 따라 피해를 보상합니다.
5. 소비자피해보상 처리, 재화 등에 대한 불만 및 분쟁처리 안내
판매자 | 본사 | 셀러등급 | |
---|---|---|---|
상호명 | (주)위키모바일(로봇사이언스몰) | 대표자 | 김경식 |
사업자등록번호 | 215-87-14086 | 통신판매신고번호 | 제2008-서울송파-0867호 |
연락처 | 02-2283-1300 | 사업장 소재지 | 서울특별시 송파구 문정동 643-1 엠스테이트 B동704호 |
| ||||||||||||||||||||||||||
쇼핑몰이용안내 | |
전자계약사이트 | |
|
|||||||||
회사명 : (주)위키모바일(로봇사이언스몰)
| 사업자등록번호 : 215-87-14086 [사업자정보확인]
| 주소 : 서울특별시 송파구 법원로 114 엠스테이트 B동704호 통신판매업 신고 : 제2008-서울송파-0867호 | 연락처 : 02-2283-1300 | FAX : 02-2283-1304 | 개인정보보호 책임자 : 김 경식 | 대표자 : 김경식 호스팅사업자 : 가비아 퍼스트몰 | contact : ask@wikimobile.co.kr for more information *로봇사이언스몰의 콘텐츠 저작권은 (주)위키모바일에 있으며 무단·전재·복사 배포를 금합니다. |
|||||||||