Wrote a new value into the Timer or Counter register

Assignment Help Assembly Language
Reference no: EM131711019

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

Reference no: EM131711019

Questions Cloud

Determine the presence of sugar : Perform a series of tests to determine the presence of sugar, starch, lipids, and proteins for a variety of samples and determine the identity of an unknown
Determine whether new deer has a dominant strategy : a. Determine whether New Deer has a dominant strategy. If so, what is New Deer's dominant strategy?
Data tracking and reporting weigh into this decision : How does data tracking and reporting weigh into this decision?
Develop a conceptual model for the given case : Develop a conceptual model for the following case. Once given, bonuses are extraordinarily hard to take away without undermining employee morale.
Wrote a new value into the Timer or Counter register : ECE 375: Computer Organization and Assembly Language Programming Lab - Timer/Counters. In this lab, you used the Fast PWM mode of both 8-bit Timer/Counters
Determine an appropriate number of testable hypotheses : Product placement is a form of advertising in which a company's products and name are intentionally positioned in motion pictures, television programs.
What are the ethical issues raised by this strategy : There are numerous negative organizational consequences to firing employees, What are the ethical issues raised by this strategy?
Why is the short-run demand for uranium relatively inelastic : What does the long gestation period of nuclear power plants imply for the difference in time between the short and long runs in the demand for uranium?
What is this quote talking about sleep, soft smiling : What is this quote talking about "Sleep, soft smiling, draws me unto her: and those receive me, who quietly treat me, as one familiar and well-beloved

Reviews

len1711019

11/8/2017 12:16:41 AM

Subject: AVR assembly language. Detailed Question: Please complete the code and study question. Don't worry about the report. To receive extra credit for this lab, you will need to implement a new feature that supplements your regular Lab 7 code. Use one of the 16-bit Timer/Counters to keep track of how many seconds have elapsed since the TekBot's speed was last modified, and continually display this count as an 8-bit binary number on the LCD. Do not display any leading zeros { for example, 0 seconds should be displayed as just `0', and 8 seconds should be displayed as `1000'.

len1711019

11/8/2017 12:16:35 AM

Note: Using the LCD will affect the way the speed level is displayed on Port B. This is expected; just make sure you are prepared to disable any LCD-related parts of your code when you demonstrate the regular portion of this assignment. For full extra credit, demonstrate the correct operation of this feature to your TA, explain your design in the lab write-up, and be sure to also turn in your challenge .asm file as part of the online submission process.

Write a Review

Assembly Language Questions & Answers

  Create a assembly language subroutine

Create a assembly language subroutine MULSUM that takes an array named A containing n bytes of positive numbers, and fills two arrays, array B containing n words and array C containing n long words

  Write a function in linux assembly

Write a function in Linux assembly

  Analog measurements

Prepare an assembly program for the correctly measures the wind direction

  Design a simple digital clock

Design a simple digital clock

  Write an assembly program

Prepare an Assembly program that reads in a number of cents.

  Write an assembly language program

Write an assembly language program for encrypting alphabates of a string

  Greatest common divisor of integers-masm assembly language

Must be done in MASM assembly language: Greatest common divisor of two integers is largest integer which will evenly divide both integers. GCD algorithm involves integer division in a loop.

  Write assembly program-find right admission price to movie

Write the Assembly program to find correct admission price to movie. Price of admission to a movie is $7 for kids (under 12) and $9 for adults.

  Create simple 8-bit alu using add-subtract-shift functions

Create a simple 8-bit ALU. Requirements:The eight functions that you will implement are: add, subtract, and, or, shift left logical, less than, shift right logical.

  Write assembly program print binary representation-integers

Write the assembly program called hw6_ex1, stored in file hw6_ex1.asm. This program must prompt user to enter signed 32-bit integer. Program must print out binary representation of the integer.

  Allot op-codes and add microcode to microprogram

Allot op-codes and add microcode to microprogram of Mic-1 to implement following instructions which are then included with IJVM instruction set.

  Write mips assembly program to read two non-negative numbers

Write MIPS assembly program to repeatedly read two non-negative integers and print integer product and quotient without using multiplication and division instructions.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd