04. external interrupt
-
Upload
- -
Category
Devices & Hardware
-
view
59 -
download
3
Transcript of 04. external interrupt
![Page 1: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/1.jpg)
X[Deca] AVR studyKonkuk University. Department of Electronic Engineering
v0.1 by08 기 김정목v0.2 by11 기 정성호
![Page 2: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/2.jpg)
Page 2
Contents
Contents
1 External Interrupt
![Page 3: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/3.jpg)
Page 3
Interrupt
Interrupt
1. ~(sb/sth) (with sth) ( 말 , 행동을 ) 방해하다 [ 중단시키다 / 가로막다 ]
Interrupt ?- 실행중인 프로그램을 일시 중단하고 다른 프로그램을 끼워 넣어 실행시키는 것
Polling ?
- 특정 주기를 가지고 그 주기 마다 처리를 위한 시그널이 들어 왔는지 확인 하는 것
![Page 4: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/5.jpg)
Page 5
External Interrupt
1.EICRA – External Interrupt Control Register A
- INT0 ~ INT3 External interrupt 에 대해서 어떠한 신호를 Sensing 할지 선택
![Page 6: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/6.jpg)
Page 6
External Interrupt
2. EICRB – External Interrupt Control Register B
- INT4 ~ INT7 External interrupt 에 대해서 어떠한 신호를 Sensing 할지 선택
![Page 7: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/8.jpg)
Page 8
External Interrupt
Global interrupt- sei() : Global interrupt enable
- cli() : Global interrupt disable
Interrupt Service Routine- 인터럽트 이벤트 처리를 위한 코드의 일부 또는 함수
![Page 9: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/11.jpg)
Page 11
External Interrupt_실습 _2-1답
![Page 12: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/12.jpg)
Page 12
External Interrupt_실습 _2-2답
![Page 13: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/14.jpg)
Page 14
External Interrupt_실습 _3_1답
![Page 15: 04. external interrupt](https://reader034.fdocuments.net/reader034/viewer/2022052414/55cfe31cbb61ebb87e8b4733/html5/thumbnails/15.jpg)
Page 15
External Interrupt_실습 _3_2답