Ece 375 computer organization and assembly language


Computer Organization and Assembly Language Programming Lab - Timer/Counters

SECTION OVERVIEW - Complete the following objectives:

  • Learn how to configure and use the 8-bit Timer/Counters on the ATmega128 to generate pulse-width modulation (PWM) signals.
  • Use the upper half-byte and lower half-byte (otherwise known as the upper and lower nibbles) of an I/O port for two different tasks.

PRELAB - To complete this prelab, you may find it useful to look at the full ATmega128 datasheet. If you consult any online sources to help answer the prelab questions, you must list them as references in your prelab.

1. List the correct sequence of AVR assembly instructions needed to store the contents of registers R25:R24 into Timer/Counter1's 16-bit register, TCNT1. (You may assume that registers R25:R24 have already been initialized to contain some 16-bit value.)

2. List the correct sequence of AVR assembly instructions needed to load the contents of Timer/Counter1's 16-bit register, TCNT1, into registers R25:R24.

3. Suppose Timer/Counter0 (an 8-bit timer) has been configured to operate in Normal mode, and with no prescaling (i.e., clkT0 = clkI/O = 16 MHz). The decimal value \128" has just been written into Timer/Counter0's 8-bit register, TCNT0. How long will it take for the TOV0 flag to become set? Give your answer as an amount of time, not as a number of cycles.

STUDY QUESTIONS / REPORT -

A full lab write-up is required for this lab. When writing your report, be sure to include a summary that details what you did and why, and explains any problems you may have encountered. Your write-up and code must be submitted by the beginning of next week's lab. Remember, NO LATE WORK IS ACCEPTED.

Study Questions

1. In this lab, you used the Fast PWM mode of both 8-bit Timer/Counters, which is only one of many possible ways to implement variable speed on a TekBot. Suppose instead that you used just one of the 8-bit Timer/Counters in Normal mode, and had it generate an interrupt for every overflow. In the overflow ISR, you manually toggled both Motor Enable pins of the TekBot, and wrote a new value into the Timer/Counter's register. (If you used the correct sequence of values, you would be manually performing PWM.) Give a detailed assessment (in 1-2 paragraphs) of the advantages and disadvantages of this new approach, in comparison to the PWM approach used in this lab.

2. The previous question outlined a way of using a single 8-bit Timer/Counter in Normal mode to implement variable speed. How would you accomplish the same task (variable TekBot speed) using one or both of the 8- bit Timer/Counters in CTC mode? Provide a rough-draft sketch of the Timer/Counter-related parts of your design, using either a flow chart or some pseudocode (but not actual assembly code).

Attachment:- Assignment Files.rar

Request for Solution File

Ask an Expert for Answer!!
Assembly Language: Ece 375 computer organization and assembly language
Reference No:- TGS02506542

Expected delivery within 24 Hours