메뉴 바로가기 검색 및 카테고리 바로가기 프로모션 바로가기 책 바로가기 네트워크 바로가기

한빛아카데미

IT CookBook, 마이크로컨트롤러 AVR ATmega128 : 상태도를 이용한 시스템 설계

한빛아카데미

집필서

판매중

  • 저자 : 이상설
  • 출간 : 2013-07-02
  • 페이지 : 604 쪽
  • ISBN : 9788998756376
  • 물류코드 :4037
본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
초급 초중급 중급 중고급 고급
4.8점 (5명)
좋아요 : 34

AVR ATmega128의 풍부한 기능을
다양한 실험실습과 작품으로 배운다!

 

【누구를 위한 책인가】

이 책은 마이크로컨트롤러 AVR ATmega128의 풍부한 기능에 하드웨어 인터페이스 기술과 상태도를 기반으로 하는 ASM(Algorithmic State Machine) 기법을 적용하여 제어 시스템을 설계하는 방법을 다루고 있다. 다양한 실험실습으로 하드웨어 인터페이스 기술과 프로그램, 시스템 설계 방법을 학습하면, AVR ATmega128에 대한 이해와 시스템 설계 능력을 향상하는 데 한층 더 도움이 될 것이다. 이뿐만 아니라 이 책에 포함된 15종의 PCB를 이용하여 다양하고 창의적인 작품을 만들 수 있다.

 

【무엇을 다루는가?】

30여 개의 실험실습과 세 가지 응용 작품

     1

 마이크로프로세서의 원리

     2

 AVR ATmega128 소개

     3

 개발 환경과 C 프로그래밍

     4

 디지털 I/O 인터페이스의 기본 개념

     5

 ATmega128에서의 디지털 I/O 특성과 활용 사례

     6

 폴링과 인터럽트를 이용한 장치 인터페이스

     7

 상태와 ASM 차트, 제어 프로그램 변환

     8

 8비트 타이머/카운터

     9

 16비트 타이머/카운터

    10

 아날로그 비교기와 A/D 변환기

    11

 시리얼 통신(USART, SPI)

    12

 PCB와 응용 작품 사례


▶ 마이크로컨트롤러 부품 목록 다운로드(xls)
▶ PID 인터페이스 프로그램 설치파일(zip)
▶ PID 인터페이스 프로그램 설치 및 사용 방법(pdf)

저자

이상설

고려대학교 전자공학과에서 학사를 취득하고, 삼성전자에서 3년간 근무하였다. 한국과학기술원 전기 및 전자공학과에서 공학석사와 공학박사 학위를 취득하였다. 현재 원광대학교 전기 정보통신공학부 교수로 재직 중이다.

저자 소개 • 02

저자 머리말 • 04

강의 계획 • 06

강의 보조 자료 및 참고 자료 • 07

응용 작품 • 08

실험실습 부록 • 09

 

Chapter 01 마이크로프로세서의 원리

1.1|마이크로프로세서, 마이크로컨트롤러, 마이크로컴퓨터 • 019

1.2|고급 언어와 저급 언어 • 021

1.2.1 번역기의 필요성 · 021

1.2.2 기계어와 어셈블리어 · 022

1.2.3 원시프로그램에서 실행 파일 생성 · 022

1.3|프로그램 실행 원리 • 024

1.3.1 특수 레지스터와 범용 레지스터 024

1.3.2 명령어 실행 · 026

1.4|명령어 셋 • 028

1.4.1 3주소, 2주소, 1주소, 0주소 마이크로프로세서 · 028

1.4.2 어드레싱 모드 · 030

1.4.3 명령코드 동작 · 032

1.5|저장형 프로그램 컴퓨터 • 034

1.5.1 저장형 프로그램 컴퓨터의 한계 · 034

1.5.2 메모리 계층 · 035

1.5.3 가상 메모리 · 036

1.6|RISC와 CISC • 037

1.6.1 RISC · 037

1.6.2 CISC · 041

∷ 연습문제 • 042

 

Chapter 02 AVR ATmega128 소개

2.1|AVR 개요 • 047

2.1.1 AVR 패밀리 · 047

2.2|ATmega128 특징 • 050

2.3|ATmega128 내부 구조 • 052

2.4|ATmega128 명령어 실행 • 060

