Timer5 [atmega1281] 실험 9. AVR MCU의 타이머 활용 3 – PWM 실험 목적- ATmega1281 타이머로 PWM 출력을 만드는 방법을 익힌다. - PWM 출력을 사용하여 DC 모터의 속도를 조절하는 방법을 익힌다.실험 예비 과제1. Timer2와 Timer3은 PWM 모드로 동작시키고 Timer5는 실험 8에서처럼 CTC 모드로 동작시키려고 한다. 아래의 timer_init() 함수를 완성하고 그 내용을 설명하여라. void timer_init(void) { // Timer2를 Fast PWM 모드로 동작시키고 PWM 신호는 OC2A 핀으로 출력하려고 한다. // datasheet의 Table 20-8을 참조하여 Mode 3의 Fast PWM으로 동작하도록 설정한다. // 이 때 prescaler는 1로 설정하고 COM2A1 비트와 COM2A0 비트는 각각 1과 .. 2024. 11. 27. [atmega1281] 실험 8. AVR MCU의 타이머 활용 2 – 스피커 구동 실험 목적- ATmega1281 타이머의 CTC 모드를 활용하여 원하는 주파수를 가진 구형파를 출력하는 방법을 이해한다.- 타이머와 외부 인터럽트를 동시에 사용하는 방법을 익힌다.- 타이머 출력을 이용하여 스피커를 구동해 본다. 실험 예비 과제 1. 아래의 동작을 하도록 timer_init() 함수와 interrupt_init() 함수를 작성한다. void timer_init(void) { // Timer3을 CTC 모드로 하고 compare match가 발생할 때마다 OC3A 핀을 toggle시키도록 설정한다. // 이 때 타이머의 동작 모드만 설정하고 실제로 타이머가 동작하지는 않도록 해야 한다. // Timer5를 CTC 모드로 하고 0.1 초 간격으로 compare match inter.. 2024. 11. 21. [atmega1281] 실험 7. AVR MCU의 타이머 활용 1 – 기초 실험 목적 ATmega1281의 타이머 동작 모드 중 Normal 모드와 CTC 모드를 이해하고 그 사용 방법을 익힌다.타이머 인터럽트의 활용 방법을 익힌다. 실험 예비 과제 1. 다음 동작을 하는 함수 timer_init()을 작성하고 그 내용을 설명하여라.void timer_init(void) { // 16-bit 타이머인 Timer3을 CTC 모드로 동작하도록 설정하고 정확하게 250 개의 타이머 입력 clock // 마다 compare match가 발생하도록 OCR3A 레지스터의 값을 설정한다. prescaler는 /8로 설정한다. // 16-bit 타이머인 Timer5를 Normal 모드로 동작하도록 설정하고 prescaler를 /64로 설정한다. } WGMn0 ~ WGMn3 p.. 2024. 11. 20. [AVR] Timer Mode : "normal" vs "CTC" vs "PWM" Modes of Operation(atmega1281) Normal vs CTC vs PWMnormal modeoverflow가 발생할 때마다 timer 값을 지정해주어야 한다.=> 비효율적임RAM 사용을 최소화해야 하는 경우 (별도의 비교 레지스터 불필요)CTC mode (Clear Time on Compare match)compare register의 값과 같은지 비교기(하드웨어적으로)compare interrupt flag 자동으로 set정확한 주기의 인터럽트 생성PWMnormal + CTC compare match, overflow 모두 사용아날로그같은 출력(모터 속도 제어, LED 밝기 제어)이 필요할 때 Q. 원하는 주기의 구형파 신호를 출력하려면?? 1. normal mode : over.. 2024. 11. 7. [AVR] Timer / Counter Timer / Counter- 입력 클럭의 개수를 세기 위한 소자timer vs counter타이머(timer) : 입력 클럭이 일정한 주파수 펄스- MCU 내부 counter 입력으로 선택 : 시간 측정 가능카운터(counter) :입력 클럭의 주파수가 일정하지 않음- 외부 입력 신호를 counter 입력으로 선택 : 외부 발생 event의 횟수 측정 가능overflow flag- 각 타이머는 자신의 overflow flag를 가짐- timer나 counter에서 overflow가 발생하면 해당 bit가 set 된다. ->(timer overflow interrupt 발생하도록 설정 가능)- overflow flag를 기준으로 사용하면 timer overflow interrupt를 사용하여 일정한 시간.. 2024. 11. 5. 이전 1 다음