책 이미지
책 정보
· 분류 : 국내도서 > 대학교재/전문서적 > 공학계열 > 컴퓨터공학 > 컴퓨터공학/전산학 개론
· ISBN : 9788971017852
· 쪽수 : 1100쪽
· 출판일 : 2011-06-05
책 소개
목차
제1장 ATmega128A의 구조와 기능
1.1 AVR 마이크로컨트롤러의 개요 11
1. AVR 마이크로컨트롤러의 탄생 및 특징 11
2. AVR 마이크로컨트롤러의 종류 13
[휴게실] “마이컴”이라는 기술용어는 없다 20
[휴게실] 마이크로프로세서와 마이크로컨트롤러 21
1.2 ATmega128A의 기본 구조와 기능 22
1. ATmega128A의 특징 22
[휴게실] ATmega128A가 ATmega128에 비하여 달라진 사항 24
2. ATmega128A의 외부 구조 26
3. ATmega128A의 내부 구조 28
[휴게실] 프로그램 메모리의 워드 어드레스 및 바이트 어드레스 35
4. ATmega128A의 메모리 구조 36
5. ATmega128A의 외부 인터페이스 45
[휴게실] EEPROM과 플래시 메모리 48
1.3 ATmega128A의 명령 세트 53
1. ATmega128A의 데이터 표현 53
2. ATmega128A의 어드레싱 모드 55
3. ATmega128A의 16비트 I/O 레지스터 액세스 62
4. ATmega128A의 명령 세트 65
5. 어셈블리 언어 프로그램에서의 산술연산 77
[휴게실] 수치 데이터의 2의 보수 표현법 81
6. 논리연산 명령을 이용한 프로그래밍 기법 90
7. 서브루틴과 스택 91
1.4 ATmega128A의 기본 하드웨어 96
1. 메모리 록 비트와 퓨즈 비트 96
2. 시스템 클록 101
3. 시스템 리셋 106
4. 워치독 타이머 112
5. 슬립 모드 114
6. 부트 로더 116
7. JTAG 인터페이스 및 AVR 프로그래밍 119
1.5 ATmega128A의 인터럽트 처리 124
1. 인터럽트의 개요 124
2. ATmega128A의 인터럽트 처리 동작 130
[휴게실] 인터럽트 플랙 비트의 클리어 138
1.1 AVR 마이크로컨트롤러의 개요 11
1. AVR 마이크로컨트롤러의 탄생 및 특징 11
2. AVR 마이크로컨트롤러의 종류 13
[휴게실] “마이컴”이라는 기술용어는 없다 20
[휴게실] 마이크로프로세서와 마이크로컨트롤러 21
1.2 ATmega128A의 기본 구조와 기능 22
1. ATmega128A의 특징 22
[휴게실] ATmega128A가 ATmega128에 비하여 달라진 사항 24
2. ATmega128A의 외부 구조 26
3. ATmega128A의 내부 구조 28
[휴게실] 프로그램 메모리의 워드 어드레스 및 바이트 어드레스 35
4. ATmega128A의 메모리 구조 36
5. ATmega128A의 외부 인터페이스 45
[휴게실] EEPROM과 플래시 메모리 48
1.3 ATmega128A의 명령 세트 53
1. ATmega128A의 데이터 표현 53
2. ATmega128A의 어드레싱 모드 55
3. ATmega128A의 16비트 I/O 레지스터 액세스 62
4. ATmega128A의 명령 세트 65
5. 어셈블리 언어 프로그램에서의 산술연산 77
[휴게실] 수치 데이터의 2의 보수 표현법 81
6. 논리연산 명령을 이용한 프로그래밍 기법 90
7. 서브루틴과 스택 91
1.4 ATmega128A의 기본 하드웨어 96
1. 메모리 록 비트와 퓨즈 비트 96
2. 시스템 클록 101
3. 시스템 리셋 106
4. 워치독 타이머 112
5. 슬립 모드 114
6. 부트 로더 116
7. JTAG 인터페이스 및 AVR 프로그래밍 119
1.5 ATmega128A의 인터럽트 처리 124
1. 인터럽트의 개요 124
2. ATmega128A의 인터럽트 처리 동작 130
[휴게실] 인터럽트 플랙 비트의 클리어 138
제2장 ATmega128A의 내장 I/O 기능
2.1 병렬 I/O 포트 141
1. 병렬 I/O 포트의 기본 동작 141
2. 병렬 I/O 포트의 부수적 동작 146
2.2 타이머/카운터 및 PWM 출력 151
1. 타이머/카운터의 개요 151
2. 타이머/카운터0과 2 153
3. 타이머/카운터1과 3 172
[휴게실] ATmega128A 타이머/카운터의 동작 모드 요약 197
2.3 USART 직렬통신 포트 200
1. USART 직렬통신 포트의 개요 200
2. USART 직렬통신 포트의 동작 204
3. RS-232C 직렬통신 216
[휴게실] ASCII 코드 223
2.4 SPI 직렬통신 포트 225
1. SPI 직렬통신 포트의 개요 225
2. SPI 직렬통신 포트의 동작 228
2.5 TWI 직렬통신 포트 235
1. TWI 직렬통신 포트의 개요 235
2. I2C 통신에 대하여 235
3. TWI 직렬통신 포트의 동작 242
2.6 A/D 컨버터 257
1. A/D 컨버터의 개요 257
2. A/D 컨버터의 동작 259
[휴게실] ATmega128A에서 A/D 컨버터 사용의 주의사항 요약 271
2.7 아날로그 비교기 272
제3장 OK-128TFT 키트 및 개발 툴
3.1 OK-128TFT 키트의 구조와 기능 277
1. OK-128TFT 키트의 개요 및 사양 277
2. OK-128TFT 키트의 하드웨어 구조 279
3. TFT-32HX 보드의 하드웨어 구조 287
4. OK-128TFT 키트의 조립 및 테스트 293
[휴게실] 회로도에서는 생략되지만 PCB에서 유의할 사항 296
5. RS-232C 통신 케이블의 제작 299
3.2 AVR ISP 다운로드 케이블 301
1. 하드웨어 및 소프트웨어 개발 툴 299
[휴게실] AVR 관련 업체 및 개인 홈페이지 리스트 307
2. 병렬포트형 AVR-ISP Parallel 다운로드 케이블 307
[휴게실] 동글 310
3. ToastProg2005를 사용한 프로그램 다운로드 310
4. USB포트형 AVRISP mkII 다운로드 케이블 317
5. AVR Studio를 사용한 프로그램 다운로드 318
3.3 AVR Studio와 WinAVR의 설치 및 사용 326
1. AVR Studio와 WinAVR의 설치 326
2. 예제 프로그램의 설치 332
3. 프로그램 작성 과정의 요약 332
[휴게실] AVR Studio 5에 대하여 335
[휴게실] 어셈블리 언어인가, C언어인가? 336
3.4 AVR Studio의 매크로 어셈블러 337
1. 매크로 어셈블러의 개요 337
2. 데이터의 표현과 연산자 340
3. 매크로 어셈블러의 지시어 343
4. 매크로 어셈블러의 선행처리기 355
5. 기본적인 인클루드 파일 360
3.5 GCC 계열의 WinAVR 컴파일러 376
1. WinAVR의 개요 376
2. WinAVR의 주요 기능 요약 378
[휴게실] AVR C언어에서 변수를 사용할 때의 유용한 팁 390
3. 기본적인 헤더파일 및 라이브러리 함수 요약 391
[휴게실] Atmel사의 프로그래밍 힌트 412
4. 컴파일러 옵션 및 makefile에 대하여 413
[휴게실] 어셈블리 언어와 C언어에 대한 5가지의 잘못된 편견 424
제4장 어셈블리와 C언어 프로그래밍
4.1 ATmega128A 어셈블리 프로그램 기초 427
4.2 ATmega128A C언어 프로그램 기초 467
4.3 기본적인 프로그래밍 기법 497
4.4 텍스트 LCD 모듈 응용 프로그램 532
[휴게실] 텍스트 LCD 모듈과 그래픽 LCD 모듈의 차이점 550
4.5 키입력 및 인터럽트 처리 프로그램 573
4.6 ATmega128A의 응용 프로그램 604
[휴게실] 인텔 HEX 파일의 형식 630
4.7 TFT-LCD 모듈 영문 ASCII 출력 프로그램 631
4.8 TFT-LCD 모듈 한글 출력 프로그램 716
4.9 TFT-LCD 모듈 그래픽 출력 프로그램 760
4.10 TFT-LCD 모듈 터치 스크린 입력 프로그램 775
4.11 타이머 인터럽트 프로그램 800
4.12 TV 리모컨 응용 프로그램 822
4.13 타이머를 이용한 PWM 제어 프로그램 844
4.14 타이머를 이용한 디지털 시계 프로그램 859
4.15 타이머를 이용한 음악연주 프로그램 872
4.16 RS-232C 직렬통신 프로그램 903
4.17 SPI 직렬통신 프로그램 915
4.18 TWI 직렬통신 프로그램 925
4.19 DS1307 RTC 응용 프로그램 936
4.20 A/D 컨버터와 아날로그 비교기 응용 프로그램 972
[휴게실] A/D 컨버터의 분류 975
4.21 D/A 컨버터 응용 프로그램 1005
[휴게실] D/A 컨버터의 분류 1007
4.22 TFT-LCD를 이용한 게임 프로그램 1030
<부록1> ATmega128A의 데이터 시트 1067
<부록2> 키트 테스트 프로그램 kit_test.c의 소스 1075
저자소개
책속에서
1997년에 Atmel사에서 처음 발표한 AVR 마이크로컨트롤러는 그 짧은 역사에도 불구하고 오늘날 가장 각광받는 8비트 마이크로컨트롤러로서 확고히 자리를 잡았다. 여러 가지 AVR 모델 중에서 특히 ATmega128의 인기는 정말 대단한데, Atmel사는 최근 +5V용의 ATmega128과 저전압인 +3.3V용의 ATmega128L을 1가지 모델로 통일하여 ATmega128A로 대체해나가기 시작하였다.
AVR은 하버드 구조를 가지는 고성능의 8비트 RISC형 마이크로컨트롤러인데, 프로그램용 메모리로서 대용량의 플래시 메모리를 내장하고 있으며 이것을 사용자가 쉽게 여러번 반복적으로 프로그래밍할 수 있는 기능을 가지고 있어서 매우 편리하다. 더구나 이러한 플래시 메모리에 프로그램을 다운로드하는 통신 사양이 공개되어 있고 이에 필요한 다운로드 케이블은 사용자가 쉽고 저렴하게 만들어 사용할 수 있다. 또한 Atmel사에서 IDE 소프트웨어인 AVR Studio와 함께 매크로 어셈블러 및 C컴파일러를 무료로 제공하고 있다. 결과적으로 AVR을 사용하는데 필요한 하드웨어 개발장비 및 소프트웨어 개발 툴은 모두 무료로 사용할 수 있다는 것이 큰 매력이며 이는 AVR은 곧 무료라는 등식을 만들어냈다.
저자는 그동안 AVR 마이크로컨트롤러에 관한 몇권의 책을 낸 바가 있다. 이러한 경험을 바탕으로 이번에는 고성능의 ATmega128A에 TFT-LCD 모듈을 결합하여 AVR의 기초부터 고급 응용까지를 단계적으로 익힐 수 있는 책을 쓰게 되었다.
마이크로컨트롤러를 공부하는데는 절대적으로 실무적인 숙달과정이 중요하다. 처음부터 책만을 가지고 이 분야의 기술을 공부하겠다는 것은 무모한 일이며, 마이크로컨트롤러를 익히는데는 반드시 적합한 교육용 키트를 통한 프로그래밍 연습이 필요하다. 이 책에서는 이를 위하여 교육용 OK-128TFT 키트는 물론이고 이와 함께 공부할 수 있는 풍부한 어셈블리 및 C언어의 프로그램 예제를 제공한다. 독자 여러분은 이를 통하여 어셈블리 언어 프로그래밍과 C언어 프로그래밍 기술을 모두 익혀두기 바란다. 어셈블리와 C언어는 어느 하나만을 배타적으로 선택할 수 있는 문제가 아니며, 응용 시스템이나 사용환경에 따라 적절히 선택할 문제이므로 마이크로컨트롤러 응용분야의 엔지니어는 언제나 이 2가지를 모두 구사할 수 있는 기술을 갖추고 있는 것이 바람직하다. 이렇게 트레이닝 키트를 가지고 공부하다보면 자연히 스스로도 이러한 시스템을 설계하고 자유자재로 활용할 수 있는 능력을 갖추게 될 것이다.
어려운 여건 속에서도 이 책을 출판해주신 Ohm사의 곽종학 사장님과 직원 여러분에게 감사드리는 바이다.



















