Skip to content

Atmega Pwm Sample Cover Letter

ATtiny bit PWM using TC1

Created on: 20 May

Part 14 of the ATtiny Tutorial

Timer/counter1 of the ATtiny is used for generating a PWM output wave that dims an LED. The PWM is set up in the C code for bit resolution.

Circuit Diagram

TC1 has two output pins that can be used for PWM output. For this example, an LED is connected to OC1A (PB3, pin 15) as shown in the circuit diagram.

OC1A and other TC1 pins can be seen on the ATtiny outline in the diagram below. Only OC1A is enabled in this exercise. The other pins can be used as general purpose I/O.

C Source Code and Project Files

The C code initializes timer/counter1 in bit PWM mode and selects the system clock as the clock source for the PWM.

Every 2 seconds, a new value is written to the OCR1A register which changes the width of the PWM pulse on the OC1A pin.

This example works the same way as the TC0 PWM example in this tutorial, but this time with a bit resolution PWM instead of 8-bit.

#define F_CPU UL #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << PB3); // PWM output on PB3 // phase correct PWM, bit TCCR1A = (1 << COM1A1)| (1 << WGM11) | (1 << WGM10); OCR1A = 0x10; // initial PWM pulse width // clock source = clock / 1 ; start PWM TCCR1B = (1 << CS10); while(1) { // change PWM pulse width every 2 seconds _delay_ms(); OCR1A = 0x10; _delay_ms(); OCR1A = 0x40; _delay_ms(); OCR1A = 0x; _delay_ms(); OCR1A = 0x2FF; _delay_ms(); OCR1A = 0x3FF; // maximum bit value } }

Atmel Studio Project Files

The above source code with Atmel Studio 6 project files and hex output file can be downloaded here: (kB)

Если до этого Хейл не знал, что они идут, то теперь отлично это понял. Стратмор нажал несколько кнопок и, прочитав полученное сообщение, тихо застонал. Из Испании опять пришли плохие новости - не от Дэвида Беккера, а от других, которых он послал в Севилью. В трех тысячах миль от Вашингтона мини-автобус мобильного наблюдения мчался по пустым улицам Севильи.

Он был позаимствован АНБ на военной базе Рота в обстановке чрезвычайной секретности.