04. external interrupt

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

Upload: -

Post on 16-Aug-2015

58 views

Category:

Devices & Hardware


3 download

TRANSCRIPT

Page 1: 04. external interrupt

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

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

Page 2: 04. external interrupt

Page 2

Contents

Contents

1 External Interrupt

Page 3: 04. external interrupt

Page 3

Interrupt

Interrupt

1. ~(sb/sth) (with sth) ( 말 , 행동을 ) 방해하다 [ 중단시키다 / 가로막다 ]

Interrupt ?- 실행중인 프로그램을 일시 중단하고 다른 프로그램을 끼워 넣어 실행시키는 것

Polling ?

- 특정 주기를 가지고 그 주기 마다 처리를 위한 시그널이 들어 왔는지 확인 하는 것

Page 4: 04. external interrupt

Page 4

External Interrupt

External Interrupt in Atmega128- The External Interrupts 는 INT7:0 pin 에 의해 trigger 된다 .

- Interrupt 를 enable 시키면 해당 pin 이 output 으로 정의 되더라도 interrupt 가 trigger

된다 .

- External interrupt 는 low level / falling edge / rising edge 에 의해 trigger 된다 .

- EICRA / EICRB / EIMSK / EIFR

Interrupt 발생 요건- Global Interrupt Enable

- Each Interrupt Enable

- Interrupt occur

Page 5: 04. external interrupt

Page 5

External Interrupt

1.EICRA – External Interrupt Control Register A

- INT0 ~ INT3 External interrupt 에 대해서 어떠한 신호를 Sensing 할지 선택

Page 6: 04. external interrupt

Page 6

External Interrupt

2. EICRB – External Interrupt Control Register B

- INT4 ~ INT7 External interrupt 에 대해서 어떠한 신호를 Sensing 할지 선택

Page 7: 04. external interrupt

Page 7

Exteranl Interrupt

3. EIMSK – External Interrupt Mask Register

- Global interrupt 가 enable 되어 있고

- EIMSK 의 bit 가 set 되면 ( 사용할 곳에 1 로 지정해주면 )

- 해당 external interrupt 가 enable 된다 .

4. EIFR – External Interrupt Flag Register

- Global interrupt enable / External interrupt enable 상태에서

- interrupt occur ( 발생 ) 이면

- EIFR 의 해당 bit 가 set(1) 된다 .

Page 8: 04. external interrupt

Page 8

External Interrupt

Global interrupt- sei() : Global interrupt enable

- cli() : Global interrupt disable

Interrupt Service Routine- 인터럽트 이벤트 처리를 위한 코드의 일부 또는 함수

Page 9: 04. external interrupt

Page 9

External Interrupt_실습 1

S W 5

1

4

2

3

0

V C C

R 1 31 0 k

P D 0 (I N T0 )

S W 6

1

4

2

3

V C C

0

R 1 41 0 k

P D 1 (I N T1 )

C 21 0 3

C 31 0 3

00

1. 실습 1

-LED 가 0.5 초 주기로 순서대로 계속 켜진다 .

-Interrupt 스위치를 누르면 , LED1 로 초기화 된다 .

Page 10: 04. external interrupt

Page 10

External Interrupt_실습 2

1. 실습 2-1

- LED 가 LED1 부터 LED8 방향으로 1 초 간격으로 켜진다 .

- Interrupt 스위치 1 을 누르면 LED1 부터 LED8 방향으로 켜진다 .

- Interrupt 스위치 2 를 누르면 LED8 부터 LED1 방향으로 켜진다 .

- 끝에 도달하면 (LED1 or LED8) 다른 쪽 끝으로 간다 (LED8 or LED1).

2. 실습 2-2

- LED 가 LED1 부터 LED8 방향으로 1 초 간격으로 켜진다 .

- 스위치 1 을 누르면 LED1 부터 LED8 방향으로 켜진다 .

- 스위치 2 를 누르면 LED8 부터 LED1 방향으로 켜진다 .

- 끝에 도달하면 (LED1 or LED8) 다른 쪽 끝으로 간다 (LED8 or LED1).

Page 11: 04. external interrupt

Page 11

External Interrupt_실습 _2-1답

Page 12: 04. external interrupt

Page 12

External Interrupt_실습 _2-2답

Page 13: 04. external interrupt

Page 13

External Interrupt_실습 3

1. 실습 3-1

- Interrupt 스위치 1 을 누르고 있는 동안 LED 전체가 켜진 상태로 유지 .

- Interrupt 스위치 1 를 떼면 , LED 전체가 꺼진 상태로 유지 .

2. 실습 3-2

- LED 가 LED1 부터 LED8 방향으로 0.5 초 간격으로 켜진다 .

- 끝에 도달하면 (LED1 or LED8) 다른 쪽 끝으로 간다 (LED8 or LED1).

- LED 는 계속 진행한다 .

- Interrupt 스위치 1 을 누를 때 , USART 통신으로 화면에 O( 대문자 o) 출력 .

- Interrupt 스위치 2 를 눌렀다 땔때 , USART 통신으로 화면에 X( 대문자 x) 출력 .

Page 14: 04. external interrupt

Page 14

External Interrupt_실습 _3_1답

Page 15: 04. external interrupt

Page 15

External Interrupt_실습 _3_2답