AVR 및 컴파일러 소개(2주)

Download Report

Transcript AVR 및 컴파일러 소개(2주)

마이크로 프로세서 응용
Introduce to
ATmega128 & Codevision
MICROCONTROLLER 란?

Microprocessor


단일 IC 칩에 직접 시켜 만든 반도체 소자로서, 1971년
에 미국의 Intel사에 의하여 최초로 만들어졌으며 오늘
날은 이를 흔히 MPU (Micro Processor Unit)이라 부
름
Microcontroller

Microprocessor 중에 1개의 칩 내에 CPU 기능은 물론
이고 일정한 용량의 메모리(ROM, RAM 등)와 입출력
제어 인터페이스 회로까지를 내장한 것
MICROCONTROLLER의 종류
MICROCONTROLLER의 응용분야

응용분야

가전 제품, 휴대용 전자 제품, 제어 분야, 게임기, 등…
INTRODUCE

AVR
AVR의 탄생



TO
1984년 창립된 미국의 Atmel사에서 1997년에 처음 발표한
제어용 마이크로프로세서.
Alf-Egil Bogen과 Vegard Wollan의 진보된 RISC 기술을 기
반으로 설계되었다고 하여 AVR.
AVR의 종류



ATtiny 패밀리
내부에 1KB~2KB의 플래시 메모리를 가지고 있으며, 핀 수가
8핀에서 28핀 정도이며 외형이 아주 작다.
AT90 패밀리
내부에 1KB~8KB의 플래시 메모리를 가지고 있으므로 고급
언어로도 프로그램이 가능한 수준이며, 비교적 큰 512바이트
이하 정도의 EEPROM과 SRAM을 내장하고 있고, 10핀에서
40핀 정도 된다.
ATmega 패밀리
내부에 8KB~256KB의 플래시 메모리를 가지고 있으며
28~100핀의 정도로 핀 수가 많다. 우수한 모델은 16MHz 클
럭에서 16MIPS의 명령 처리속도를 갖는다.
FEATURE



133개의 강력한 명령어, 단일 사이클 명령 실행
16MHz에서 16MIPS 처리 (MIPS : Million Instruction Per Second)
32 x 8의 범용 작업용 레지스터 + 주변장치의 제어 레지스터
프로그램 가능한 128K Bytes의 Flash 메모리 내장






ATMEGA128
8Bit Micro Controller


OF
10000번 쓰기/지우기 가능
4K Bytes EEPROM
4K Bytes의 내장 SRAM
소프트웨어 안전을 위한 프로그래밍 잠금 장치
내부 프로그래밍을 위한 SPI 인터페이스
JTAG Interface

JTAG Interface를 통한 Fuses, Lock Bits, EEPROM, Flash의 프로그래밍

Peripheral Features
2개의 8 Bit Timer/Counter
 2개의 16 Bit Timer/Counter
 2개의 8 Bit PWM Channels
 8 Channel, 10 Bit ADC
 Dual Programmable Serial USARTs
 Master/Slave SPI Serial Interface
 Programmable Watchdog Timer


I/O and Packages


Operating Voltage



프로그램 가능한 53개의 I/O 라인, 64핀 TQFQ / 64핀 MLF
ATmega128L : 2.7V ~ 5.5V
ATmega128 : 4.5V ~ 5.5V
Speed Grades


ATmega128L : 0 ~ 8MHz
ATmega128 : 0 ~ 16MHz
ATMEGA128의 핀 배치 및 구성
PORTA
PORTB
PORTC
PORTD
PORTE
PORTF
PORTG
ATMEGA128 기본 회로
VCC
J1
C1 22
D1
1N4148
U1
23
R1
10K
Y1
16MHz
C2 22
SW1
RESET
C3
10uF
VCC
RXD 1
3
5
7
TXD 9
J4
ISP
VCC
2
4
6
8
10
24
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
10
11
12
13
14
15
16
17
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
25
26
27
28
29
30
31
32
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
2
3
4
5
6
7
8
9
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
61
60
59
58
57
56
55
54
XTAL2
RESET
XTAL1
PA0(AD0)
PA1(AD1)
PA2(AD2)
PA3(AD3)
PA4(AD4)
PA5(AD5)
PA6(AD6)
PA7(AD7)
PB0(SS)
PB1(SCK)
PB2(MOSI)
PB3(MISO)
PB4(OC0)
PB5(OC1A)
PB6(OC1B)
PB7(OC2/OC1C)
PD0(INT0/SCL)
PD1(INT1/SDA)
PD2(INT2/RXD1)
PD3(INT3/TXD1)
PD4(ICP1)
PD5(XCK1)
PD6(T1)
PD7(T2)
PE0(RXD0/PDI)
PE1(TXD0/PD0)
PE2(XCK0/AIN0)
PE3(OC3A/AIN)
PE4(OC3B/INT4)
PE5(OC3C/INT5)
PE6(T3/INT6)
PE7(ICP3/INT7)
PF0(ADC0)
PF1(ADC1)
PF2(ADC2)
PF3(ADC3)
PF4(ADC4/TCK)
PF5(ADC5/TMS)
PF6(ADC6/TDO)
PF7(ADC7/TDI)
PC0(A8)
PC1(A9)
PC2(A10)
PC3(A11)
PC4(A12)
PC5(A13)
PC6(A14)
PC7(A15)
PG2(ALE)
PG1(RD)
PG0(WR)
PG4/TOSC1
PG3/TOSC2
PEN
AVCC
AREF
GND
VCC
VCC
GND
GND
20
RESET
51
50
49
48
47
46
45
44
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
35
36
37
38
39
40
41
42
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
43
34
33
ALE
RD
WR
19
18
TOSC1/PG4
TOSC2/PG3
1
PEN
64
62
63
VCC
AREF
GND
52
21
VCC
VCC
22
53
GND
GND
104
R2
D2
330
LED
VCC
VCC
AREF
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
ALE
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
RD
WR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CON29
CON29
U2
1
2
3
4
5
C5
104
J2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
VCC
ATmega128
C4
PEN
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
TOSC2/PG3
TOSC1/PG4
RESET
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
GND
VDD5V
GND
GND
TXD
RTS
RXT
CTS USPEND
DTR
VDD3V3
GND
NE555
10
9
8
7
6
RXD
TXD
응용 작품
COMPILER

