Atmega128의 PWM 제어 코드 및 설명
- 최초 등록일
- 2015.01.27
- 최종 저작일
- 2015.01
- 11페이지/
한컴오피스
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
Atmega128 PWM 제어 코드 및 설명 (코드 및 자세한 설명 첨부) A+ 받은 자료
목차
① ATMEGA128의 Timer/Counter CTC, PWM, Fast PWM설명 작성.
② 실습한 코드 (라인단위주석) 첨부.
본문내용
1. ATMEGA128의 Timer/Counter CTC, PWM, Fast PWM의 설명
* 타이머/카운트0의 동작
① CTC Mode(Compare Timer on Compare Match Mode)
● 주파수 분주 기능으로 주로 사용
● 상향카운터
● 0x00 ~ OCR0 계수 동작 반복
● OCR0값과TCNT0값이 같으면 카운트 도중Clear
● 오버플로우(OVF) 인터럽트
● (MAX=OCR0값일 때 발생, COMP인터럽트와 동일하게 작동되기 때문에 추천하지 않음)
● 비교매치(COMP) 인터럽트
● 주기 설정
<중 략>
여기서 타이머의 전반적인 내용을 정리하면
- 타이머는 MCU의 내부 클럭(ck I/O > 분주기 > ck T)을 이용하여 일정시간 간격의 펄스를 만들어 내거나 일정시간 경과 후에 인터럽트를 발생시키는 기능
- 카운터는 외부핀(TOSC1, TOSC2, T1, T2, T3)을 통해서 들어오는 펄스를 계수 하여 Event Counter로 동작되는 것을 말한다.
- 타이머는 원하는 주기를 설정하게 되고, 카운터는 클럭의 입력 횟수를 카운팅하게된다.
- ATmega128에서는 타이머 0~3까지 4개의 타이머/카운트가 존재한다. 이는 인터럽트와 PWM 출력 기능을 가진다.
- 0, 2는 8비트로 기능유사하고 1, 3은 16비트로 서로 기능이 유사하다. 하지만 타이머0은 32.768kHz의 수정 진동자에 접속하는 TOsC1, 2단자를 가지고 있어 Real time clock을 가지고 있다.
- 오버플로우에 발생하는 오버플로 인터럽트, 카운터값이 출력 비교 레지스터의 값과 같게 되는 경우 발생하는 출력 비교 인터럽트, 입력 캡처 인터럽트가 있다.
- PWM 기능은 출력 비교 기능을 이용하여 출력 비교 신호에 주기와 듀티비를 가변할 수 있는 출력 신호를 생성하여 OC0, OC2, OC1A~C, OC3A~C단자로 출력하는 것이다.
- 타이머 1,3은 외부 트리거 신호에 의해 현재 카운터값을 캡처할 수 있다.
(1) 타이머/카운트 0, 2
- PWM, 비동기 동작 모드를 갖는 8비트 업/다운 카운터로 10비트의 프리스케일러를 갖고 이를 이용해 내부 클럭을 소스로 받아 타이머/카운트를 동작한다.
참고 자료
없음