2.4.1 명령어 인출과 실행 · 060

2.4.2 명령어 유형 · 061

2.4.3 서브루틴 호출과 복귀 · 064

2.5|ATmega128 메모리와 주변 장치 • 066

2.5.1 메모리 · 066

2.5.2 양방향 I/O 포트 · 067

2.5.3 타이머/카운터 · 068

2.5.4 직렬 통신 장치 · 070

2.5.5 JTAG 인터페이스 · 072

2.6|ISP(In System Programming) 073

∷ 연습문제 • 074

 

Chapter 03 개발 환경과 C 프로그래밍

3.1|마이크로컨트롤러를 이용한 디지털시스템 개발 • 079

3.1.1 마이크로컨트롤러와 디지털시스템 · 079

3.1.2 ATmega128을 이용한 디지털시스템 개발 과정 · 080

3.2|다운로드 파일 생성과 교차 컴파일러 • 083

3.2.1 다운로드 파일 생성 · 083

3.2.2 툴체인과 교차 컴파일러 · 086

3.3|통합 개발 환경과 make, Makefile • 087

3.4|컴파일러 최적화 옵션과 라이브러리 링크 • 090

3.4.1 최적화 옵션과 volatile 지시어 · 090

3.4.2 라이브러리와 링커 옵션 · 094

3.5|개발 환경 구축 • 097

3.5.1 통합 개발 환경 · 097

3.5.2 AVR 툴체인과 AVR Studio 4 설치 · 099

3.5.3 ISP 다운로더/디버거 설치 · 101

3.6|프로그램 개발과 실행 • 104

3.7|ATmega128을 위한 C 언어 • 112

3.7.1 C 언어 프로그램의 구성 · 112

3.7.2 타깃이 ATmega128인 AVR GCC 컴파일러 자료형 · 115

3.7.3 프로그램 흐름제어 명령어 · 118

3.7.4 비트 연산 · 120

3.7.5 연산자의 우선순위 · 122

3.8|LCD 디스플레이와 float 출력 프로젝트 • 124

3.9|하드웨어 환경 구축 • 126

∷ 연습문제 • 129

Chapter 04 ATmega128 디지털 I/O 인터페이스

4.1|디지털 IC와 외부 인터페이스 • 135

4.1.1 디지털 정보와 디지털 IC · 135

4.1.2 정보처리용 디지털 IC의 I/O 장치 인터페이스 · 136

4.2|디지털 IC를 이용한 LED 구동 • 140

4.3|ATmega128 핀을 이용한 논리값의 외부 입출력 • 144

4.3.1 논리값과 I/O 핀의 디지털 전압레벨 · 144

4.3.2 ATmega128 디지털 I/O 핀의 전기적 특성 · 146

4.3.3 고휘도 LED의 전기적 특성 · 150

4.3.4 ATmega128 디지털 I/O 핀을 이용한 고휘도 LED 구동 저항값 결정 · 152

4.4|ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 • 154

4.4.1 ATmega128 I/O 핀의 구조 · 154

4.4.2 ATmega128 디지털 I/O 레지스터 역할과 포트 구성 · 155

4.5|논리값과 I/O 핀의 디지털 전압레벨과 변환 • 159

4.5.1 입출력 방향 설정과 논리값 출력 방법 · 159

4.5.2 디지털 I/O 핀의 입출력을 위한 비트 매스킹 · 161

4.5.3 ATmega128에 연결된 회로의 디지털 입출력 설정 사례 · 167

4.6|B포트를 이용한 LED 점멸 • 169

∷ 연습문제 • 172

 

Chapter 05 ATmega128 디지털 I/O 활용

5.1|디지털 I/O 개요 • 177

5.1.1 디지털 I/O는 왜 많이 사용될까? · 177

5.1.2 포트 단위 디지털 I/O 입출력 · 178

5.1.3 디지털 I/O 핀을 이용한 직접 및 간접 구동 · 180

5.2|디지털 I/O 핀을 이용한 7-세그먼트 LED 구동 • 181

5.3|트랜지스터를 이용한 스위칭 동작 • 186

5.3.1 스위치 ON/OFF의 전기적 특성 · 186

5.3.2 트랜지스터의 직류 특성 · 187

5.3.3 트랜지스터 포화/차단과 스위치 ON/OFF 관계 · 189

