마이크로 컨트롤러-8051 인터럽트

인터럽트는 주 프로그램을 일시적으로 중단하고 제어를 외부 소스로 전달하고 작업을 실행하는 이벤트입니다. 그런 다음 중지 된 주 프로그램으로 제어를 전달합니다.

8051에는 INT0, TFO, INT1, TF1, RI / TI의 5 가지 인터럽트 신호가 있습니다. 각 인터럽트는 IE 레지스터의 비트를 설정하여 활성화 또는 비활성화 할 수 있으며 전체 인터럽트 시스템은 동일한 레지스터의 EA 비트를 삭제하여 비활성화 할 수 있습니다.

IE (Interrupt Enable) 레지스터

이 레지스터는 인터럽트 활성화 및 비활성화를 담당합니다. EA 레지스터는 인터럽트를 활성화하려면 1로 설정되고 인터럽트를 비활성화하려면 0으로 설정됩니다. 다음 그림은 비트 시퀀스와 의미를 보여줍니다.

EA IE.7 모든 인터럽트를 비활성화합니다. EA = 0이면 인터럽트가 인식되지 않고 EA = 1은 인터럽트를 개별적으로 활성화합니다.
- IE.6 향후 사용을 위해 예약되었습니다.
- IE.5 향후 사용을 위해 예약되었습니다.
ES IE.4 직렬 포트 인터럽트를 활성화 / 비활성화합니다.
ET1 IE.3 timer1 오버플로 인터럽트를 활성화 / 비활성화합니다.
EX1 IE.2 외부 인터럽트 1을 활성화 / 비활성화합니다.
ET0 IE.1 timer0 오버플로 인터럽트를 활성화 / 비활성화합니다.
EX0 IE.0 외부 인터럽트 0을 활성화 / 비활성화합니다.

IP (Interrupt Priority) 레지스터

다음 그림과 같이 IP (인터럽트 우선 순위) 레지스터에서 해당 비트를 변경하여 인터럽트의 우선 순위 수준을 변경할 수 있습니다.

  • 낮은 우선 순위 인터럽트는 높은 우선 순위 인터럽트에 의해서만 인터럽트 될 수 있으며 다른 낮은 우선 순위 인터럽트에 의해 인터럽트되지 않습니다.

  • 서로 다른 우선 순위 레벨의 두 인터럽트가 동시에 수신되면 더 높은 우선 순위 레벨의 요청이 제공됩니다.

  • 동일한 우선 순위 수준의 요청이 동시에 수신되는 경우 내부 폴링 시퀀스에 따라 처리 할 요청이 결정됩니다.

- IP.6 향후 사용을 위해 예약되었습니다.
- IP.5 향후 사용을 위해 예약되었습니다.
추신 IP.4 직렬 포트 인터럽트 우선 순위 수준을 정의합니다.
PT1 IP.3 1 우선 순위의 타이머 인터럽트를 정의합니다.
PX1 IP.2 외부 인터럽트 우선 순위 레벨을 정의합니다.
PT0 IP.1 timer0 인터럽트 우선 순위 레벨을 정의합니다.
PX0 IP.0 0 우선 순위 레벨의 외부 인터럽트를 정의합니다.

TCON 등록

TCON 레지스터는 마이크로 컨트롤러에 대한 외부 인터럽트 유형을 지정합니다.