Upload
jeongseongho
View
76
Download
4
Embed Size (px)
Citation preview
X[deca] AVR studyKonkuk University. Department of Electronic Engineering
v0.1 by08 기 김정목v0.2 by11 기 정성호
Page 3
MCU(Micro-Controller Unit)
MCU(Micro Controller Unit) 란 ?- 특정 시스템을 제어하기 위한 전용 프로세서
- 대부분의 전자제품에 채용되어 전자제품의 두뇌역할을 하는 핵심 칩 (chip)
- 제품의 다양한 특성을 컨트롤하는 비메모리 반도체 ( 시스템 반도체 )
- 칩 (chip) 내에 특수한 목적의 기능을 수행하는 소프트웨어를 이식해 다양한 기능 수행
- MCU 는 내부에 ROM 과 RAM 이 내장되어 있어 초소형 컴퓨터의 역할을 한다 .
MCU 출처 - http://terms.naver.com/entry.nhn?cid=613&docId=74664&mobile&categoryId=613
AVR(Alf Vergard RISC) 이란 ?- 1996 년 Atmel 사 ( 社 ) 에서 개발한 8-bit RISC single chip microcontroller.
- 제작사가 Debuger(AVR studio) 를 제공한다 .
Atmega128 이란 ?- Atmel 에서 제공하는 128KB programmable flash memory 를 가진 8-bit AVR RISC
microcontroller
Page 4
2 진법 / 16 진법 (1/2)
1. 2 진법 (Binary notation)
- 0 과 1 두 종류의 숫자로 수를 나타내는 방식
-
-
- 즉 , 2 진수 1011 은 10 진수 11 과 같다 .
2. 16 진법 (Hexadecimal notation)- 0, 1, 2, . . , 8, 9, A(10), B(11), C(12), D(13), E(14), F(15) 를 이용해 수를 나타내는 방식
-
-
Page 5
2 진법 / 16 진법 (2/2)
1. 2 진법 / 16 진법의 변환1) 2 진수 -> 16 진수 변환
- 2 진수 4 자리를 이용하면 0000(0) 에서 1111(15) 까지 16 개의 수를 표현할 수 있다 .
- 즉 , 2 진수 4 자리는 16 진수 한 자리를 나타낸다 .
- 예를 들어 2 진수 에 대해서
-
-
- 주의 ) LSB 부터 ( 가장 오른쪽 ) 차례로 4 자리씩 끊는다 .
2) 16 진수 -> 2 진수 변환
- 2 진수에서 16 진수 변환의 역으로 진행한다 .
- 즉 , 16 진수 1 자리는 2 진수 4 자리로 변환해서 쓸 수 있다 .
Page 6
레지스터 (Register)
1. 레지스터 (Register) 란 ?
- 컴퓨터의 중앙처리장치에 들어 있는 소규모 데이터 기억장치
- 레지스터의 회로는 주로 플립플롭 회로를 많이 연결한 형태
2. Atmega128 레지스터
- General Purpose Working Registers + Peripheral Control Registers
- 8-bit processor
7 6 5 4 3 2 1 0
Page 7
GPIO(General Purpose Input Output)
1. GPIO(General Purpose Input Output)
- atmega128 은 54 개의 programmable I/O port 를 가지고 있다 .
- 각각의 I/O port 는 GPIO 또는 특정한 기능 (function) 을 가진다 .
Page 8
GPIO(General Purpose Input Output)
2. GPIO(General Purpose Input Output)- Port 가 GPIO 로 사용될 경우 각각의 port 는 3 개의 Register bits 를 가진다 .- DDxn / PORTxn / PINxn ( x : port / n : register bit number)
1)DDRx- DDRx register 의 bit 는 해당 pin 의 입력 / 출력 방향 (the direction) 을 정의
- DDxn = 1 => 출력 (output) pin
DDxn = 0 => 입력 (input) pin
2) PORTx- Pin 에 대해서 high(1 또는 5V) / low(0 또는 0V) 출력 결정- port(pin) 가 DDx 에 의해서 출력 (output) pin 으로 정의되어 있을 때 ,
- PORTxn = 1 => High(1 또는 5V) 출력 (the port pin is driven high(1))
PORTxn = 0 => low(0 또는 0V) 출력 (the port pin is driven low(0))
3) PINx- PINx register 를 이용해서 port pin 의 값을 읽을 수 있다 .- Read Only register
Page 10
GPIO(General Purpose Input Output)
Register description
Register name
Register nameRegister bit number
Register bit name
Page 11
LED
1. 같은 Register bit name 끼리 연결되어 있다 .
- ex) LED0(D1) 은 PORTA 의 PA0 와 연결되어 있다 .
2. 회로에서 LED 는 연결된 PORTA 의 pin 이
High(1 / 5V) 일 때 불이 켜진다 .
low(0 / 0V) 일 때 불이 꺼진다 .
같은 Register bit name 끼리 연결
R 13 3 0
R 23 3 0
R 33 3 0
R 43 3 0
D 1L E D
D 2L E D
D 3L E D
D 4L E D
00 0 0
P A 1P A 0 P A 3P A 2
R 53 3 0
R 63 3 0
R 73 3 0
R 83 3 0
D 5L E D
D 6L E D
D 7L E D
D 8L E D
00 0 0
P A 5P A 4 P A 7P A 6
Page 13
LED_ 실습 (2/2)
1. 실습 2- 첫 번째 LED 부터 차례데로 하나씩 켜진다 .
- 끝에 도착하면 , 첫 번째 LED 로
돌아간다 .
실습 1 의 답 .
0xFF, 0xFF,
0x00
Page 14
Switch
1. 같은 Register bit name 끼리 연결되어 있다 .
- ex) sw1 는 PORTC 의 PC0 와 연결되어 있다 .
2. 회로에서 switch 는
안 누르면 High(1 / 5V) 이 입력된다 .
누르면 low(0 / 0V) 이 입력된다 .
S W 1
1
4
2
3
0
R 91 0 k
V C C
P C 0
S W 2
1
4
2
3
0
R 1 01 0 k
V C C
P C 1
S W 3
1
4
2
3
0
V C C
R 1 11 0 k
P C 2
S W 4
1
4
2
3
0
V C C
R 1 21 0 k
P C 4
C 41 0 3
C 51 0 3
C 61 0 3
C 71 0 3
0 0 0 0
Page 16
switch_ 실습 (2/2)
1. 실습 2- 실습 1 에서 두개 씩 같이 눌려도 같이 켜진다 .
2. 실습 3- 스위치 하나당 두개 씩 켜진다 .
- ex) 1 번 스위치를 누르면 1,2 번 LED 가 켜진다 .
실습 1 의 답 .
0xFF, 0x00, 0x0E, 0x01,
0x00