5.3.4 ATmega128 디지털 I/O 핀을 이용한 트랜지스터 스위치 ON/OFF · 189

5.4|트랜지스터를 이용한 ATmega128 정격 초과전류 공급 • 190

5.4.1 NPN 트랜지스터를 이용한 구동 회로 · 190

5.4.2 PNP 트랜지스터를 이용한 구동 회로 · 192

5.5|디지털 I/O 핀을 이용한 릴레이 구동 • 194

5.6|프로세서 연산에 의한 강제 시간 지연 • 198

5.6.1 GNU gcc 컴파일러의 라이브러리 시간 지연 함수 · 198

5.6.2 스위치 디바운싱 현상과 소프트웨어적인 해결 방법 · 199

5.7|시간 지연 함수를 이용한 1초마다 숫자 증가 • 201

5.8|시간 지연 함수를 이용한 스위치 디바운싱 • 203

5.9|H-브리지 회로를 이용한 소형 DC 모터 정·역 회전 • 207

5.9.1 DC 모터의 정회전과 역회전을 위한 H-브리지 회로 · 207

5.9.2 소형 모터 구동을 위한H-브리지 회로 · 207

5.10|H-브리지 회로를 이용한 소형 DC 모터 정·역회전 • 212

∷ 연습문제 • 216

 

Chapter 06 폴링과 인터럽트를 이용한 장치 인터페이스

6.1|폴링을 이용한 장치 인터페이스 • 221

6.1.1 폴링을 이용한 외부 장치 인터페이스 · 222

6.1.2 폴링을 이용한 내부 장치 EEPROM 인터페이스 · 224

6.2|인터럽트를 이용한 장치 인터페이스 • 229

6.2.1 ATmega128 인터럽트 발생 유형 및 원인 · 229

6.2.2 인터럽트 발생과 인터럽트 서비스 루틴 실행 · 231

6.2.3 인터럽트 서비스 루틴에서 주 프로그램으로 복귀 · 234

6.3|인터럽트 활성화와 인터럽트 서비스 루틴 연결 • 237

6.3.1 인터럽트 설정과 활성화 · 237

6.3.2 인터럽트 서비스 루틴의 연결 · 240

6.3.3 인터럽트 대기와 실행 · 240

6.4|외부 인터럽트 • 243

6.4.1 외부 인터럽트 설정과 활성화 · 243

6.4.2 외부 인터럽트와 외부 인터럽트 서비스 루틴과의 연결 · 244

6.5|주 프로그램과 인터럽트 서비스 루틴의 요청/응답 인터페이스 • 246

6.5.1 인터럽트 서비스 루틴과 요청/응답 인터페이스 절차 · 246

6.5.2 주 프로그램과 인터럽트 서비스 사이의 변수 공유 · 247

6.5.3 요청/응답 인터페이스와 인터럽트 과부하 절감 · 249

6.6|포토인터럽터 인터페이스 • 253

6.7|LCD 문자 디스플레이 인터페이스 • 258

6.8|EEPROM, 포토인터럽터, LCD 디스플레이 통합 인터페이스 • 264

∷ 연습문제 • 269

 

Chapter 07 상태도와 ASM 차트를 이용한 프로그래밍

7.1|플로차트를 이용한 프로그램 개발 • 273

7.2|ATmega128을 이용한 디지털시스템 제어부의 구성과 역할 • 276

7.2.1 ATmega128을 이용한 디지털시스템 개요 · 276

7.2.2 마이크로컨트롤러(ATmega128)와 상태 기계 · 278

7.2.3 상태 기계와 인터럽트 서비스 루틴의 요청/응답 인터페이스 · 280

7.2.4 상태 기계와 상태도 · 282

7.3|상태 기계의 제어 프로그램 변환 절차 • 285

7.4|상태도 개략 설계와 상세 설계 • 286

7.4.1 상태도 개략 설계 · 286

7.4.2 상태도 상세 설계 · 290

7.5|ASM 차트 변환과 제어 프로그램 완성 • 296

7.5.1 ASM 차트 변환 · 296

7.5.2 ASM 차트를 이용한 제어 프로그램 변환 · 301

7.5.3 상태천이와 상태천이 지연 시간 · 305

7.6|ASM 차트를 이용한 간단한 엘리베이터 설계 • 309

