타이머 8051 타이머 타이머 설정 및 모드 dolicom@naver.com http://blog.naver.com/dolicom.

Slides:



Advertisements
Similar presentations
학교 자체평가의 실제 신 동 한. 목 차  표지 제목  학교 소개  평가위원회 구성  지표별 평가의 실제  학교 자체평가의 향후 반영 계획  설문지 처리.
Advertisements

Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
KT-M128 Peripheral Device
8051 Serial 통신 Mode 0 : 동기 통신 Mode 1,2,3 : 비동기 통신
(4) 우리 나라의 이상과 목표 2. 국가의 중요성과 국가 발전 중학교 2학년 도덕
3 8051을 위한 C 언어 프로그래밍.
KT-M128 Peripheral Device
일 러 두 기 ◆ 이 책자는 경고, 주의, 참고로 구분되어 있습니다. 경 고
2009 학교정보공시 입력 유의 사항 안내 광주광역시교육청.
새 정부의 공정거래정책 추진방향 Ⅲ 공정위는 새롭게 변하겠습니다. - 튼튼한 기업, 활기찬 시장, 행복한 소비자 -
8051타이머/카운터 순천향대학교 정보기술공학부 이상정.
포사체 실험 1조 김민수 전수진 이예연 오혜윤 최지수.
ROBOTICS LAB. DSP TMS320F2812 ROBOTICS LAB.
AVR 실습.
최종 프로젝트 Final Experiments in Electrical & Computer Engineering 1
PNP-804 사용설명서 및 사양서 삼성피엔피시스템 서울시 구로구 구로동 1262번지 B32,33호
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
리눅스 커널의 이해 중에서 4장. 인터럽트와 예외 이성현 네트워크 실험실.
Switched – Mode Power Supply
Serial Communication 80C196KC UART(Universal Asynchronous Receiver Transmitter)는 세 종류의 비동기 모드와 한 개의 동기 모드가 있다. 비동기 모드에서는 풀 듀풀렉스(full duplex)로 송/수신을 동시에.
1. 근접경호의 개념 경호대상의 신변을 보호하기 위하여 지근거리에서 실시하는 호위활동을 말하며 경호행위의 마지막 보루이다.
2013 여름방학중 근무지외 연수 결과보고서 함수발생기 사용법 (전자기계제어교과 교수학습자료) 교사 O O O.
커뮤니케이션 스킬 UP -전화매너- ..
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
10장 주변장치 (PIO) Slide 1 (of 28).
DC Motor Control.
Analog Signal 의 PWM 출력 By hyaoo.
임베디드 하드웨어 Lecture #6.
논리의 표현 진법과 숫자 표현 2진수와 10진수 문자의 표현
순환&면역 6조 박아름 이명동 최제춘.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
ATmega128 CH 1 Atmega 128 Board CodeVision.
GDK-CIDU GDK 및 LDK-Series에 사용할수 있는 Caller ID박스 ■ 발신자 번호 표시 개요
AVR - Chapter 6 황 지 연.
UNIT 18 AD Converter Test 로봇 SW 교육원 조용수.
FSM 설계.
마이크로 시스템 lecture8. Interrupt Greet class 선 덕 한.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
타이머카운터 사용법 휴먼네트웍스 기술연구소
PSW : PROGRAM STATUS WORD
타이머/카운트 정리 정보통신•컴퓨터 공학부 송명규
Stop Watch 예비제안서 10조 이인희 김민석 박재원
V. 인류의 건강과 과학 기술 Ⅴ-3. 첨단 과학과 질병 치료 1. 과학적 진단.
교육과정과 주요업무.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
2011년2학기 임베디드시스템 응용(# ) #5. Timer_3
ETACS.
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
1. 실험 목적 회전체를 일정한 힘으로 회전시켜 에너지 보존 법칙을 이용하여 관성 모멘트를 구한다.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
제12장 지역사회서비스혁신사업과 바우처.
4.19 혁명의 원인과 과정, 결과 사 회 6학년 1학기 3. 대한 민국의 발전 [2]민주 시민이 승리하던 날들(9/14)
우리나라의 수자원 물 보기를 금같이 우리나라의 수자원 현황 우리나라의 수자원 이용 현황.
체크포인트 가정 내 일어나는 사고에 대해 알아보고 사고예방을 위해 주의한다. | 예방법 장소별 사고 – 방과 거실 1 2 높은 곳 에 물건 두지 않기! 날카로운 모서리는 천으로 씌우기!
2015학년도 고등학교 신입생 전형요강 설명회 광주광역시교육청 미래인재교육과 진로진학지원센터.
LCD.
지역의 자연 환경과 인문환경 조사 사회 1학년 1학기 Ⅰ.지역과 사회 탐구>1.지역사회의 지리적 환경(3/6
실험 목적 회전축에 대한 물체의 관성모멘트를 측정하고 이론적인 값과 비교한다 .
세부 상세 페이지 & 기획전 인스타그램 비슷한 레이아웃으로 이하 폼리스 TL600 상세페이지 100,000원 [56%]
자료정제 사용자 교육 (교무업무 부문) 차세대 나이스 구축을 위한 장소: 광주광역시교육과학연구원 대강당 일정
15 향 소 제 소사고 제15회 일시|` (목) 9:00~17:00 장소|소사고등학교 교정 th
1학년 신입생 학부모교실 안내사항 2019년 3월 6일 1학년부장 김희선.
시민이 체감하는 편리한 건축인허가 절차 개선 추진.
유체역학 마이크로마노미터의 이론과 공식을 설명하라. 환경공학과 김기복.
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
제2기 지역사회복지계획 수립, 추진 및 평가 사 례 발 표
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

타이머 8051 타이머 타이머 설정 및 모드 dolicom@naver.com http://blog.naver.com/dolicom

카운터의 원리와 디지털회로 2진 카운터 (Binary Counter) 디지털 회로에 의해 이루어 진다. 정해진 초기 값으로 부터 1증가 하거나 1감소 한다. 설계 시 카운터 비트 수가 결정되어 있어 그 비트수가 지정할 수 있는 최대 범위가 넘으면 0으로 간다. (예) 4비트 2진 카운터는 0부터 15까지 16 상태로 카운터 된다. 0 → 1 → 2 → … → 14 → 15 → 0 → 1 → …

카운터는 클럭에 의해 상태가 바뀐다. 0 1 2 3 4 5 6 7 0 Q2 0 0 0 0 1 1 1 1 0 > 조합 논리 0 1 2 3 4 5 6 7 0 D CLK Q > Q2 0 0 0 0 1 1 1 1 0 조합 논리 회로 D CLK Q > Q1 0 0 1 1 0 0 1 1 0 D CLK Q > Q0 0 1 0 1 0 1 0 1 0 CLK CLK

8051 타이머 타이머/카운터

타이머(Timer)와 카운터(Counter) 1머신사이클(내부 시스템 클럭 1/12)을 세는 것을 말함 카운터(Counter) 외부 핀에 입력되는 클럭 또느 이벤트를 세는것을 말함. 이것을 타이머와 구별없이 혼용해서 사용. 방법 타이머/카운터 0는 SFR영역의 TH0,TL0 타이머/카운터 1는 SFR영역의 TH1,TL1 클럭이 입력될 때, +1 증가하는 업카운터(up counter)

타이머의 구조 XTAL 카운터 (디지털 카운터) 오버플로 인터럽트 시스템 클럭 플래그 설정 클럭 발생 외부 핀 입력

타이머의 사용 타이머 레지스터가 오버플로 (0xFFFF->0x0000)가 발생하면, TCON 레지스터내의 TF(Timer Overflow)가 셋된다. Timer 0 -> TF0, Timer 1 -> TF1 타이머 2은 시리얼 포트의 보레이트 제너레이터(Baud rate gererator)로 동작 시킬 수 있다. 4개의 타이머는 TMOD와 TCON을 사용하여 프로그램 한다.

TMOD 레지스터 GATE C/T M1 M0 GATE C/T M1 M0 Timer 2 Timer 1 7 6 5 4 3 2 1 0 GATE C/T M1 M0 GATE C/T M1 M0 Timer 2 Timer 1 GATE : 외부 인터럽트 핀(INT1, INT0)을 이용해서, 타이머를 정지/동작을 제어 한다. 1. GATE=1, TR0=1 : INT0=1 – 타이머1 동작, INT0 – 정지 GATE=1, TR1=1 : INT1=1 – 타이머2 동작, INT1 – 정지 2. GATE=0 : INT0,INT1 핀을 사용하지 않으며, TCON내의 TR0, TR1에 따라 동작/정지 된다. C/T (Counter/Timer selector) : 카운터/타이머 모드를 결정 1. C/T=1 : 카운터 모드 – 입력 핀 T0, T1에서 들어오는 펄스를 센다. C/T=0 : 타이머 모드 – 시스템 클럭/12을 센다. M1:M0 : 동작 모드 설정 4가지 모드를 지원 한다.

타이머 클럭 구조 T0 핀(P3.4) XTAL ÷ 12 C/T = 0 C/T = 1 TR0(TCON) GATE(TMOD) oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) TR0(TCON) GATE(TMOD) INT0 핀(P3.2)

타이머로 사용 – 시스템 클럭 사용 T0 핀(P3.4) XTAL ÷ 12 C/T = 0 C/T = 1 1=동작 1 oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) 1=동작 1 TR0(TCON) 1 1 GATE(TMOD) INT0 핀(P3.2)

타이머 사용 – 시스템 클럭 사용 T0 핀(P3.4) XTAL ÷ 12 C/T = 0 C/T = 1 1=동작 1 oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) 1=동작 1 TR0(TCON) 1 1 GATE(TMOD) 1 INT0 핀(P3.2)

타이머로 사용 – 외부 클럭 사용 T0 핀(P3.4) XTAL ÷ 12 C/T = 0 C/T = 1 1=동작 1 oscillator ÷ 12 C/T = 0 C/T = 1 T0 핀(P3.4) 1=동작 1 TR0(TCON) 1 1 GATE(TMOD) INT0 핀(P3.2)

TCON 레지스터 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Timer2 Timer1 Interrupt 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Timer2 Timer1 Interrupt TR1/TR0 : 타이머/카운터 동작/정지 제어 한다. TR0=1 : 타이머/카운터 0 동작 TR0=0 : 타이머/카운터 0 정지 TF1/TF0 : 타이머/카운터 오버플로 플래그 TF0 : 타이머/카운터 0의 카운터 레지스터(TH1, TH0)가 오버플로가 되면 셋된다. *이 때 다음과 같이 인터럽트 처리 된다.. - 인터럽트 인에이블되어 있고 - 인터럽트 요청하게 되면 - 인터럽트 처리가 끝나면 자동으로 클리어 된다

타이머/카운터의 동작 모드 4가지 동작 모드 지원 TMOD의 M1:M0을 이용 설정 모드 0~2는 타이머/카운터 1과 2이 똑같이 동작 모드 3에서는 모듈1과 2가 다르다.

모드 0 32분주 프리스케일러(prescaler)+8비트카운터 TL0: 31→0 TH0: 255→0 ÷ 12 오버플로 플래그 OSC ÷ 12 오버플로 플래그 0→31 카운팅 0→255 카운팅 Interrupt 0x000B TL0(5bit) TH0(8bit) TF0 T1 외부클럭 오버플로가 발생하면 TF0 셋 인터럽트 인에이블(enable) 되어 있으면 인터럽트 요청 ISR로 가기전에 TF0를 클리어 하고 ISR로 들어가서 인터럽트 처리 한다. 클럭선택(C/T0) 동작설정 TR0 GATE0 INT0

모드 0의 프로그램 우선 TMOD동작 모드 및 동작 설정 한다. TMOD = 0x04; 타이머 1 동작 모드 M1:M0= 00 : 모드 0 GATE0=0 : 사용 않함 C/T0 = 1 : 가운터로 동작 – 외부클럭 T0 사용 타이머 2 동작 모드 0, GATE1=0 : 사용 않함 C/T0 = 0 : 타이머로 동작 – 시스템 클럭 사용 시정수 결정 TH0=255;- 시정수 256-255=1 : 32x1 TH1=90; - 시정수 256-90=166, 전체 시정수=32x166 타이머 동작 시작 TR0=1; TR1=1; - 타이머1/2 동작시작

모드 1 16비트 카운터 : 8비트 + 8비트 모드 0와 모든 동작은 같고 5비트 대신 8비트로 바뀜 TH0: 255→0 TL0: 255→0 OSC ÷ 12 오버플로 플래그 0→255 카운팅 0→255 카운팅 Interrupt 0x000B TL0(8bit) TH0(8bit) TF0 T1 외부클럭 클럭선택(C/T0) 동작설정 TR0 GATE0 INT0 모드 0와 모든 동작은 같고 5비트 대신 8비트로 바뀜

모드 2 8비트카운터 : Auto Reload TH0(8bit) TL0: 255→0 Auto reload ÷ 12 오버플로 OSC ÷ 12 오버플로 플래그 Interrupt 0x000B TL0(8bit) TF0 TH0→255 카운팅 T1 외부클럭 TL0: 255→0 클럭선택(C/T0) 동작설정 TR0 GATE0 INT0

모드 3 – 타이머 1 8비트카운터 – TH0, TL0 카운터 Interrupt 0x001B TH0(8bit) TF1 ÷ 12 동작설정 TR1 TH0(8bit) TF1 OSC ÷ 12 Interrupt 0x000B TL0(8bit) TF0 TH0→255 카운팅 T1 외부클럭 클럭선택(C/T0) 동작설정 TR0 GATE0 INT0

모드 3 – 타이머 2 8비트카운터 – TF1은 사용 불가능 TH1(8bit) ÷ 12 TL1(8bit) OSC ÷ 12 TL1(8bit) Serial Port 클럭 TH0→255 카운팅 T1 외부클럭 클럭선택(C/T1) 동작설정 TR1 GATE1 INT1

8051 타이머 Timer2

T2CON 레지스터 0xC8 TF2 EXF2 RCLK TCLK EXEN2 TR2 CP/T2 CP/RL2 7 6 5 4 3 2 1 0 TF2 EXF2 RCLK TCLK EXEN2 TR2 CP/T2 CP/RL2 TF2 : Overflow가 되면 1로 되고 SW로 지움. RCLK/TCLK=1이면 동작 안함. EXF2 : Capture/Reload일 때, T2EX가 오면 1로 됨. EXEN2=1일 때 동작. - 인터럽트 요청 EXF2=1이면 Timer2 Vector로 처리-인터럽트 루틴 실행. - DCEN=1로 Up/Down Counter Mode에서 동작 안함. RCLK : Serial Mode1/3에서 Receive clock으로 사용. TCLK : Serial Mode1/3에서 Transmit clock으로 사용. EXEN2 : Timer2 External 동작. TR2 : Timer2의 동작 시작/멈춤 설정. CP/T2 : Timer / Counter(외부 입력 사용) 설정. CP/RL2 : Capture/Reload 선택.

Timer2 동작 모드 16비트 자동 재로드 모드 16비트 캡쳐 모드(capture mode) 16비트 보레이트 발생기 모드 특정한 조건에서 16비트 카운터에 RCAP2H 및 RCAP2L 레지스터의 값을 로드 16비트 캡쳐 모드(capture mode) 외부의 T2EX 신호에 의하여 현재의 타이머 레지스터 값을 캡쳐 16비트 보레이트 발생기 모드 (Baud Rate Generator Mode) T2CON 레지스터에서 TCLK이나 RCLK 비트를 최소한 1개만 세트시켜도 설정 16비트 프로그래머블 클럭 출력 모드 (Programmable Clock-Out Mode) 보레이트 발생기 모드에서 발생되어 직렬 포트에 제공되는 주파수 신호를 외부 단자로 출력할 수 있는 기능

Timer2의 동작 모드 – T2CON TR2 TCLK/RCLK CP/RL2 T2OE 모드 1 16비트 Auto-Reload 모드 16비트 Capture 모드 x 16비트 Baud Rate 발생 모드 1(C/T=0) 16비트 Programmable Clock-Out모드 타이머2 동작 OFF