머리말
마이크로프로세서 AVR은 아트멜(ATMEL)사의 8비트 원칩 AT89C51의 뒤를 잇는 RISC 구조의 저전력 CMOS 8비트 마이크로프로세서이다. 기존에 사용되어온 CISC타입과는 다르게 단일 클럭 사이클 내에 명령을 실행함으로서 10배 이상의 빠른 속도를 낼 수 있으며, 전력 소비를 최적화 할 수 있다는 장점을 가지고 있다.
최근에 아트멜(ATMEL)사가 마이크로칩 사에 인수 합병되어 운영이 되고 있으며 기존에 아트멜사에서 공급하던 칩들을 그대로 공급하기 때문에 구하는데는 어려움이 없을 것으로 생각된다. 기존에 마이크로칩사의 PIC 마이크로프로세서, 8051 계열을 사용하던 분들도 조금만 배운다면 AVR 칩들을 사용하여 개발이 가능할 것으로 생각한다.
AVR은 다양한 형태의 마이크로프로세서를 제공하며 사용자들이 설계하고 싶은 제품에 원하는 제품가격, 제품기능에 맞추어서 설계가 가능하다. 기존 8051의 기능들을 가지고 있으며, 8051에서 제공하지 못한 기능들(즉 PWM, ADC, ISP, SPI, I2C)이 추가되어 있다. 또한, 마이크로프로세서 내에 다양한 구조의 메모리를 가지고 있으므로 기존에 문제되었던 메모리에 대한 걱정을 해결할 수 있게 되었다.
본 교재는 특별한 고가의 개발장비나, 컴파일러가 필요 없이 AVR를 사용할 수 있는 방법과 각종 응용회로 및 소스를 제공하여 단계적으로 실험을 통해 마이컴을 배울 수 있는 방법론을 제시하고 있다. 또한, 현장에서 직접 적용이 가능하기 때문에 마이크로프로세서 관련 부서나, 회사에서 적용이 쉽게 가능하리라 저자는 생각한다.
본 교재는 보다 일반인을 대상으로 기초적인 지식에서부터 실제 응용로봇까지를 제작해 볼 수 있도록 전자소자에 대한 지식, AVR에 대한 사용법 그리고 코드비젼 C 컴파일러에 제어 사용방법을 다루고 있다. 또한 전문대나 대학생을 위한 마이컴 교재로도 활용 가능하리라 생각한다.
또한, 이곳에서 소개되는 로봇들은 간단하지만 매우 흥미로운 구조를 갖고 있다. 그리고 하드웨어를 다양하게 설계하여 적용해볼 수 있는 예를 자세히 다루고 있다. 따라서 독자들의 C 언어에 의한 마이크로프로세서 응용력을 한층 높여줄 것이라고 저자는 생각한다.
비록 부족한 부분이 있더라도 본 교재를 통하여 여러분들이 보다 쉽게 배우고, 원하는 것을 얻어 가기를 바란다. 독자 여러분들의 발전된 미래를 기원하면서 ......
2017년 8월
저자 씀
차례
Chapter 01 전자의 기초 11
1.1 전압, 전류 13
1.2 직류와 교류 13
1.3 아날로그와 디지털 14
Chapter 02 사용되는 도구들 17
2.1 테스터(Tester) 19
2.2 오실로스코프(Oscilloscope) 20
2.3 납땜에 사용되는 도구들 21
2.4 래핑와이어 25
Chapter 03 기초 전자소자(부품)에 관해서 27
3.1 저항(Register) 29
3.1.1 일반저항 (탄소 피막 저항) 29
3.1.2 일반저항(금속 피막 저항) 31
3.1.3 가변저항 32
3.1.4 어레이저항 33
3.2 콘덴서(Condenser, Capacitor) 34
3.2.1 전해 콘덴서(알루미늄 전해 콘덴서) 36
3.2.2 탄탈 전해 콘덴서(탄탈 콘덴서) 37
3.2.3 세라믹 콘덴서 37
3.2.4 적층 세라믹 콘덴서 38
3.2.5 마일러 세라믹 콘덴서 38
3.3 코일(Inductor : 인덕터) 39
3.3.1 코일의 특징 39
3.3.2 코일의 종류 41
3.4 반도체소자 43
3.4.1 다이오드(Diode)와 LED(Light Emitting Diode) 43
3.4.2 트랜지스터(Transistor) 47
3.4.3 레귤레이터(78XX, 79XX) 49
Chapter 04 기초 디지털 회로 51
4.1 디지털 IC 53
4.1.1 2진수, Bit 53
4.1.2 16 진수 55
4.1.3 디지털 IC의 정의 및 종류 56
4.2 논리 게이트(Gate) IC 58
4.2.1 AND, NAND 논리 게이트 59
4.2.2 OR, NOR 게이트 61
4.2.3 Ex-OR, Ex-NOR 게이트 62
4.2.4 인버터(Inverter)와 버퍼(Buffer) 63
4.2.5 양방향 3 상태 버퍼 65
4.2.6 쉬미트 트리거(Schmitt Trigger) 65
4.3 크리스탈과 오실레이터 66
Chapter 05 메모리, I/O 와 CPU 67
5.1 메모리란? 69
5.1.1 ROM(Read Only Memory) 69
5.1.2 RAM(Random Access Memory) 70
5.2 원칩 마이컴이란 무엇인가 ? 71
Chapter 06 AVR 마이컴 73
6.1 AVR 마이컴의 개요 75
6.2 ATtiny2313의 구조 78
6.2.1 ATtiny2313의 특징 78
6.2.2 ATtiny2313의 상세 설명 81
6.2.3 핀의 기능 설명 82
6.2.4 구조 분석 89
6.2.5 범용 레지스터 파일 92
6.2.6 I/O 메모리 98
6.2.7 리셋과 인터럽트 처리 103
Chapter 07 AVR 마이컴의 개발 툴 111
7.1 CodeVision AVR C 컴파일러 설치 113
7.2 CodeVision AVR C 컴파일러 사용법 115
7.3 ISP 케이블 제작 133
7.4 ISP 케이블을 이용한 프로그램 다운로딩(플래시 메모리) 136
7.5 USB용 ISP 케이블 사용방법 138
Chapter 08 C언어의 이해와 ATtiny2313의 포트 제어 141
8.1 C 언어의 기본 이해 143
8.1.1 C 언어의 형성 143
8.1.2 연산자(Operator) 147
8.1.3 제어 구조 150
8.2 코드비젼 C 컴파일러의 특징 156
8.2.1 CodeVisionAVR 특징 156
8.2.2 변수/함수/레벨의 이름(Identifiers) 지정 157
8.2.3 주석(Comments) 처리 157
8.2.4 전처리(Preprocessor) 157
8.2.5 상수(Constants) 160
8.2.6 변수(Variables) 160
8.2.7 I/O 레지스터의 비트 단위 엑세스 163
8.2.8 EEPROM 엑세스 164
8.2.9 인터럽트 사용 하기 164
8.2.10 어셈블리 언어 첨가 165
8.2.11 딜레이(delay) 함수 사용 166
8.3 C프로그램을 사용한 포트 제어 167
8.3.1 ATtiny2313의 포트 특징 167
8.3.2 포트B(PortB) 169
8.3.3 포트D(Port D) 172
8.4 ATtiny2313 포트B를 이용한 LED점멸 176
8.5 ATtiny2313 포트D를 이용한 스위치 입력 제어 187
8.6 ATtiny2313 포트B를 이용한 7-세그먼트 제어 194
8.7 ATtiny2313 포트B를 이용한 Servo Motor제어 199
Chapter 09 LCD 디스플레이 제어 203
9.1 LCD 디스플레이 모듈의 구조 205
9.1.1 LCD의 핀 기능 206
9.1.2 LCD 모듈의 내부 구성 209
9.2 LCD 인스트럭션 212
9.3 LCD의 인터페이스와 구동 프로그램 217
9.3.1 LCD의 인터페이스 217
9.3.2 LCD의 구동 프로그램 218
9.3.3 LCD의 초기화 프로그램 229
Chapter 10 인터럽트 제어 245
10.1 인터럽트의 개요 247
10.2 인터럽트 구조 248
10.2.1 인터럽트 소스와 벡터 248
10.3 범용 인터럽트 마스크 레지스터(GIMSK) 253
10.4 일반 인터럽트 FLAG 레지스터(GIFR) 254
10.5 MCU제어 레지스터(MCUCR) 255
10.6 상태 레지스터(SREG) 257
10.7 스택 포인터(Stack Pointer) - SP 258
10.8 I/O 메모리 258
Chapter 11 타이머/카운터 제어 275
11.1 타이머/카운터 277
11.2 8 비트 타이머/카운터0 280
11.3 16비트 타이머/카운터1 300
11.4 펄스폭변조(PWM)모드에서의 타이머/카운터1 324
Chapter 12 아날로그 비교기 335
12. 1 아날로그 비교기(Analog Comparator) 제어 337
Chapter 13 EEPROM 읽기/쓰기 제어 347
13.1 EEPROM 엑세스 349
13.1.1 EEPROM 어드레스 레지스터 - EEAR 349
13.1.2 EEPROM Data Register - EEDR 350
13.1.3 EEPROM Control Register - EECR 350
13.1.4 EEPROM 손상(Corruption) 방지 351
Chapter 14 시리얼 통신 355
14.1 시리얼 통신의 개요 357
14.2 ATtiny2313 시리얼 통신의 특징 359
14.3 데이터 전송(Data Transmission) 360
14.4 데이터 수신(Data Reception) 362
14.5 시리얼 통신 제어/상태 레지스터 365
14.5.1 시리얼 통신 입/출력 데이터 레지스터 - UDR 365
14.5.2 시리얼 통신 제어/상태 레지스터 A - UCSRA 365
14.5.3 시리얼 통신 제어/상태 레지스터 B -UCSRB 368
14.5.4 시리얼 통신 제어/상태 레지스터 C - UCSRC 370
14.5.5 시리얼 통신 보레이트 레지스터 - UBRR 372
14.6 시리얼 포트 통신(RS-232C) 376
Chapter 15 ATtiny2313을 이용한 라인트레이서 로봇 만들기 395
15.1 라인트레이서의 구동원리 397
15.2 라인트레이서의 회로도 404
15.3 라인트레이서의 구동프로그램 408
Chapter 16 소리인식 톡톡이 로봇 제작 417
16.1 톡톡이(TocToci) 로보트의 구동 원리 419
16.2 톡톡이(TocToi) 로보트의 회로도 421
16.3 톡톡이(TocToci) 로보트의 프로그램 426
Chapter 17 ATtiny2313을 이용한 헥사포드 445
17.1 6족(Hexapod) ANT 로봇의 구동 원리 447
17.2 6족(Hexapod) ANT 로봇의 워킹(Walking)법 449
17.3 6족(Hexapod) ANT 로보트의 제작방법 454
17.4 6족 ANT 로봇에 프로그램 다운로딩 과정 459
17.5 6족(Hexapod) ANT 로봇의 회로도 461
17.6 6족(Hexapod) ANT 로봇의 프로그램 464
Chapter 18 부 록 481

상품이 장바구니에 담겼습니다.
바로 확인하시겠습니까?
상품이 찜 리스트에 담겼습니다.
바로 확인하시겠습니까?