[ Log In ]
Potentiometer with adjustable knob.

50K Potentiometer Panel Mount (Non Trimmer) With Knob

$2.45
Qty:
3 Foot USB Cable Type A to USB Cable Type A

USB Cable Type A Male to USB Type A Male - 3 FT

$2.65
Qty:
USB 2.0 Cable 10 Foot Type A Male to Type B Male

USB 2.0 Cable Type A Male to Type B Male - 10 FT

$4.80
Qty:
84 oz-in NEMA 17 Stepping motors (also called stepper motor)
Image of the Atmega324p

Atmega324P

$8.50
Qty:

10K timmer potentiometer

10K Trimmer Potentiometer (Through Hole)

$0.85
Qty:
16x2 LCD (Liquid Crystal Display)

16x2 LCD (Liquid Crystal Display)

$12.50
Qty:
White prototyping breadboard with 30 tie strips and two power rails on each side.

White Prototyping Breadboard (2x30 columns of tie strips and 2x2 rows of power strips)

$7.95
Qty:
Clear Semi Transparent Breadboard

Clear Prototyping Breadboard (2x30 columns of tie strips and 2x2 rows of power strips)

$8.50
Qty:

Programming: Fast PWM (Pulse Width Modulation) with Interrupts and No Prescaling

The interrupts library must be included. The OCIE1A (Output Compare Interrupt Enable) is set in the TIMSK1 (Timer mask) register to enable the interrupts for the timer/counter when the ICR (Input Capture Register) is reached. The Global Interrupt is used sei();. When the ICR value is reached, the ISR (Interrupt Service Routine) for the TIMER1_COMPA_vect is called.
#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)
{
TCCR1A |= 1<<WGM11;
TCCR1B |= 1<<WGM12 | 1<<WGM13 | 1<<CS10;
TIMSK1 |= 1<<OCIE1A;

sei();

ICR1 = 19999;


while(1)
{
}
}

ISR(TIMER1_COMPA_vect)
{
//Code to execute when the Timer Reaches the ICR1 value.
}

Comments and Additional Information

Have some code to share? Or additional information? Respond here:

You need to be logged in to save a response on this page. The response must be constructive, helpful, supplimentary or to correct the existing video, code or narrative content.

Description:

Code (optional):