17
X[deca] AVR study Konkuk University. Department of Electronic Engineering v0.1 by08 기 기기기 v0.2 by11 기 기기기

02. led switch

Embed Size (px)

Citation preview

X[deca] AVR studyKonkuk University. Department of Electronic Engineering

v0.1 by08 기 김정목v0.2 by11 기 정성호

Page 2

2

Contents

2 진법 / 16 진법 / 레지스터

Contents

1 MCU

3 GPIO

LED / Switch

Contents

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 9

GPIO(General Purpose Input Output)

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 12

LED_ 실습 (1/2)

1 초1 초실습 _1

주황색 빈칸에 알맞은 값을 넣어서 ,

1 초 마다 LED 를 껐다 켰다 하는 것을 구현하시오 .

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 15

switch_ 실습 (1/2)

실습 _1 주황색 빈칸에 알맞은 값을 넣어서 ,

sw0 를 누르면 LED1 을 켜지게 하시오 .

Page 16

switch_ 실습 (2/2)

1. 실습 2- 실습 1 에서 두개 씩 같이 눌려도 같이 켜진다 .

2. 실습 3- 스위치 하나당 두개 씩 켜진다 .

- ex) 1 번 스위치를 누르면 1,2 번 LED 가 켜진다 .

실습 1 의 답 .

0xFF, 0x00, 0x0E, 0x01,

0x00

Page 17

switch_ 실습 (2/2)

실습 2 정답