Upload
lambert-hall
View
223
Download
4
Embed Size (px)
Citation preview
KyungHee Univ. 2-2
인터럽트의 개요
Interrupt : 외부 장치의 요구에 의해서 현재 실행 중인 프로그램을 잠시 멈추고 , Interrupt 에 의하여 요구된 작업을 먼저 수행한 후에 다시 원래의 프로그램으로 복귀하여 실행 한다 .
주변장치의 서비스 요청에 맞추어 ( 동기 하여 ) 서비스를 실행 한다 .
Embedded System 의 Program 은 대부분 Interrupt Drive 방식으로 작성 한다 .
Interrupt 의 처리 과정
Main Routine Main Routine
Interrupt Routine
KyungHee Univ. 2-3
인터럽트의 처리 순서
Vector Table
Program Memory
ISR 1
ISR 2
Empty
1. Interrupt 발생
2. Vector Table 참조
3. ISR 으로 Jump
4. ISR 종료후 원래 처리중인 Program 으로 복귀
KyungHee Univ. 2-6
PORTD 의 부가 기능
Port Pin Alternate Function( 부가 기능 )
PD7 T2 (Timer/Counter2 Clock Input)
PD6 T1 (Timer/Counter1 Clock Input)
PD5 XCK1 (USART1 External Clock Input/Output)
PD4 IC1 (Timer/Counter1 Input Capture Trigger)
PD3 INT3/TXD1 (External Interrupt3 Input or USART1 Transmit Pin)
PD2 INT2/RXD1 (External Interrupt2 Input or USART1 Receive Pin)
PD1 INT1/SDA (External Interrupt1 Input or TWI Serial Data)
PD0 INT0/SCL (External Interrupt0 Input or TWI Serial Clock)
KyungHee Univ. 2-7
PORTE 의 부가 기능Port
Pin Alternate Function( 부가 기능 )
PE7 INT7/IC3 (External Interrupt 7 Input or Timer/Counter3 Input Capture Trig-ger)
PE6 INT6/T3 (External Interrupt 6 Input or Timer/Counter3 Clock Input)
PE5INT5/OC3C (External Interrupt 5 Input or Output Compare and PWM Out-
put C forTimer/Counter3)
PE4INT4/OC3B (External Interrupt 4 Input or Output Compare and PWM Out-
put B forTimer/Counter3)
PE3AIN1/OC3B (Analog Compare Negative Input or Output Compare and
PWM Output A for Timer/Counter3)
PE2 AIN1/OC3A (Analog Compare Positive Input or USART0 external clockinput/output)
PE1 PDO/TXD0 (Programming Data Output or USRT0 Transmit Pin)
PE0 PDI/RXD0 (Programming Data Input or USRT0 Receive Pin)
KyungHee Univ. 2-8
External Interrupts 를 사용 하기 위한 설정
INTn(n: 0-7)
PD : PD0(INT0), PD1(INT1), PD2(INT2), PD3(INT3)
PE : PE4(INT4), PE5(INT5), PE6(INT6), PE7(INT7),
External Interrupt 을 사용하기 위한 설정 사용하고자 하는 Port 를 입력으로 설정
External Interrupt 의 mode 설정
External Interrupt 의 mask 설정
External Interrupt Mask Register 에서 사용하고자
하는 INT 를 Set
Interrupt 를 Enable
Status Register (SREG) 의 I-bit 를 Set 함
KyungHee Univ. 2-11
EIMSK - External Interrupt Mask RegisterINT7~0 Interrupt 를 개별적으로 허용하는데 사용
허용 : 1 , 금지 : 0INT7~0 Interrupt 를 개별적으로 허용하고 , 동시에 Status
Register (SREG) 의 I 를 1 로 Set 하여야 한다 .
EIMSK - External Interrupt Mask Register
KyungHee Univ. 2-12
EIFR - External Interrupt Flag Regis-ter
INT7 ~ 0 Pin 에 Interrupt 신호가 입력되어 해당 Interrupt 가 Trigger 되었음 표시
MCU 이 Interrupt Vector 로 Jump 하면 0 으로 Cleared 됨
EIFR - External Interrupt Flag Register