(결과) 타이머와 카운터
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 목적

2. 이론

3. 실험 및 결과
 1. 타이머로 LED 점멸시키기
 2. 타이머로 디지털시계 만들기

4. 참고

본문내용

1. 목적
 1. 클록과 카운터
 2. Atmega128의 타이머 / 카운터
 3. 8-bit 타이머 / 카운터의 일반 동작모드
 4. 타이머로 LED 점멸시키기 (실습)
 5. 타이머로 디지털시계 만들기 (실습)

2. 이론
 타이머/카운터는 내부 I/O clock이나 외부의 크리스털을 소스로 사용하고 사용자가 필요로 하는 주기를 설정하여 일정한 주기로 발생하는 임의의 작업을 할 수 있다. 즉, 타이머/카운터는 입력으로 들어오는 펄스를 셈하는 장치라고 정의할 수 있다. 입력으로 들어오는 펄스가 어디에 존재하느냐에 따라서 타이머와 카운터로 나뉜다. 즉, 클록의 소스가 마이크로컨트롤러의 크리스탈에 의존하면 타이머가 되고, 마이크로컨트롤러의 외부 핀(카운터 전용 핀)에 들어오는 펄스를 셈하면 카운터가 되는 것이다. 타이머/카운터는 단순히 펄스를 셈하는 것이 아니고, 시간과 관련된 기능인 시간 지연, 이벤트 카운팅, 펄스 폭 측정, 펄스 폭 변조(PWM, Pulse Width Modulation), 직렬 포트의 보레이트(Baud rate) 발생기, Input Capture 기능, Output Compare 기능 등 여러 가지에 응용되고 있다. 이러한 기능은 타이머/카운터의 부수적인 기능으로 범용 타이머/카운터는 이러한 기능이 없고, 특수 타이머/카운터에만 존재한다. 타이머/카운터를 흔히 통칭해서 부르기에 같은 기능이라고 생각하고 사용하지만 실상 세분하여 본다면 타이머와 카운터는 엄연히 서로 다른 기능을 말하는 것을 이해해야 한다.




≪ … 중 략 … ≫




3. 실험 및 결과

 1. 타이머로 LED 점멸시키기

  동작: 타이머0을 사용하여 LED를 주기적으로 점멸한다.(1초 간격)
  포트 연결: 포트 E를(0~7비트까지 모두) 출력 포트로 사용한다.
  소스 설명
   1) AVR 입출력에 대한 헤더 파일과 타이머 인터럽트를 사용하기 위한 헤더파일을 선언한다.
   2) 타이머 0 Overflow 인터럽트 서비스 루틴을 선언한다.
   3) LED 모듈에 데이터를 보내기 위해 PORT E를 출력으로 설정한다.
   4) 타이머0 에 대해 설정한다.
   1024분주, Overflow까지의 TCNT0 카운트를 72로 설정한다.
   (1 / (7.3728 Mhz / 1024 prescaler))*72=>0.01s에 Overflow가 발생된다.
   5) 전체 인터럽트를 허용한다.
   6) LED_Data를 Port E로 보내 LED를 점등한다.
   7) 타이머 0 Overflow가 발생되면 이 루틴이 실행된다.
   Overflow가 발생되면 TNCT0값은 0으로 초기화되므로 다시 일정하게
   Overflow를 발생시키려면 TCNT0 값을 재설정한다.
   timer 0Cnt가 100이 된다는 것은 0.01 x 100 = 1 즉, 1초가 되었다는 의미가 된다.
   주의 : 반드시 최적화 옵션을 -O0로 설정해야 한다.
   Project -> Configuration 실행, Optimization에서 설정한다.

키워드

  • 가격1,800
  • 페이지수10페이지
  • 등록일2012.07.04
  • 저작시기2011.11
  • 파일형식아크로뱃 뷰어(pdf)
  • 자료번호#756912
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니