[중고] 마이크로컨트롤러 AVR ATMEGA128 (상태도를 이용한 시스템 설계) : 알라딘 (2025)

· 제목 : 마이크로컨트롤러 AVR ATmega128&nbsp(상태도를 이용한 시스템 설계)
· ISBN : 9788998756376
· 쪽수 : 604쪽
· 출판일 : 2013-08-05

마이크로컨트롤러 AVR ATmega128의 풍부한 기능에 하드웨어 인터페이스 기술과 상태도를 기반으로 하는 ASM 기법을 적용하여 제어 시스템을 설계하는 방법을 다루고 있다.

저자 소개 / 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

[중고] 마이크로컨트롤러 AVR ATMEGA128 (상태도를 이용한 시스템 설계) : 알라딘 (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Rubie Ullrich

Last Updated:

Views: 5523

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Rubie Ullrich

Birthday: 1998-02-02

Address: 743 Stoltenberg Center, Genovevaville, NJ 59925-3119

Phone: +2202978377583

Job: Administration Engineer

Hobby: Surfing, Sailing, Listening to music, Web surfing, Kitesurfing, Geocaching, Backpacking

Introduction: My name is Rubie Ullrich, I am a enthusiastic, perfect, tender, vivacious, talented, famous, delightful person who loves writing and wants to share my knowledge and understanding with you.