The delay function AVR Atmega Timer Configuration

Real-time timer :

The ‘delay’ function as used in the workshops is limited because it depends on approximate timing based on how long the processor takes to execute the ‘NOP’ instruction, and the limitations of the size of an integer means that the maximum delay will be approximately 65 seconds. Furthermore, the processor cannot do anything else while the delay is going on, and any interrupts run during the ‘delay’ will cause the delay to be longer than intended. The Atmel ATmega168 does provide the facility to maintain more accurate and longer timings through the use of the crystal oscillator and the timer/counter circuitry in the processor. Your task is to work out how to use these components so that programs can be written to accurately trigger events after an amount of time, specified in minutes and seconds. The system should be able to handle delays from a minimum of 1 second up to at least 60 minutes after ‘set’. The function should allow for the timer interval to be set (input) in minutes and seconds. Note: Assume the processor is setup as in the lab sessions (including crystal oscillator used with the frequency specified in Nerdkit Guide). Your solution should include the following:

1. Overall description of the principles of operation of your solution

2. Description of all timer/counters, registers, and interrupts used and their function

3. Details of all configuration information to get the processor to perform this function (e.g. what needs to be written to different configuration registers, including explanations on WHY particular bits are set or cleared)

4. Description of the overall algorithm(s) to implement the function Note: This can be in the form of pseudocode. Code fragments (lines of code) can be used to demonstrate where appropriate. Note: You do NOT have to write the whole program for this assignment.

A checklist below to ensure you address the assignment requirement CORRECTLY:

NOTE: No real code required except the PSEUDO code

Delay can be from 1 sec up to maximum specified

Note it says delays in minutes and seconds – so 1 sec resolution needed

Ensure all configuration ports are considered

Explain logic clearly

Timing calculations MUST be shown

Check for accuracy

ALL configuration must be taken into consideration

Ensure that bits that need to be cleared (value of ‘0’) – must be done explicitly o Do NOT assume they will be ‘0’ to begin with

Ensure you understand how modes work

Always set parameters before turning on interrupts

Check how timer clock can be started/stopped

"Get 15% discount on your first 3 orders with us"
Use the following coupon

Order Now