Compiler 란?


고급언어로 쓰여진 프로그램을 그와 의미적으로 동등하
며 컴퓨터에서 즉시 실행될 수 있는 형태의 목적 프로그
램으로 바꾸어 주는 번역 프로그램.
AVR Compiler의 종류





CodeVision AVR
WinAVR
AVRStudio
IAR-AVR
Etc…
CODEVISION AVR
Codevision AVR은 C-Compiler로써, Atmel AVR에
대한 개발환경을 제공하며, Codewizard 기능을 이용
하여 필요한 기능에 대한 소스코드를 자동적으로 생성
한다.
 시스템 환경 : Windows Series

CODEVISION AVR COMPILER

초기 화면

Project 생성

Menu → File → New

Project Setting
Preview
Generate

Configure Project

Menu → Project → configure

ISP Setting

Menu → Setting → Programmer

Compile & Build

Menu → Project
Compile (F9)
Build
(Shift + F9)
ATMEGA128 기본 회로
VCC
J1
C1 22
D1
1N4148
U1
23
R1
10K
Y1
16MHz
C2 22
SW1
RESET
C3
10uF
VCC
RXD 1
3
5
7
TXD 9
J4
ISP
VCC
2
4
6
8
10
24
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
10
11
12
13
14
15
16
17
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
25
26
27
28
29
30
31
32
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
2
3
4
5
6
7
8
9
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
61
60
59
58
57
56
55
54
XTAL2
RESET
XTAL1
PA0(AD0)
PA1(AD1)
PA2(AD2)
PA3(AD3)
PA4(AD4)
PA5(AD5)
PA6(AD6)
PA7(AD7)
PB0(SS)
PB1(SCK)
PB2(MOSI)
PB3(MISO)
PB4(OC0)
PB5(OC1A)
PB6(OC1B)
PB7(OC2/OC1C)
PD0(INT0/SCL)
PD1(INT1/SDA)
PD2(INT2/RXD1)
PD3(INT3/TXD1)
PD4(ICP1)
PD5(XCK1)
PD6(T1)
PD7(T2)
PE0(RXD0/PDI)
PE1(TXD0/PD0)
PE2(XCK0/AIN0)
PE3(OC3A/AIN)
PE4(OC3B/INT4)
PE5(OC3C/INT5)
PE6(T3/INT6)
PE7(ICP3/INT7)
PF0(ADC0)
PF1(ADC1)
PF2(ADC2)
PF3(ADC3)
PF4(ADC4/TCK)
PF5(ADC5/TMS)
PF6(ADC6/TDO)
PF7(ADC7/TDI)
PC0(A8)
PC1(A9)
PC2(A10)
PC3(A11)
PC4(A12)
PC5(A13)
PC6(A14)
PC7(A15)
PG2(ALE)
PG1(RD)
PG0(WR)
PG4/TOSC1
PG3/TOSC2
PEN
AVCC
AREF
GND
VCC
VCC
GND
GND
20
RESET
51
50
49
48
47
46
45
44
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
35
36
37
38
39
40
41
42
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
43
34
33
ALE
RD
WR
19
18
TOSC1/PG4
TOSC2/PG3
1
PEN
64
62
63
VCC
AREF
GND
52
21
VCC
VCC
22
53
GND
GND
104
R2
D2
330
LED
VCC
VCC
AREF
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
ALE
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
RD
WR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CON29
CON29
U2
1
2
3
4
5
C5
104
J2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
VCC
ATmega128
C4
PEN
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
TOSC2/PG3
TOSC1/PG4
RESET
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
GND
VDD5V
GND
GND
TXD
RTS
RXT
CTS USPEND
DTR
VDD3V3
GND
NE555
10
9
8
7
6
RXD
TXD
TEST CIRCUIT
VCC
VCC
J3
PEN
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
TOSC2/PG3
TOSC1/PG4
RESET
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
GND
J5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
VCC
AREF
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
ALE
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
RD
WR
CON29
CON29
VCC
D3
R3
PE0
LED
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
330
EXAMPLE SOURSE CODE