∷ 연습문제 • 320

 

Chapter 08 8비트 타이머/카운터

8.1|타이머/카운터의 필요성 • 325

8.2|8비트 타이머/카운터 • 328

8.2.1 8비트 타이머/카운터n 파형 발생모드의 계수 · 328

8.2.2 타이머/카운터0 클록 소스 · 330

8.2.3 타이머/카운터2 클록 소스 · 332

8.2.4 8비트 타이머/카운터 주요 레지스터 · 333

8.3|8비트 타이머/카운터n 오버플로 인터럽트 • 336

8.3.1 8비트 타이머/카운터n 오버플로 인터럽트 초기화 · 336

8.3.2 오버플로 인터럽트 주기 계산 · 337

8.3.3 오버플로 인터럽트를 이용한 시간 지연 · 339

8.4|타이머/카운터0 오버플로 인터럽트 • 341

8.5|착시를 이용한 두 자리 7-세그먼트 LED 디스플레이 • 344

8.6|요청/응답 인터페이스에 의한 LED 점멸 주기 제어 • 350

8.7|8비트 타이머/카운터 파형 발생모드와 OCn 파형 발생 • 355

8.7.1 비교출력 OCn 신호 출력 · 355

8.7.2 고속PWM 모드에서 OCn 신호 출력 · 356

8.7.3 위상정정 PWM 모드에서 OCn 신호 출력 · 359

8.7.4 CTC 모드에서 OCn 신호 출력 · 361

8.7.5 일반 모드에서 비교출력 OCn 신호 출력 · 363

8.8|고속 PWM을 이용한 DC 모터 속도제어 • 364

8.9|위상정정 PWM을 이용한 DC 모터 속도제어 • 369

8.10|타이머/카운터2 고속 PWM을 이용한 RC 서보모터 구동 • 374

∷ 연습문제 •379

 

Chapter 09 16비트 타이머/카운터

9.1|16비트 타이머/카운터 • 383

9.1.1 16비트 타이머/카운터n 파형 발생모드 계수 · 383

9.1.2 16비트 타이머/카운터n 블록도와 동작 · 385

9.1.3 16비트 카운터/타이머 주요 레지스터 · 388

9.1.4 16비트 타이머/카운터n 클록 소스 · 391

9.2|16비트 타이머/카운터 파형 발생모드와 OCnx 신호 • 393

9.2.1 비교출력OCn 신호 출력 · 393

9.2.2 고속 PWM 모드에서 OCn 신호 출력 · 395

9.2.3 위상정정 PWM 모드에서 OCnx 신호 출력 · 397

9.2.4 위상-주파수정정PWM에서 OCnx 신호 출력 · 400

9.2.5 CTC 모드 신호 출력 · 401

9.2.6 일반 모드에서 OCn 신호 출력 · 403

9.3|16비트 타이머/카운터1 비교출력 OC1A/B/C 파형 생성 • 404

9.4|16비트 타이머/카운터와 입력 캡처 • 408

9.5|입력 캡처를 이용한 포토인터럽터 시간차 감지 • 411

∷ 연습문제 •420

 

Chapter 10 아날로그 비교기와 A/D 변환기

10.1|디지털 입력 핀, 아날로그 비교기, A/D 변환기 • 423

10.2|아날로그 비교기 • 425

10.2.1 아날로그 비교기 개요 · 425

10.2.2 아날로그 비교기 관련 레지스터 · 427

10.2.3 아날로그 비교부의 +, - 단자 신호 연결 · 429

10.2.4 아날로그 비교기 인터럽트 · 430

10.3|적외선 포토다이오드와 포토트랜지스터 활용 • 432

10.3.1 적외선 포토다이오드와 포토트랜지스터 특성 · 432

10.3.2 포토다이오드와 포토트랜지스터 활용 · 433

10.4|적외선 센서를 이용한 검정 띠 검출 문턱전압 • 438

10.5|아날로그 비교기를 이용한 검정 띠 검출 • 441

10.6|A/D 변환기 • 445

10.6.1 연속 근사 A/D 변환 방식 · 445

10.6.2 A/D 변환기 개요 · 446

10.6.3 A/D 변환 관련 레지스터 · 453

10.6.4 ADC 인터럽트 · 456

