목차
문제 1. A. 모드 0을 이용할 경우 1 Tick, 즉, 1회의 오버플로우에 걸리는 시간을 계산하시오.
문제 2. 아래 제시된 프로그램을 살펴보고 다음 물음에 답하시오.
문제 3. 프로그램에서 ‘타이머 모드 0’ 대신 ‘타이머 모드 1 (16bit)’을 사용하는 경우 빈 칸 ①, ②를 적절하게 채우고, 그 이유를 설명하시오.
문제 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)을 이용한 시계가 서로 어떠한 차이를 보이는지 확인해봐야겠다.
따라서 타이머 모드 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)을 이용한 시계가 서로 어떠한 차이를 보이는지 확인해봐야겠다.
키워드
추천자료
- [마이크로프로세서]89S51 외부인터럽트에 대한 PPT자료
- [마이크로프로세서] Lab8. 프로그램이 가능한 타이머(PIT)
- [마이크로프로세서응용실험] (결과) 실험 06: 시계 알람 설정
- [마이크로프로세서응용실험] (예비) 실험 06: 인터럽트를 이용한 시계알람 (마이크로프로세서...
- [마이크로프로세서응용실험] (결과) 실험 05: 타이머 인터럽트를 이용한 시계 (타이머 인터럽트)
- [마이크로프로세서응용실험] (결과) 실험 07: 7-Segment 표현 시계 (7세그먼트)
- [마이크로프로세서응용실험] (결과) 실험 04: 인터럽트를 이용한 LED 순차 점멸
- [마이크로프로세서응용실험] (예비) 실험 04: 인터럽트를 이용한 LED 순차 점멸
- [마이크로프로세서응용실험] (예비) 실험 07: 7-Segment(7세그먼트) 표현 시계
소개글