DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 2009.12.08.

Slides:



Advertisements
Similar presentations
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
Advertisements

AVR 응용 라인트레이서 AVR 소개 및 라인트레이서조립 2012 – AVR 응용 라인트레이서 부산대학교 기계공학부 생산자동화 실험실 박사과정 조광호.
마이크로콘트롤러 설계 – 4 Timer 실습 2 – T1, T3
KT-M128 Peripheral Device
일 러 두 기 ◆ 이 책자는 경고, 주의, 참고로 구분되어 있습니다. 경 고
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
DISPLAY Block diagram BASE BOARD CPU BOARD DDR-3 1GB (256MB X 4) CPU
임베디드 시스템 개론 8. 임베디드 시스템 개발 환경 8주차 강의 자료 Embedded System Lab.
One Step Closer - AVR ATMEGA128 -
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
다섯째날 : 외부 인터럽트 - 당근이의 AVR 갖고 놀기 - 당근닷컴
제 2장 컴퓨터 구조.
H-Smart4412TKU 사용법 전자정보공학과 이 종 복.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
마이크로프로세서 메모리 및 입출력장치 인터페이스
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
SMS를 이용한 오토바이 도난방지장치 5조 김성중 노광훈 최영미.
마이크로프로세서 응용 및 실습 (AVR Microprocessor) 정 원 근.
10장 주변장치 (PIO) Slide 1 (of 28).
2 AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128.
임베디드 하드웨어 Lecture #6.
자동제어 실험(2) 라인트레이서 제어.
DSP와 TMS320F28X의 이해
ATmega128 CH 1 Atmega 128 Board CodeVision.
DSP와 TMS320F28x의 이해.
Introduce to ATmega128 & Codevision
1. 아두이노란 무엇인가? - 스마트 폰으로 제어하는 아두이노 -.
Chapter 02 시스템 구조(System Structure)
AVR - Chapter 13 황 지 연.
Arduino uno의 Hardware 구성부품의 종류와 그 용도.
아두이노와 Node.js를 이용한 IoT 프로젝트
Chapter 10. Interrupt.
AVR - Chapter 6 황 지 연.
5장. 센서활용 전자회로 설계 및 제작 1. Digital Clock Board
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Ticket Dispenser Technical Manual
냉난방 시스템 설계 논리회로 설계 및 실험 텀 프로젝트 제안서 16조 김태광 정상훈.
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 ADC 실습 아이티즌 기술연구소
ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
제 2장 컴퓨터동작의 기본 개념.
다섯째날 : 외부 인터럽트 - 당근이의 AVR 갖고 놀기 - 당근닷컴
타이머/카운트 정리 정보통신•컴퓨터 공학부 송명규
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
BLACK OUT 신개념 연합동아리 블랙아웃에서 1기를 모집합니다!
ATmega128 기초와 응용 타이머/카운터.
타이머 8051 타이머 타이머 설정 및 모드
PIC16C84의 외형 RA2 1 RA1 I/O PIN I/O PIN RA3 RA0 RTCC OSC1 발 진 RESET
DK-128 FND 실습 아이티즌 기술연구소
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
ATmega128의 특징 아이티즌 기술연구소
OSEK/VDX 기반 차량 전장용 운영체제 및 MCAL 기술 V2.0 (Qplus-Auto OSEK Edition V2.0)
○ 직 무 기 술 서 드라이빙센터 매니저 1. 주요 업무 2. 자격요건 직 무 드라이빙센터 매니저 근무형태
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
제16강 입출력시스템 1.
DK-128 직렬통신 실습 아이티즌 기술연구소
아두이노 프로그래밍 Lecture #
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 2009.12.08

DK-128 메인보드 – 연산, 제어 확장보드 - 입출력 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

DK-128의 결선 8 line j19 red - j15 + black j18 j16 - + 8 line 1 1 2 61 1 25 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: 매치 인터럽트 활성화 (0B00000010) TOIE0: 오버플로우 인터럽트 활성화 (0B00000001) 상태레지스터(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 반전 참 시간변수 1증가 1초 대기 호출 SIG_OVERFLOW0 발생 무한 TCNT0 초기화 종료 신호처리종료 사용자 프로그램 흐름 시스템 흐름

실습 예제 1/3

실습 예제 2/3

실습 예제 3/3 앞에 선언한 함수를 구현하기 1초 마다 LED를 토글시키는 프로그램