[마이크로프로세서응용실험] (예비) 실험 04: 인터럽트를 이용한 LED 순차 점멸
본 자료는 1페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
해당 자료는 1페이지 까지만 미리보기를 제공합니다.
1페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[마이크로프로세서응용실험] (예비) 실험 04: 인터럽트를 이용한 LED 순차 점멸에 대한 보고서 자료입니다.

목차

문제 1. 8051에서 사용할 수 있는 인터럽트의 종류 및 기능에 대해 간략히 설명하시오.

문제 2. 주어진 코드의 각 줄에 주석을 달아 설명하시오.

문제 3. 다음 페이지에 주어진 프로그램에 보면 다음 서브루틴이 있다.

문제 4. 주어진 프로그램을 실행하면 LED가 어떤 식으로 점멸하는지 설명하시오. (즉, 어떤 동작을 하였을 때 어떤 LED가 켜지고 꺼지는지, 또한 어떤 순서로 켜지는지 등 설명)

문제 5. 주어진 프로그램에는 인터럽트 우선순위를 나타내고 있지 않다. 만일 이 프로그램에서 이용하는 인터럽트의 우선순위를 가장 높게 하려 한다면 어떤 명령어를 어느 위치에 추가해야 하는지 설명하시오.

본문내용

인터럽트를 사용하는 부분은 아래와 같다.
EX1 = 1; // IE 레지스터의 EX1비트셋, 외부 인터럽트1(IE 1)을 사용하겠다는 선언
EA = 1; // 전체 인터럽트의 인에이블 문장
8051 CPU는 12번의 클럭신호중 10번째 클럭입력에서 인터럽트 체크를 한다. 한 번의 인터럽트 체크가 끝나고 그 다음 인터럽트 체크를 하기 전에 들어온 인터럽트는 CPU가 볼 때는 모두 동시에 발생한 것으로 간주한다. 이 경우 CPU에게 어떤 인터럽트를 먼저 처리할 것인가를 알려주어야 한다. 위 프로그램은 인터럽트가 하나만 사용되서 큰 영향이 없지만 만약 인터럽트가 2개이상 동시에 발생하면 기본 우선순위에 의해 외부 인터럽트 1(IE1)은 세 번째의 우선순위를 가진다. 사용자가 원하는대로 이 외부 인터럽트 1의 우선순위를 제일 높게 하려면 IP(interrupt priority) 레지스터를 이용하면 된다. IP 레지스터는 다음과 같은 구조이고 해당 비트 값이 1이면 높은 우선순위, 0이면 낮은 우선순위가 부여된다.
7
6
5
4
3
2
1
0
-
-
PT2
PS
PT1
PX1
PT0
PX0
여기서 우리가 관심있는 것은 외부인터럽트 1이므로 이것을 제어하는 비트인 PX1을 1로하고 나머지 비트는 0으로 한다. 8비트 2진수로 나타내면 xx00 0100이다. 헥사값으로 표현하면 0x04이다.
아래 그림을 참고하여 외부 인터럽트 신호가 IE 레지스터를 거친 후,
IP 레지스터를 거치므로 IP=0x04; 문장을
EX1 = 1;
EA = 1; → 아래에 넣어주면 외부 인터럽트 1이 제일 높은 우선순위로 설정된다.
  • 가격2,800
  • 페이지수5페이지
  • 등록일2014.03.16
  • 저작시기2014.1
  • 파일형식한글(hwp)
  • 자료번호#908206
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니