10.7|A/D 변환과 PWM을 이용한 고휘도 LED 밝기 제어 • 459

10.8|A/D 변환과 LED 인터페이스 • 462

10.9|차동 신호 A/D 변환과 광센서를 이용한 거리 측정 • 470

∷ 연습문제 •473

 

 

Chapter 11 시리얼 통신

11.1|동기 및 비동기 모드 USART 통신 • 477

11.2|USART 통신 • 479

11.2.1 USART 통신 개요 · 479

11.2.2 USART 초기화 설정 · 482

11.2.3 USART 통신 에러 · 486

11.2.4 전송 속도 설정 · 487

11.2.5 UDRn 레지스터와 데이터 송수신 · 489

11.3|폴링을 이용한 문자 송수신 • 491

11.3.1 프레임 포맷 설정 · 491

11.3.2 문자 송수신 · 492

11.4|인터럽트와 큐를 이용한 문자 송수신 • 493

11.4.1 프레임 포맷과 인터럽트 설정 · 493

11.4.2 인터럽트를 이용한 문자 송신 · 494

11.4.3 인터럽트를 이용한 문자 수신 · 496

11.5|문자 송수신 함수와 printf( ), scanf( ) 함수의 연결 • 498

11.6|PC와 ATmega128 보드의 비동기 USART 통신 • 500

11.7|SPI 통신 • 504

11.7.1 SPI 마스터/슬레이브 모드 고정 동작 · 504

11.7.2 SPI 마스터/슬레이브 모드 변경 동작 · 509

11.8|SPI 관련 레지스터 • 511

11.8.1 SPCR 레지스터 · 511

11.8.2 SPSR 레지스터 · 513

11.8.3 SPDR 레지스터 · 513

11.9|고정 마스터 모드 SPI 온도센서와 인터페이스 • 515

11.10|가변 마스터/슬레이브 모드 SPI 장치와 인터페이스 • 521

∷ 연습문제 • 529

 

Chapter 12 작품 제작을 위한 PCB 작품 소개

12.1|작품 제작을 위한 PCB 소개 • 533

12.1.1 PWR B/D · 534

12.1.2 LED B/D · 536

12.1.3 SW B/D · 537

12.1.4 Micro DC Motor B/D · 538

12.1.5 LCD Module B/D · 540

12.1.6 LED Holder B/D · 541

12.1.7 Relay B/D · 542

12.1.8 Dual 7-Segment LED B/D · 543

12.1.9 Ph. TR/VR B/D · 544

12.1.10 Ph. Int. B/D · 546

12.1.11 High-Flux LED B/D · 547

12.1.12 Micro Geared Motor Support · 549

12.1.13 만능 기판 · 550

12.1.14 커넥터 보드 6핀, 14핀 · 550

12.1.15 PCB 연결에 사용되는 커넥터와 케이블 · 551

12.2|작품 A : 컨베이어 이송 시스템 • 552

12.2.1 동작 개요 · 552

12.2.2 하드웨어와 회로 구성 · 553

12.2.3 상태도 개략 설계 · 555

12.2.4 상태도 상세 설계 · 557

12.2.5 ASM 차트 변환 및 제어 프로그램 완성 · 563

12.3|작품 B : PID 제어에 의한 속도 조절 시스템 • 570

12.3.1 동작 개요 · 570

12.3.2 하드웨어와 회로 구성 · 571

12.3.3 RPM 측정을 위한 프로그램 · 572

12.3.4 PID 제어 장치와 응용프로그램 인터페이스 · 578

12.4|작품 C : 검정 띠 추적 모형 자동차 • 584

12.4.1 동작 개요 · 584

12.4.2 하드웨어와 회로 구성 · 584

12.4.3 검정 띠 추적을 위한 요소 기술 · 586

12.4.4 검정 띠 추적 주행 자동차 실행 프로그램 · 589

 

 

부록

Appendix | 예제 소스 • 595

 

찾아보기 • 601

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2016-04-18 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
IT CookBook, 마이크로컨트롤러 AVR ATmega128 : 상태도를 이용한 시스템 설계
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
IT CookBook, 마이크로컨트롤러 AVR ATmega128 : 상태도를 이용한 시스템 설계
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
IT CookBook, 마이크로컨트롤러 AVR ATmega128 : 상태도를 이용한 시스템 설계
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실