타이머 / 카운트 정리
description
Transcript of 타이머 / 카운트 정리
Hanbat National University prof. Song Myoung Gyu
1
타이머타이머 // 카운트 정리카운트 정리
정보통신•컴퓨터 공학부 송명규
Hanbat National University prof. Song Myoung Gyu
2
0. 타이머 / 카운트 개념 [1]Timer
1 머신사이클 ( 내부 시스템 클럭 1/12) 을 세는 것을 말함Counter
외부 핀에 입력되는 클럭 또는 이벤트를 세는것을 말함 이것을 타이머와 구별없이 혼용해서 사용
Using타이머 / 카운터 0 는 SFR 영역의 TH0,TL0타이머 / 카운터 1 는 SFR 영역의 TH1,TL1클럭이 입력될 때 , +1 증가하는 업카운터 (up counter)
Hanbat National University prof. Song Myoung Gyu
3
0. 타이머 / 카운트 개념 [2] 타이머 / 카운터 동작
Clock 입력+1 증가Overflow 발생 TCON reg. 의
TF0/TF1 bit set
TH0 TL0타이머 / 카운터 0
8bit
TH1 TL1타이머 / 카운터 1
8bit
타이머의 구조
클럭발생
카운터( 디지털카운터 )
플래그설정
XTAL
오버플로 인터럽트
Hanbat National University prof. Song Myoung Gyu
4
0. 타이머 / 카운트 개념 [3]
If) Timer Register Overfloow(0xFFFF->0x0000)Than TCON Register TF Flag : Set 1Timer 0 -> TF0, Timer 1 -> TF1
타이머 1 은 시리얼 포트의 Baud rate generator 로 동작 가능각 타이머는 TMOD 와 TCON 을 사용하여 프로그램
Hanbat National University prof. Song Myoung Gyu
5
0. 타이머 / 카운트 개념 [4] 타이머 클럭 구조
XTALoscillator ÷12
TR0(TCON)
INT0 핀 (P3.2)
C/T = 0
GATE(TMOD)
T0 핀 (P3.4)
C/T = 1
Hanbat National University prof. Song Myoung Gyu
6
0. 타이머 / 카운트 개념 [5] 타이머로 사용
XTALoscillator ÷12
TR0(TCON)
INT0 핀 (P3.2)
C/T = 0
GATE(TMOD)
T0 핀(P3.4)
C/T = 1
11=동작
1 01
1
Hanbat National University prof. Song Myoung Gyu
7
0. 타이머 / 카운트 개념 [6] 카운터로 사용
XTALoscillator ÷12
TR0(TCON)
INT0 핀 (P3.2)
C/T = 0
T0 핀(P3.4)
C/T = 1
11=동작
10 1
Hanbat National University prof. Song Myoung Gyu
8
1. 타이머 / 카운트 0,1 [1] 12M HZ(11.0592Mhz) 시 기준 클럭 타임은 1us ec 이다 . 24M HZ 시 기준 클럭 타임은 500n sec 이다 . 8bit 타이머 / 카운트시 최대 클럭 타임은 256u sec 이다 . 16bit timer/count 최대 클럭 타임은 65m sec 이다 . 8051 에는 timer/count 0, 1 이 있고 각 timer/count 마다 3 가지 모드가 있다 . 8051 에는 timer/count 0, 1 에 timer/count 2 가 존재하며 주로 USART 의 보오레이트 발생기나 , 펄스폭을 측정하는 캐처 기능으로 사용 된다 . 십진수 시계 개념으로 1000 = 1 초 Time 값 ( 반주기 펄스폭 = 12MHZ 기준 ) : 10 = 10usec, 100 = 100usec, 255 = 255usec, 1000 = 1ms, 5000 = 5msec, 10000 = 10msec, 30000 = 30msec, 60000 = 60msec, 65000 = 65msec Time 값 설정방법 : 8bit = 256 – xxx( 원하는 타임값 ) = 모드 2 오토 리로드 모드 = 최대 256usec ex)8bit 카운트에서 50usec 반주기 펄스폭 설정 : 256-50 = 206 을 다시 hex 로 바꾸워 THx 에다 대입한다 . = 0xce
Hanbat National University prof. Song Myoung Gyu
9
1. 타이머 / 카운트 0,1 [2] 16bit = 65536 – xxxx( 원하는 타임 반주기값 ) 모드 1 16bit timer/count 최대 65m sec 까지 설정할수 있다 ex) 50m sec timer/count 값 설정시 : t= 65536-50000 = 15536 을 hex 값 을 바꾸어 THx 와 TLx 에 대입한다 . = 0x3cb0 == THx = 0x3c; TLx = 0xb0;
timer/ 와 count 구분은 내부 클럭으로 동작하면 timer 이고 외부 t0, t1 pin 에서
클럭펄스를 받아서 동작하면 count 이다 .
Tmod 레지스터의 gate bit 를 1 로 설정하면 각 timer/count 의 스타트를 외부 인터럽트 pin 과 동기시켜 동작 시킬수 있다 . 즉 t0 는 int0 pin 과 tr0 bit 의 an
d 동 작 이며 t1 는 int1 pin 과 tr1 bit 의 and 동작이다 . 이는 외부 펄스를 카운터
하거 나 클럭 펄스와 동기시켜 제어를 할시 유효한다 . ex) 주파수 측정 , 펄스폭 측정 , ir 리모콘 data 해독시 응용되고 있다 .
타이머 / 카운트 1 은 모드 2 로 시리얼통신시 보오레이트 발생기로 사용된다 .
Hanbat National University prof. Song Myoung Gyu
10
1. 타이머 / 카운트 0,1 [3] 모드 종류 타이머 / 카운트 0, 1 의 모드 ( 타이머 / 카운트 0 과 1 동일 ) 모드 0 13 비트 타이머 / 카운트 모드 1 16 비트 타이머 / 카운트 모드 2 오토 리로드 (auto-reload) 기능이 있는 8 비트 타이머 / 카운트
모드 3( 타이머 0,1 이 다름 )
2 개의 8 비트 타이머 / 카운트로 사용하는 타이머 / 카운트 0 시리얼 포트의 클록을 공급하기 위하여 사용하는 타이머 / 카운트 1
M1 M0 모드상테 Operating Mode
0 0 모드 0 13-bit timer/count
0 1 모드 1 16-bit timer/count
1 0 모드 2 8-bit Auto-reload timer/count
1 1 모드 3 (T/C 0) 각각 8bit timer/count th0, tl0
1 1 모드 3 (T/C 1) 시리얼 포트 클록을 공급하기 위하여 사용하는 타이머
Hanbat National University prof. Song Myoung Gyu
11
1. 타이머 / 카운트 0,1 [4]타이머 / 카운트 모드
Hanbat National University prof. Song Myoung Gyu
12
1. 타이머 / 카운트 0,1 [5]타이머 / 카운트 모드 0
Hanbat National University prof. Song Myoung Gyu
13
1. 타이머 / 카운트 0,1 [6]타이머 / 카운트 모드 1
Hanbat National University prof. Song Myoung Gyu
14
1. 타이머 / 카운트 0,1 [7]타이머 / 카운트 모드 2
Hanbat National University prof. Song Myoung Gyu
15
1. 타이머 / 카운트 0,1 [8]타이머 / 카운트 모드 3
Hanbat National University prof. Song Myoung Gyu
16
2. 타이머 / 카운트 2 [1] 프로그램머불 클럭 OUT 모드
Hanbat National University prof. Song Myoung Gyu
17
2. 타이머 / 카운트 2 [2]보오레이트 발생기 모드
Hanbat National University prof. Song Myoung Gyu
18
2. 타이머 / 카운트 2 [3]16bit 오토리로드 모드
Hanbat National University prof. Song Myoung Gyu
19
2. 타이머 / 카운트 2 [4]16bit 캡처 모드
Hanbat National University prof. Song Myoung Gyu
20
3. 타이머 / 카운트 레지스터 [1]TMOD –reg [1]
Hanbat National University prof. Song Myoung Gyu
21
3. 타이머 / 카운트 레지스터 [2]TMOD –reg [2]
모드 종류 타이머 / 카운트 0, 1 의 모드 ( 타이머 / 카운트 0 과 1 동일 ) 모드 0 13 비트 타이머 / 카운트 모드 1 16 비트 타이머 / 카운트 모드 2 오토 리로드 (auto-reload) 기능이 있는 8 비트 타이머 / 카운트
모드 3( 타이머 0,1 이 다름 )
2 개의 8 비트 타이머 / 카운트로 사용하는 타이머 / 카운트 0 시리얼 포트의 클록을 공급하기 위하여 사용하는 타이머 / 카운트 1
M1 M0 모드상테 Operating Mode
0 0 모드 0 13-bit timer/count
0 1 모드 1 16-bit timer/count
1 0 모드 2 8-bit Auto-reload timer/count
1 1 모드 3 (T/C 0) 각각 8bit timer/count th0, tl0
1 1 모드 3 (T/C 1) 시리얼 포트 클록을 공급하기 위하여 사용하는 타이머
Hanbat National University prof. Song Myoung Gyu
22
3. 타이머 / 카운트 레지스터 [3]TCON –reg
Hanbat National University prof. Song Myoung Gyu
23
3. 타이머 / 카운트 레지스터 [4]T2MOD –reg
Hanbat National University prof. Song Myoung Gyu
24
3. 타이머 / 카운트 레지스터 [5]T2CON –reg
Hanbat National University prof. Song Myoung Gyu
25
3. 타이머 / 카운트 레지스터 [6]SFR 영역