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

소개글

[마이크로프로세서응용실험] (예비) 실험 05: 타이머 인터럽트를 이용한 시계에 대한 보고서 자료입니다.

목차

문제 1. A. 모드 0을 이용할 경우 1 Tick, 즉, 1회의 오버플로우에 걸리는 시간을 계산하시오.
문제 2. 아래 제시된 프로그램을 살펴보고 다음 물음에 답하시오.
문제 3. 프로그램에서 ‘타이머 모드 0’ 대신 ‘타이머 모드 1 (16bit)’을 사용하는 경우 빈 칸 ①, ②를 적절하게 채우고, 그 이유를 설명하시오.

본문내용

한다. 또 의 값을 읽으면 현재의 타이머 값을 알 수 있는 특징이 있다.
따라서 타이머 모드 1을 사용하려면 TMOD 값을 변경해주면 된다. 기존 프로그램대로 Timer 0을 사용하고 타이머로서 사용하고 모드는 1로 할 때 TMOD = 00000001;이고
①에 TMOD=0x01; 을 작성하면 된다. (TMOD는 Bit Addressable이 아님을 주의한다.)
16 bit 타이머는 0000000000000000 ~ 1111111111111111 까지, 즉 0x0000 ~ 0xFFFF 까지 돌고
0xFFFF에서 0x0000으로 넘어갈 때 오버플로우가 발생한다.
16 bit는 10진수로 =65536 이므로 65536번의 타이머 클럭을 받은 후에 오버플로우가 발생한다.
오버플로우 한 번 발생에 걸리는 시간은 이다.
따라서 1초를 세기위해 카운트해야하는 오버플로우의 수는 아래 식에서처럼 구할 수 있다.
이다. 정확한 오버플로우의 수는 14.0625번이지만
0.0625번은 있을 수 없으므로 버림을 해서 약 14번으로 값을 구할 수 있다.
②에 값을 넣어 완성한 문장은 if(t0_ovf_count >= 14 )이다.
▶ 이렇게 프로그램을 동작시켰을 때 1초를 제는 오버플로우 수가 소수점까지 만족하지 못하고,
또 실제로는 소스의 다른 곳에서 시간지연이 있을 수도 있어서 우리 원하는 정확한 시계가 구현되기 힘들 것이다. 이 부분이 어디인지 찾아서 수정을 하는 것이 필요하겠고, 타이머 모드 0 (13 bit)을 이용한
시계와 타이머 모드 1(16 bit)을 이용한 시계가 서로 어떠한 차이를 보이는지 확인해봐야겠다.
  • 가격2,800
  • 페이지수5페이지
  • 등록일2014.03.16
  • 저작시기2014.1
  • 파일형식한글(hwp)
  • 자료번호#908197
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니