ATtiny2313 Timers/Counters - PowerPoint PPT Presentation

About This Presentation
Title:

ATtiny2313 Timers/Counters

Description:

... tutorial/control-avr-8-bit-timer-counter0-using-avr-gcc.html ... http://winavr.scienceprog.com/avr-gcc-tutorial/program-16-bit-avr-timer-wit h-winavr.html ... – PowerPoint PPT presentation

Number of Views:390
Avg rating:3.0/5.0
Slides: 15
Provided by: dickst
Category:

less

Transcript and Presenter's Notes

Title: ATtiny2313 Timers/Counters


1
ATtiny2313Timers/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
8-bit Timer/Counter0
  • Sample code can be found at
  • http//winavr.scienceprog.com/avr-gcc-tutorial/con
    trol-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/pro
    gram-16-bit-avr-timer-with-winavr.html

14
Prescaler
Write a Comment
User Comments (0)
About PowerShow.com