AT89S51 마이크로프로세서 내부에는 2개의 16비트 타이머/카운터가 있어 시간 주기를 측정 또는
외부핀을 이용하여 입력되는 펄스를 측정할수 있으며 트리거 되는 펄스들을 카운트 할 수 있습니다.
또 주기적으로 인터럽트를 발생시킬 때에도 사용됩니다.
8051 에서 타이머/카운터란 1머신사이클(시스템클록을 1/12것)을 세는 것을 타이머, 외부핀
(T0 P3.4)(T1 P3.5) 핀에 입력되는 클럭을 세는것을 카운터라합니다.ㅣ
타이머/카운터는 SFR의 8비트*2 =>TH(8비트), TL(8비트) 가 T0와 T1에서 각각 사용되며
이 레지스터들은 클록이 입력될 때마다 UP(+1)카운터를 합니다.
이 TH,TL 레지스터가 오버플로(0xff =>0x00)으로 되면 TCON레지스터에 있는 TF(timer control)이 "1"
이 됩니다.
※ 타이머/카운터 1은 시리얼 포트의 비동기 통신 모드에 있어 보레이트 발생기로 동작할수 있습니다.
타이머의 사용방법은 ?
=> TMOD(timer mode register)와 TCON(timer control register)의 설정에 의해 결정됩니다.
AT89S51의 타이머/카운터에서 사용되는 핀
사용되는 핀 |
기능 |
T0 (P3.4) |
타이머/카운터 0의 카운터 입력 |
T1 (P3.5) |
타이머/카운터 1의 카운터 입력 |
사용되는 레지스터에 대해 알아봅니다.
1. TMOD(Timer Mode)
상위 4비트는 타이머/카운터 1, 하위 4비트는 타이머/카운터 0 을 제어합니다.
비트 설명 : GATE :외부인터럽트 단자(T0,T1)핀을 이용하여 정지/동작 제어
C/T(timer/countor select) 타이머로 사용할것인지 카운터로 사용할 것인지 모드 결정
M1,M0 : 타이머/카운터의 동작모드 결정
2.TCON(Timer Control)
상위의 4비트만 사용하며 하위 4비트는 인터럽드에 사용됩니다.
비트설명 :TF1,TF0 (timer overflow flag) 타이머 카운터의 TH,TL 이 오버플로 되면 "1"이 됩니다.
TR1, TR0 (timer run control) 타이머 카운터의 동작(TR1=1), 정지(TR1=0)를 제어합니다.
3. 시정수 레지스터 TH(timer control high), TL(timer control low)
이들 각각의 레지스터들은 모드에 따라 각각 사용되기도 하고 쌍으로 사용되기도 합니다.
AT89s51의 타이머/카운터는 클럭이 입력될 때마다 +1씩 증가하는 업카운터입니다.
'마이크로프로세서 기초' 카테고리의 다른 글
8051기초 step 스텝모터 여자 방법 (0) | 2014.05.14 |
---|---|
8051 마이크로프로세서 캐릭터 LCD 16*2 (0) | 2014.04.29 |
8051기초, 외부인터럽트 INT0, INT1 (0) | 2014.04.08 |
8051기초, 인터럽트의 종류 (0) | 2014.04.07 |
8051 마이크로 프로세서 AT89s51의 핀(Pin) 기능 (0) | 2014.01.07 |