타이머/카운트 정리 정보통신•컴퓨터 공학부 송명규 정보통신•컴퓨터 공학부 송명규 Hanbat National University prof. Song Myoung Gyu
0. 타이머/카운트 개념 [1] Timer Counter Using 1머신사이클(내부 시스템 클럭 1/12)을 세는 것을 말함 외부 핀에 입력되는 클럭 또는 이벤트를 세는것을 말함 이것을 타이머와 구별없이 혼용해서 사용 Using 타이머/카운터 0는 SFR영역의 TH0,TL0 타이머/카운터 1는 SFR영역의 TH1,TL1 클럭이 입력될 때, +1 증가하는 업카운터(up counter) Hanbat National University prof. Song Myoung Gyu
0. 타이머/카운트 개념 [2] 타이머의 구조 XTAL 카운터 인터럽트 오버플로 플래그 (디지털 클럭 설정 카운터) 발생 타이머/카운터 동작 Clock 입력 +1 증가 Overflow 발생 TCON reg.의 TF0/TF1 bit set TH0 TL0 타이머/카운터0 8bit TH1 TL1 타이머/카운터1 타이머의 구조 XTAL 카운터 (디지털 카운터) 오버플로 인터럽트 플래그 설정 클럭 발생 Hanbat National University prof. Song Myoung Gyu
0. 타이머/카운트 개념 [3] If) Timer Register Overfloow(0xFFFF->0x0000) Than TCON Register TF Flag : Set 1 Timer 0 -> TF0, Timer 1 -> TF1 타이머 1은 시리얼 포트의 Baud rate generator로 동작 가능 각 타이머는 TMOD와 TCON을 사용하여 프로그램 Hanbat National University prof. Song Myoung Gyu
0. 타이머/카운트 개념 [4] 타이머 클럭 구조 T0 핀(P3.4) XTAL oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) TR0(TCON) GATE(TMOD) INT0 핀(P3.2) Hanbat National University prof. Song Myoung Gyu
0. 타이머/카운트 개념 [5] 타이머로 사용 T0 핀(P3.4) XTAL oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) 1=동작 1 TR0(TCON) 1 1 GATE(TMOD) 1 INT0 핀(P3.2) Hanbat National University prof. Song Myoung Gyu
0. 타이머/카운트 개념 [6] 카운터로 사용 T0 핀(P3.4) XTAL oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) 1=동작 1 TR0(TCON) 1 1 INT0 핀(P3.2) Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [1] Hanbat National University prof. Song Myoung Gyu 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
1. 타이머/카운트 0,1 [2] Hanbat National University prof. Song Myoung Gyu 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의 and 동 작 이며 t1는 int1 pin과 tr1 bit의 and 동작이다. 이는 외부 펄스를 카운터 하거 나 클럭 펄스와 동기시켜 제어를 할시 유효한다. ex) 주파수 측정, 펄스폭 측정, ir 리모콘 data 해독시 응용되고 있다. 타이머/카운트 1은 모드2로 시리얼통신시 보오레이트 발생기로 사용된다. Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [3] Hanbat National University prof. Song Myoung Gyu 모드 종류 타이머/카운트 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 13-bit timer/count 1 모드 1 16-bit timer/count 모드 2 8-bit Auto-reload timer/count 모드 3 (T/C 0) 각각 8bit timer/count th0, tl0 모드 3 (T/C 1) 시리얼 포트 클록을 공급하기 위하여 사용하는 타이머 Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [4] 타이머/카운트 모드 Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [5] 타이머 / 카운트 모드 0 Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [6] 타이머 / 카운트 모드 1 Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [7] 타이머 / 카운트 모드 2 Hanbat National University prof. Song Myoung Gyu
1. 타이머/카운트 0,1 [8] 타이머 / 카운트 모드 3 Hanbat National University prof. Song Myoung Gyu
2. 타이머/카운트 2 [1] 프로그램머불 클럭 OUT 모드 Hanbat National University prof. Song Myoung Gyu
2. 타이머/카운트 2 [2] 보오레이트 발생기 모드 Hanbat National University prof. Song Myoung Gyu
2. 타이머/카운트 2 [3] 16bit 오토리로드 모드 Hanbat National University prof. Song Myoung Gyu
2. 타이머/카운트 2 [4] 16bit 캡처 모드 Hanbat National University prof. Song Myoung Gyu
3. 타이머/카운트 레지스터 [1] TMOD –reg [1] Hanbat National University prof. Song Myoung Gyu
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 13-bit timer/count 1 모드 1 16-bit timer/count 모드 2 8-bit Auto-reload timer/count 모드 3 (T/C 0) 각각 8bit timer/count th0, tl0 모드 3 (T/C 1) 시리얼 포트 클록을 공급하기 위하여 사용하는 타이머 Hanbat National University prof. Song Myoung Gyu
3. 타이머/카운트 레지스터 [3] TCON –reg Hanbat National University prof. Song Myoung Gyu
3. 타이머/카운트 레지스터 [4] T2MOD –reg Hanbat National University prof. Song Myoung Gyu
3. 타이머/카운트 레지스터 [5] T2CON –reg Hanbat National University prof. Song Myoung Gyu
3. 타이머/카운트 레지스터 [6] SFR 영역 Hanbat National University prof. Song Myoung Gyu