From:
Subject: Prac 4 - PWM
Date: Thu, 2 Aug 2007 11:31:56 +1000
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0064_01C7D4F8.BB6561F0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
This is a multi-part message in MIME format.
------=_NextPart_000_0064_01C7D4F8.BB6561F0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itee.uq.edu.au/~elec2002/pracs/prac_4/index.html
Prac 4 - PWM
ELEC2002 - Prac 4
Pulse Width Modulation (PWM)
| Updated 6 September, 2006
| Author: Peter=20
Waldeck |
Goal
- Gain more experience with AVR assembly language programming.=20
- Using assembly language you should understand:=20
- How to write procedures=20
- How to use interrupts in the AVR processor=20
- How to use the Timer/Counter1 PWM function to generate variable=20
voltages.
See the following topics:=20
Back to =
Lab=20
Experiment Index=20
Preparation
-
Pulse Width Modulation
PWM allows variable-width pulses to be output to a pin, allowing =
the AVR to=20
approximate analogue voltages. This is done through the use of a =
free-running counter, continuously compared to a register. When =
the=20
counter matches the register, an output pin is toggles. Given a=20
sufficiently high counting frequency, the output will approximate an =
analogue=20
voltage. This process is shown in Figure 1, where the dotted =
line=20
represents the register value (and the corresponding output =
voltage).

Figure 1. The PWM process
These variable width pulses may be averaged by external circuitry =
to form=20
analogues voltages proportional to the value in the compare =
register. =20
This technique is often used in motor control applications.
The AVR architecture allows the generation of PWM signals as a =
function of=20
Timer/Counter 1. Write an assembly language program which will =
read the=20
value on PORTB when triggered by a pushbutton connected to INT1. =
This=20
value is to be used as the register value for an 8-bit PWM. The =
skeleton=20
code for this is given in pra=
c4_1.asm.
The following registers will be used:=20
| DDRB=20
| Port B Data Direction Register=20
|
| DDRD
| Port D Data Direction Register =
|
| PINB
| Input Pins, Port B
|
| TCCR1A
| Timer/Counter1 Control Register A
|
| TCCR1B
| Timer/Counter1 Control Register =
B
|
| OCR1AL
| Timer/Counter1 Output =
Compare=20
Register A Low Byte |
| GIMSK
| General Interrupt Mask register
|
| MCUCR
| MCU general Control Register |
Timer interrupts
The timer may be used to generate an interrupt at fixed =
intervals. =20
This is useful for performing tasks at regular times. Write a =
program to=20
use Timer 0 to interrupt the processor at 5ms intervals. Is it =
possible=20
to generate interrupts exactly 5ms apart? What could be done to =
increase=20
the accuracy?
The interrupt handler should increment the compare register from =
Part=20
1. INT1 is to be disabled. Some of the code from part 1 =
will be=20
used. The skeleton code is given in pra=
c4_2.asm.
The following additional registers will be used:=20
| TIMSK
| Timer/Counter Interrupt Mask Register
|
| TCCR0
| Timer/Counter 0 Control Register
|
| TCNT0
| Timer/Counter 0 |
Back=20
to Contents=20
Procedure
-
Pulse Width Modulation
Assemble the PWM program that you have written and and program it =
into the=20
device on the AVR8515 Project Board.=20
With your program in the device on the project board, carry out the =
following steps:=20
Switch off the power supply to the project board and logic=20
workstation.
- Connect the toggle switches to PORTB pins=20
- Connect a pushbutton to INT1.=20
- Connect the PWM output to an LED
Experiment using a range of values on the toggle switches. =
What=20
happens to the LED?
- Timer interrupts
Assemble the timer interrupt program that you have written and =
program it=20
into the device on the AVR8515 Project Board.=20
With your program in the device on the project board, carry out the =
following steps:=20
Switch off the power supply to the project board and logic=20
workstation.
- Connect the toggle switches to PORTB pins=20
- Connect a pushbutton to INT1.=20
- Connect the PWM output to an LED
Adjust your program so that it cycles at a different rate. =
What=20
interesting effects can you produce?
Back=20
to Contents=20
Equipment
- Computer=20
- 12V Power Supply=20
- AVR8515 Project Board with STK200 Download Cable=20
- Logic Workstation=20
- Hookup Wire
Back=20
to Contents=20
References
Back=20
to Contents=20
------=_NextPart_000_0064_01C7D4F8.BB6561F0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.itee.uq.edu.au/~elec2002/pracs/prac_4/pwm_process.png
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
dfh/0PdlOFXNf5MAAAAASUVORK5CYII=
------=_NextPart_000_0064_01C7D4F8.BB6561F0--