Presentation is loading. Please wait.

Presentation is loading. Please wait.

타이머카운터 사용법 휴먼네트웍스 기술연구소 2011.06.15.

Similar presentations


Presentation on theme: "타이머카운터 사용법 휴먼네트웍스 기술연구소 2011.06.15."— Presentation transcript:

1 타이머카운터 사용법 휴먼네트웍스 기술연구소

2 DK128 메인보드 – 연산, 제어 확장보드 - 입출력 Serial port Parallel port FND LED
high low FND low high LED low high EEPROM & Sensor ATmega 4K EEPROM Tact Switch EEPROM Power 1:TWI clock, 2:TWI data, 상위5~8:Infrared sensor

3 DK128의 결선 8 line 1 j19 1 - j15 + 2 61 1 1 j16 54 - + 35 42 8 line

4 LED OUT ATMEGA128 ADC=아날로그신호입력 Port A : I/O, 상위어드레스(ALE의한제어) 아날로그전원
프로그램 쓰기 LED OUT 전원 Port E : I/O, 외부인터럽트, ISP 프로그래밍 데이터/주소 모드 ATMEGA128 전원 Port B : I/O, 타이머, 카운터, PWM, SPI 외부데이터메모리 접근 모드 Oscillator Port D : I/O, TWI, UART직렬통신 Real time clock시 Oscillator

5 사용 헤더파일 및 환경 설정 값 Avr/io.h Avr/signal.h Avr/interrupt.h
CPU clock= 16,000,000 Hz Ticks per sec = 1,000 Prescaler = 64 // 클럭의 배수 – 크기,오버헤드 SIGNAL(SIG_OVERFLOW0) : timer0의 오버플로우함수

6 1. TCCR0 (T/C Control Register)
Prescaler(배수) 설정: 64 (계산식 편하게) 16MHz의 모든 클럭을 세기에는 데이터크기와 성능의 문제가 있어 배수를 이용. 비트 7 6 5 4 3 2 1 FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00 모드 W R/W 초기값 CS02 CS01 CS00 Prescaler 값 타이머/카운터 정지 1 Prescaler 사용하지 않음 8 32 64 128 256 1024

7 2. TCNT0 (Timer Counter Register)
하드웨어에 의해서 증가되는 레지스터 사용자는 초기화 시킬 때만 사용 OCR0 레지스터와 비교 인터럽트 할 경우 자동 초기화 비트 7 6 5 4 3 2 1 TCNT0[7:0] 모드 R/W 초기값 TCNT0 = 256 – (CPU_CLOCK/ TICKS_PER_SEC/ PRESCALER) 1초 1000번 배수 TCNT0 = 6 CPU_CLOCK = 16,000,000 TICKS_PER_SEC = 1,000 PRESCALER = 64 - TCNT0 레지스터는 1byte 크기 타이머카운터는 6부터 시작해 256이 되면 오버플로우가 발생하고 6으로 초기화 1/1000초(250회)마다 1회씩 오버플로우 발생

8 3. TIMSK (Interrupt Mask Register)
주기적인 인터럽트 처리 OCIE0: 매치 인터럽트 활성화 (0) TOIE0: 오버플로우 인터럽트 활성화 (1) 상태레지스터(SREG)의 I비트 1 설정 sei(); 비트 7 6 5 4 3 2 1 OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0 모드 R/W 초기값

9 1초마다 LED 깜빡이는 프로그램 구현 시작 1초대기 시작 1 클럭 경과 시간변수 = 0 LED 초기화 64클럭 경과?
64클럭 경과? 거짓 TCCR0 설정 시간변수 < 1초 TCNT0 초기화 호출 거짓 TIMSK 설정 TCNT0 1 증가 1초대기 종료 시간변수 인터럽트활성화 거짓 TCNT0 Overflow? 오버플로우신호 복귀 LED 반전 TCNT0 초기화 1초 대기 호출 SIG_OVERFLOW0 발생 무한 시간변수 1 증가 종료 신호처리 종료 사용자 프로그램 흐름 시스템 흐름

10 실습 예제 1/3

11 실습 예제 2/3

12 실습 예제 3/3 1초마다 LED toggle 하는 프로그램 완성하기 main함수내 설정 및 초기화 관련 코드 추가하기
앞에 선언된 sleep, SIGNAL함수 구현하기


Download ppt "타이머카운터 사용법 휴먼네트웍스 기술연구소 2011.06.15."

Similar presentations


Ads by Google