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

Slides:



Advertisements
Similar presentations
컴퓨터 계측 및 실습 개 요 영남대학교 기계공학부. PC 의 기본장치 PC 의 작동구조.
Advertisements

2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r 8259A 를 아는가 ??? 2 3 t h K o r e a O p e r a t i n g S y s t e m S e m i n a r.
14. 타이머와 PWM 활용 - 스마트 폰으로 제어하는 아두이노 -.
마이크로콘트롤러 설계 – 4 Timer 실습 2 – T1, T3
KT-M128 Peripheral Device
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
8051타이머/카운터 순천향대학교 정보기술공학부 이상정.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
AVR - Chapter 11 황 지 연.
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
컴퓨터 프로그래밍 기초 [Final] 기말고사
10장 주변장치 (PIO) Slide 1 (of 28).
PTZ카메라를 이용한 Target Tracking
TMS320F2812의 GPIO의 이해.
시스템 보안 [Buffer Overflow] DEC, 15, 2013 By 박동혁.
ATMEG2561 & TFT-LCD를 이용한 MOBILE DEVICE 구현
Arduino uno의 Hardware 구성부품의 종류와 그 용도.
07. 디바이스 드라이버의 초기화와 종료 김진홍
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 ADC 실습 아이티즌 기술연구소
마이크로 시스템 lecture8. Interrupt Greet class 선 덕 한.
ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Stop Watch <결과 보고서>
NodeMCU를 이용한 SmartPot 제작
Microprocessor I/O Port & CLCD Noh Jin-Seok.
과제#4 내용 정성훈.
ATmega128 기초와 응용 타이머/카운터.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
8장 대형 순차회로 문제의 해법 시프트 레지스터 카운터 ASM 도를 이용한 설계 One Hot encoding 복잡한 예제.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
DK-128 FND 실습 아이티즌 기술연구소
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
논리회로 설계 및 실험 5주차.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
2장. 변수와 타입.
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
13장 CTC and DMA Slide 1 (of 10).
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
ARM Development Suite v1.2
UNIT 25 SPI 로봇 SW 교육원 조용수.
ATmega128의 특징 아이티즌 기술연구소
10장. 실현기술 10.1 유한 어장 영향 10.2 디지털 필터의 기본 하드웨어 10.3 하드웨어에 의한 디지털필터 실현
MEGA8_XBee CPUPLAZA
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
제16강 입출력시스템 1.
DK-128 직렬통신 실습 아이티즌 기술연구소
ARM Development Suite v1.2
논리회로 설계 및 실험 4주차.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
TVM ver 최종보고서
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
System Security Operating System.
AdcRead API 함수 분석 마이크로프로세서.
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
Progress Seminar 양승만.
2. 프로세스 B 안우진 - 운영체제 -.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

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

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

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

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

사용 헤더파일 및 환경 설정 값 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의 오버플로우함수

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

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회씩 오버플로우 발생

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 초기값

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

실습 예제 1/3

실습 예제 2/3

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