Presentation is loading. Please wait.

Presentation is loading. Please wait.

ATtiny2313 Timers/Counters CS-423 Dick Steflik. What Do You Use Timers For? Timing of events (internal or external)‏ Scheduling Events Measuring the width.

Similar presentations


Presentation on theme: "ATtiny2313 Timers/Counters CS-423 Dick Steflik. What Do You Use Timers For? Timing of events (internal or external)‏ Scheduling Events Measuring the width."— Presentation transcript:

1 ATtiny2313 Timers/Counters CS-423 Dick Steflik

2 What Do You Use Timers For? Timing of events (internal or external)‏ Scheduling Events Measuring the width of a pulse Speed control of motors (PWM)‏ Generation of complex waveforms Frequency generation (sounds)‏

3 The concept of using a timer/counter Counters run asynchronously to your code Can be setup to start based on an internal or external event Can generate interrupts Can signal to a pin

4 Example To time a piece of code:  Initial the counter to 0, have it interrupt on overflow  Interrupt handler should count overflows  Start the counter  Run your code  At end of code read counter and add to number of overflows to get total time

5 Example To time an incoming pulse/event:  Setup interrupts on rising and falling edge of pulse and overflow of counter  In handler for rising edge start counter  In handler for overflow, count the overflows  In handler for falling edge read counter and add overflows to get time of pulse/event

6 Example Motor control:  Use counter to generate a pulse train to control speed of DC motors Full speed = full power (infinitely wide pulse Low speed = narrow pulses with wide down time 50% speed = equal up and down times  Can only control very small motoers directly, must use high power transistors to drive bigger motors This is came idea as intermittent wipers on a car

7 2 Timer/Counter Units 8-bit Timer/Counter0 w/PWM 16-bit Timer/Counter1 Timer/Counter1 and Timer/Counter0 prescalers

8 8-bit Timer/Counter0 Single channel counter Frequency Generator External Event Counter 10-bit clock prescaler  Only used with internal clock  Scale by: 1, 8, 64, 256, 1024

9 8-bit Timer/Counter0

10 Sample code can be found at: http://winavr.scienceprog.com/avr-gcc-tutorial/control-avr-8-bit-timer-counter0-using-avr- gcc.html

11 16-bit Timer/Counter1

12 Modes of Operation Normal Mode – always counts up, no clear, counter just overruns Clear Timer on Compare match (CTC mode)‏ Fast PWM Mode Phase Correct PWM mode Phase and Frequence Correct PWM mode

13 16-bit Timer/Counter1 Sample code can be found at: http://winavr.scienceprog.com/avr-gcc-tutorial/program-16-bit-avr-timer-with- winavr.html

14 Prescaler


Download ppt "ATtiny2313 Timers/Counters CS-423 Dick Steflik. What Do You Use Timers For? Timing of events (internal or external)‏ Scheduling Events Measuring the width."

Similar presentations


Ads by Google