Download presentation
Presentation is loading. Please wait.
0
ATMega128 External Interrupt
KyungHee Univ.
1
인터럽트의 개요 Interrupt의 처리 과정
Interrupt : 외부 장치의 요구에 의해서 현재 실행 중인 프로그램을 잠시 멈추고, Interrupt에 의하여 요구된 작업을 먼저 수행한 후에 다시 원래의 프로그램으로 복귀하여 실행 한다. 주변장치의 서비스 요청에 맞추어(동기 하여) 서비스를 실행 한다. Embedded System의 Program은 대부분 Interrupt Drive 방식으로 작성 한다. Interrupt의 처리 과정 Main Routine Interrupt Routine KyungHee Univ.
2
인터럽트의 처리 순서 2. Vector Table 참조 3. ISR으로 Jump 1. Interrupt 발생
Program Memory ISR 1 ISR 2 Empty 3. ISR으로 Jump 1. Interrupt 발생 4. ISR 종료후 원래 처리중인 Program 으로 복귀 KyungHee Univ.
3
ATMega128 Interrupt KyungHee Univ.
4
ATMega128 Interrupt KyungHee Univ.
5
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.
6
PORTE 의 부가 기능 Port Pin Alternate Function(부가 기능) PE7
INT7/IC3 (External Interrupt 7 Input or Timer/Counter3 Input Capture Trigger) PE6 INT6/T3 (External Interrupt 6 Input or Timer/Counter3 Clock Input) PE5 INT5/OC3C (External Interrupt 5 Input or Output Compare and PWM Output C for Timer/Counter3) PE4 INT4/OC3B (External Interrupt 4 Input or Output Compare and PWM Output B for PE3 AIN1/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 clock input/output) PE1 PDO/TXD0 (Programming Data Output or USRT0 Transmit Pin) PE0 PDI/RXD0 (Programming Data Input or USRT0 Receive Pin) KyungHee Univ.
7
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.
8
EICRA - External Interrupt Control Register A
KyungHee Univ.
9
EICRB - External Interrupt Control Register B
KyungHee Univ.
10
EIMSK - External Interrupt Mask Register
INT7~0 Interrupt를 개별적으로 허용하는데 사용 허용 : 1 , 금지 : 0 INT7~0 Interrupt를 개별적으로 허용하고, 동시에 Status Register (SREG)의 I를 1로 Set 하여야 한다. EIMSK - External Interrupt Mask Register KyungHee Univ.
11
EIFR - External Interrupt Flag Register
INT7 ~ 0 Pin에 Interrupt 신호가 입력되어 해당 Interrupt가 Trigger 되었음 표시 MCU이 Interrupt Vector 로 Jump하면 0으로 Cleared 됨 EIFR - External Interrupt Flag Register KyungHee Univ.
12
External Interrupt Program 예
cho_key_debounce cho_keypad_basic_ext_int cho_command_exec_real_time KyungHee Univ.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.