타이머 카운터 프로젝트 보고서
- 최초 등록일
- 2012.04.08
- 최종 저작일
- 2011.12
- 15페이지/ 한컴오피스
- 가격 2,000원
소개글
타이머 카운터 펄스카운터 실험 프로젝트 보고서 입니다
목차
없음
본문내용
프로젝트 명 : Clock, Timer, Pulse counter, Quadrature counter 만들기
개요
이번 프로젝트는 AT89S51의 인터럽트와 2개의 16비트 타이머, 카운터를 이용하여 clock, timer, pulse counter, quadrature counter를 만드는 것입니다.
At89s51에는 기본적으로 2개의 16비트 타이머/카운터를 내장하고 있는데 그중에서도 16비트 타이머/카운터 Mode1과 8비트 auto-reload 타이머/카운터 Mode2를 사용하였다.
기본적인 내용에 대해서 알아보면 우선 모드1은 TMOD 레지스터의 M1,M0에 각각 0,1을 설정하면 모드1인 16비트 타이머/카운터가 된다. 모드0는 클럭이 12MHz라면 1us부터 최대 65ms까지 오버플로의 시간을 얻을 수 있다.
<타이머/카운터 1의 모드1>
다음으로 모드2는 TMOD 레지스터의 M1,M0에 각각 1,0을 설정하면 모드2인 8비트 오토-리로드 타이머/카운터가 된다. 타이머 값의 하위 레지스터 TLx는 타이머 값의 상위 레지스터 THx가 오토-리로드 값을 가지고 있는 동안에 8비트 타이머/카운터처럼 동작한다. 타이머 값의 하위 레지스터 TLx가 FFH에서 00H로 넘어가는 순간 오버플로가 발생하고, 타이머 값의 상위 레지스터 THx의 값은 TLx에 자동으로 옮겨진다. 일단 TMOD와 THx 값이 초기화 되면 정확한 주기로 만들어 지기 때문에 이 방식은 매우 편리하고 정확하다.
참고 자료
없음