Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Computer Engineering Expert

OBJECTIVE:
Learn how a seven-segment display can be used.  In this lab, you will be writing a program that will keep a count, and then output that count to a seven-segment display.

MATERIAL:

- AVR Studio4
- AT90USB1286 Trainer
- LED seven-segment display

BACKGROUND:

A seven-segment display is used to display numbers from zero to nine in an easy-to-read decimal format so that the majority of people do not need to know binary. It is made of seven

LEDs, each labeled with an alphabetic letter, like A, B, C, etc. The LEDs are arranged as is shown below:

In order to display a one, for ex, you would set the B and C pins high, since that would light up the B and C LEDs.
Since BCD only goes from zero to nine, it is perfectly adapted to being used to display decimal digits. This also means one digit can fit into four bits, allowing two digits to be “packed” into one byte. In the second part of this lab, you will use this fact to count from 0-99 as opposed to only counting from zero to nine.

ACTIVITY 1:

1. Start up AVR Studio, and begin a new project named lastname_lab5.  The debug platform and microcontroller are still the same, the AVR Simulator and AT90USB1286.

2. Read the datasheet for the seven-segment display, located here:
http://optoelectronics.liteon.com/enus/api/DwonloadFileHandler.ashx?txtSpecNo=DS30-2002-146&txtPartNo=LSHD-5503.
The data lines for the microcontroller are on port A.

3. Using what you have learned from the data sheet, figure out which lines need to be high for each number to be displayed, and construct a table in your lab notebook.

4. Use the table you've created to prepare a program that will count up from zero to nine, and display that number to the rightmost seven-segment display.

5. Now, extend what you’ve learned to implement a packed BCD counter that counts from zero to 99. The two seven-segment displays use the same data lines, but the left one is toggled by a transistor that is connected to pin D7, so by sending a low on pin D7, the rightmost display is active, and if pin D7 is high, then the leftmost display is active.

Hint: Use the list of AVR assembly instructions located below to check out possible instructions to use in order to make the packed BCD display work:
http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf

ACTIVITY 2:
prepare a program that find outs (PORTA + 4) * PORTB and sends out the result through PORTC and PORTD. Consider all the values unsigned.  Trace (single step) through your program using AVR Studio4.

ACTIVITY 3:

prepare a program to find out the result of (PORTA + PORTB)/2 and sends out the result through PORTC. Consider all the values unsigned. Trace through your program using AVR
Studio4.

ACTIVITY 4:

prepare a program that find outs (PORTA + 4) * PORTB and sends out the result through PORTC and PORTD. Consider all the values signed. Trace through your program using AVR Studio4.In your report,

1.  Identify the most important lessons of this lab exercise.
2.  Report any activity that gave you difficulty. 
3.  Formulate and document a plan for improving your understanding of

a) Packed and unpacked BCD
b) AVR unsigned arithmetic instructions
c) AVR signed arithmetic instructions

4.  Answer the following problems.

a) Find the value in R0 and R1 after the following code.

LDI  R16, 10
LDI  R17, 20
LDI  R18, 30
MUL R16, R17
ADD R0, R18
R0 = in hex
R1 = in hex

b) Find the value in R0 and R1 after the following code.

LDI  R19, 19
SUBI R19, 10
LDI R30, 30
MUL R30, R19
R0 = in hex
R1 = in hex

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M91259

Have any Question? 


Related Questions in Computer Engineering

Write a windows application that allows the user to explore

Write a Windows application that allows the user to explore the knapsack problem. The user should be able to change the capacity of the knapsack, the sizes of the items, and the values of the items. The user should also ...

Write methodsthat compute the area and the perimeter of the

Write methods that compute the area and the perimeter of the ellipse e. Add these methods to a class Geometry. The challenging part of this assignment is to find and implement an accurate formula for the perimeter. Why d ...

Implement a class icecreamcone with methods getsurfacearea

Implement a class IceCreamCone with methods getSurfaceArea() and getVolume(). In the constructor, supply the height and radius of the cone. Be careful when looking up the formula for the surface area-you should only incl ...

1 using your security lab as your fictitious company

1. Using your security lab as your fictitious company, develop a disaster plan for the lab. 2. Study vendor tools in disaster recovery. Write about five of them, listing their merits and costs involved. 3. Study and deve ...

Write a job description for kelvin urich the project

Write a job description for Kelvin Urich, the project manager described in the opening vignette of this chapter. Be sure to identify key characteristics of the ideal candidate, as well as his or her work experience and e ...

When installing utp cable for a horizotnal link it is very

When installing UTP cable for a horizotnal link, it is very important to minimize crosstalk. Explain what crosstalk is, why crosstalk can be a problem, and how it is minimized when terminating UTP cables.

A food processing company makes meatloaf to be sold in the

A food processing company makes meatloaf to be sold in the frozen food section of supermarkets. Each week the recipe used changes based on the current cost of ingredients. Ingredients and current costs are as shown below ...

Keeping the iv secret in ofb mode does not make an

Keeping the IV secret in OFB mode does not make an exhaustive key search more complex. Describe how we can perform a brute-force attack with unknown IV. What are the requirements regarding plaintext and ciphertext  Descr ...

Changing mechanisms in the wolf sheep simple model the

Changing mechanisms In the Wolf Sheep Simple model, the grass grows linearly every time step an increment of grass is added to the patch. This is not realistic. Real grass will grow quicker if there is more of it around ...

1 complete the matrix class by implementing the remaining

1. Complete the Matrix class by implementing the remaining methods: sub , mult , and transpose(). 2. Implement the numLiveNeighbors() method of the LifeGrid class. 3. Complete the implementation of the gameoflife.py prog ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

WalMart Identification of theory and critical discussion

Drawing on the prescribed text and/or relevant academic literature, produce a paper which discusses the nature of group

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro