마이크로프로세서 응용 및 실험 - Interrupt(인터럽트)

1. 마이크로프로세서 응용 및 실험 - Inte.hwp
2. 마이크로프로세서 응용 및 실험 - Inte.pdf
마이크로프로세서 응용 및 실험 - Interrupt(인터럽트)
마이크로프로세서 응용 및 실험 - Interrupt(인터럽트)

1. 설계과제의 목표 및 제한조건

◎ 모든 스위치 입력 처리는 인터럽트만 사용
◎ 입력 : Push switch - 3개
◎ 출력 : LED - 8개, 7-segment - 1개

◎ Decoder 설계
동시에 눌려진 3개의 Push switch 입력에 따라 LED 점등
Push switch는 2진수 입력임(0~7)
8개의 LED 중 해당하는 번째의 LED 점등

◎ LED 또는 7-segment로의 선택적 점등
1번 스위치를 누를 때마다 LED 또는 7-segment로의 출력을 바꾸어 선택
2번 스위치 입력이 있을 때마다 현재 상태에서
LED 출력이면 점등된 LED 수 증가
7-segment 출력이면 표시숫자 증가
3번 스위치 입력이 있을 때마다 현재 상태에서
LED 출력이면 점등된 LED 수 감소
7-segment 출력이면 표시 숫자 감소

2. 서론

◎ 인터럽트

프로그램이 수행되고 있는 동안에 어떤 조건이 발생하여 수행중인 프로그램을 일시적으로 중지 시키게 만드는 조건이나 사건의 발생
내부인터럽트와 외부 인터럽트로 나누어진다. 내부인터럽트는 마이크로 컨트롤러 내부의 기능에 의해 발생하고 외부 인터럽트는 외부에 부가된 소자에 의해 발생하게 된다.

◎ 인터럽트 레지스터

- SREG7

Global interrupt enable, 즉 전체 인터럽트의 허용 여부를 결정하는 역할을 한다.
SREG 레지스터의 7번비트가 1로 설정되어야 인터럽트를 사용할 수 있다.
인터럽트를 사용하기 위해서는 SREG.7=1 나 sei()를 입력해야 하고 사용이 불가능하게 하려면 SREG.7=0 나 cli()를 입력해야 한다.
기본값은 0이다.

- MCUCR

외부인터럽트 사용시에 3~0번비트만 사용된다.
....