목차
1.1 AVR이란? ... 7
1.2 ATmega128의 특징 ... 9
1.3 ATmega128의 Pin Out ... 13
1.4 ATmega128의 내부구조 ... 15
1.5 ATmega128의 Memory ... 20
1.6 ATmega128의 System Control And Reset ... 25
1.7 ATmega128의 Watchdog Timer ... 27
1.8 ATmega128의 ISP를 이용한 다운로드 ... 30
2.1 Clock Option ... 31
2.2 Crystal Oscillator ... 33
2.3 Low-Frequency Crystal Oscillator ... 34
2.4 External RC Oscillator ... 34
2.5 Calibrated Internal RC Oscillator ... 35
2.6 External clock ... 35
2.7 Timer Counter Oscillator ... 36
3.1 AvrEdit 3.6 기능 ... 37
3.2 AvrEdit 3.6 설치 ... 38
3.3 AvrEdit 3.6 메뉴 사용법 ... 41
3.4 AvrEdit 3.6 환경설정 방법 ... 44
3.5 AvrEdit 3.6 컴파일 방법 ... 51
4.1 PonyProg 설치 ... 57
4.2 PonyProg 실행 및 환경설정 ... 59
4.3 PonyProg를 이용한 HEX 파일 다운로드 ... 62
5.1 디지털 기초 논리와 기억소자 ... 64
5.2 수와 진법 ... 66
6.1 C언어의 기본 자료형 ... 68
6.2 C언어의 함수 ... 70
6.3 C언어의 조건문(if, switch, … ) ... 72
6.4 C언어의 반복문(for, while, … ) ... 74
6.5 C언어의 선행처리기 ... 76
6.6 C언어의 포인터(Pointer) ... 78
6.7 C언어의 연산자 ... 79
6.8 C 프로그램 쉽게 만들기 ... 84
7.1 I/O 포트에 직접 연결된 장치 제어 ... 85
7.2 I/O 포트의 관련 레지스터 ... 87
8.1 하드웨어 설명 - Buzzer ... 90
8.2 Buzzer 실험 - Buzzer를 이용한 비안정 경고음 ... 91
9.1 외부메모리에 매핑(Mapping)된 장치 제어-Memory Decoder의 이해 ... 95
9.2 TBK2005의 메모리 I/O 맵 ... 100
10.1 하드웨어 설명 - LED ... 102
10.2 LED를 이용한 실험 - 시프트 카운터 ... 104
10.3 LED를 이용한 실험 - 복합동작 ... 108
11.1 하드웨어 설명 - Switch ... 110
11.2 Matrix key (Keypad) 제어 지식 ... 113
11.3 Keypad를 이용한 실험 - Keypad 값을 LED에 표시하기 ... 116
12.1 하드웨어 설명 - Text LCD ... 120
12.2 LCD를 이용한 실험 - Keypad를 이용한 LCD 동작 제어 ... 143
13.1 Interrupt의 개요 ... 152
13.2 외부 Interrupt 관련 레지스터 ... 156
13.3 외부 인터럽트 실험 - 소프트웨어 인터럽트 방법 ... 159
13.4 외부 인터럽트 실험 - 외부 신호 인터럽트 방법 ... 162
13.5 외부 인터럽트 실험 - 플래그로 인터럽트 감지 방법 ... 165
13.6 외부 인터럽트 실험 - 외부 인터럽트 신호 횟수 세기 ... 167
14.1 Timer Counter 개요 ... 170
14.2 Timer Counter0 - 8비트 ... 171
14.3 Timer Counter 1,3 - 16비트 ... 182
14.4 Timer Counter 2 - 8비트 ... 194
14.5 Output Compare Modulator (OCM1C2) ... 196
14.6 Timer 실험 - Compare A Match를 이용한 1초 Timer ... 198
14.7 Timer 실험 - LCD에 디지털시계 설계 ... 200
14.8 Timer 실험 - PWM 파형의 주기 측정 ... 203
15.1 하드웨어 설명 - LG TV 리모컨 ... 208
15.2 외부인터럽트와 Timer를 이용한 실험 - 리모컨 코드를 LCD에 표시 ... 211
16.1 ADC & DAC의 이해 ... 219
16.2 ADC 구조 및 기능 ... 222
16.3 ADC 관련 레지스터 ... 225
16.4 하드웨어 설명 - ADC 실험용 가변 저항 ... 230
16.5 ADC 실험 - 10비트 분해능 테스트 ... 231
16.6 ADC 실험 - 전압을 LCD에 표시 ... 234
17.1 RS-232 통신의 개요 ... 238
17.2 USART의 구조 및 기능 ... 244
17.3 USART 관련 레지스터 ... 249
17.4 하드웨어 설명 - RS-232와 MAX232 ... 253
17.5 하이퍼 터미널 사용법 ... 254
17.6 UART 실험 - 하이퍼터미널에 문자 출력 ... 257
17.7 UART 실험 - 하이퍼터미널에 문자 입출력 ... 261
18.1 DC 모터의 개요 ... 266
18.2 DC 모터의 구동방식 ... 267
18.3 DC 모터 실험 - PWM을 이용한 DC 모터 속도제어 1 ... 275
18.4 DC 모터 실험 - PWM을 이용한 DC 모터 속도제어 2 ... 279
19.1 Step 모터의 개요 ... 284
19.2 2상 Step 모터의 단순 모델 ... 284
19.3 Step 모터 구동방식 ... 285
19.4 Step 모터의 제어 ... 298
19.5 Step 모터 실험 - Step 모터의 정역회전 ... 299
20.1 RC 서보 모터의 개요 ... 304
20.2 RC 서보 모터의 내부 구성 ... 305
20.3 RC 서보 모터의 제어 ... 307
21.1 DS 1302 - 시계 IC ... 308
21.2 DS 1302 실험 - DS 1302를 이용한 디지털시계 설계 ... 316
22.1 하드웨어 설명 - Graphic LCD(128×64) ... 325
22.2 비트맵(BMP) 파일 ... 333
22.3 그래픽 LCD 실험 - 그래픽 LCD에 BMP 파일 표시 ... 336
부록
   ATmega128의 I/O 레지스터 이름과 기능 ... 356
   ATmega128 Register Summery ... 360
   PORT의 별도기능 ... 364
   ASCII 코드표 ... 366
   ASCII 코드표 - 컨트롤 코드 ... 368
   Hexadecimal Object File Format Specification ... 369
닫기