SlideShare a Scribd company logo
1 of 15
X[Deca] AVR study
Konkuk University. Department of Electronic Engineering
v0.1 by08기 김정목
v0.2 by11기 정성호
Page  2
Contents
Contents
1 External Interrupt
Page  3
Interrupt
Interrupt
1. ~(sb/sth) (with sth) (말, 행동을) 방해하다[중단시키다/가로막다]
Interrupt ?
- 실행중인 프로그램을 일시 중단하고 다른 프로그램을 끼워 넣어 실행시키는 것
Polling ?
- 특정 주기를 가지고 그 주기 마다 처리를 위한 시그널이 들어 왔는지 확인 하는 것
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
External Interrupt
1.EICRA – External Interrupt Control Register A
- INT0 ~ INT3 External interrupt에 대해서 어떠한 신호를 Sensing할지 선택
Page  6
External Interrupt
2. EICRB – External Interrupt Control Register B
- INT4 ~ INT7 External interrupt에 대해서 어떠한 신호를 Sensing할지 선택
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
External Interrupt
Global interrupt
- sei() : Global interrupt enable
- cli() : Global interrupt disable
Interrupt Service Routine
- 인터럽트 이벤트 처리를 위한 코드의 일부 또는 함수
Page  9
External Interrupt_실습1
SW5
1
4
2
3
0
VCC
R13
10k
PD0(INT0)
SW6
1
4
2
3
VCC
0
R14
10k
PD1(INT1)
C2
103
C3
103
00
1. 실습 1
-LED가 0.5초 주기로 순서대로 계속 켜진다.
-Interrupt스위치를 누르면, LED1로 초기화 된다.
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
External Interrupt_실습_2-1답
Page  12
External Interrupt_실습_2-2답
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
External Interrupt_실습_3_1답
Page  15
External Interrupt_실습_3_2답

More Related Content

Viewers also liked

2013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 62013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 6진우 김
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 52013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 5진우 김
 
00. 환경구축
00. 환경구축00. 환경구축
00. 환경구축성호 정
 
2013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 12013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 1진우 김
 
AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)활 김
 
02. led switch
02. led switch02. led switch
02. led switch성호 정
 
노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splattingdrandom
 
Relay and AVR Atmel Atmega 16
Relay and AVR Atmel Atmega 16Relay and AVR Atmel Atmega 16
Relay and AVR Atmel Atmega 16Robo India
 
X[deca] 9월 개강총회
X[deca] 9월 개강총회X[deca] 9월 개강총회
X[deca] 9월 개강총회성호 정
 

Viewers also liked (11)

2013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 62013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 6
 
03. usart
03. usart03. usart
03. usart
 
USB-AVRISP
USB-AVRISPUSB-AVRISP
USB-AVRISP
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 52013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 5
 
00. 환경구축
00. 환경구축00. 환경구축
00. 환경구축
 
2013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 12013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 1
 
AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)
 
02. led switch
02. led switch02. led switch
02. led switch
 
노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splatting
 
Relay and AVR Atmel Atmega 16
Relay and AVR Atmel Atmega 16Relay and AVR Atmel Atmega 16
Relay and AVR Atmel Atmega 16
 
X[deca] 9월 개강총회
X[deca] 9월 개강총회X[deca] 9월 개강총회
X[deca] 9월 개강총회
 

04. external interrupt

  • 1. X[Deca] AVR study Konkuk University. Department of Electronic Engineering v0.1 by08기 김정목 v0.2 by11기 정성호
  • 2. Page  2 Contents Contents 1 External Interrupt
  • 3. Page  3 Interrupt Interrupt 1. ~(sb/sth) (with sth) (말, 행동을) 방해하다[중단시키다/가로막다] Interrupt ? - 실행중인 프로그램을 일시 중단하고 다른 프로그램을 끼워 넣어 실행시키는 것 Polling ? - 특정 주기를 가지고 그 주기 마다 처리를 위한 시그널이 들어 왔는지 확인 하는 것
  • 4. 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
  • 5. Page  5 External Interrupt 1.EICRA – External Interrupt Control Register A - INT0 ~ INT3 External interrupt에 대해서 어떠한 신호를 Sensing할지 선택
  • 6. Page  6 External Interrupt 2. EICRB – External Interrupt Control Register B - INT4 ~ INT7 External interrupt에 대해서 어떠한 신호를 Sensing할지 선택
  • 7. 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)된다.
  • 8. Page  8 External Interrupt Global interrupt - sei() : Global interrupt enable - cli() : Global interrupt disable Interrupt Service Routine - 인터럽트 이벤트 처리를 위한 코드의 일부 또는 함수
  • 9. Page  9 External Interrupt_실습1 SW5 1 4 2 3 0 VCC R13 10k PD0(INT0) SW6 1 4 2 3 VCC 0 R14 10k PD1(INT1) C2 103 C3 103 00 1. 실습 1 -LED가 0.5초 주기로 순서대로 계속 켜진다. -Interrupt스위치를 누르면, LED1로 초기화 된다.
  • 10. 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).
  • 11. Page  11 External Interrupt_실습_2-1답
  • 12. Page  12 External Interrupt_실습_2-2답
  • 13. 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)출력.
  • 14. Page  14 External Interrupt_실습_3_1답
  • 15. Page  15 External Interrupt_실습_3_2답

Editor's Notes

  1. 1