+61-413 786 465

[email protected]

## Programming

 C/C++ Java DOT NET Python Assembly C Sharp Perl COBOL Visual Basic CAD/CAM Object Oriented Programming Asp.NET PHP JSP Shell Scripting Java Script Ajax CSS/HTML Joomla Wordpress Megento Photoshop DBMS PL-SQL Oracle MS-SQL MS-ACCESS My-SQL SYBASE FOXPRO Excel Programming Language Mobile Applications

Assignment: Analog Measurements

Review the explanation of a wind vane described later:

You are to create an assembly program for the MSP430 which correctly measures the wind direction, to a precision of 45° (N, NW, W, SW, S, SE, E, NE), using the MSP430’s ADC.

Your program will output the direction by using four LEDs, one each for N, S, E and W. If the wind direction is out of the N, only the N LED will light. When the wind direction is out of the NW, both the N and W LEDs with be ON.

Note that the actual circuit interfacing to the wind vane will employ the 3.6V supply on the Launch-pad board itself. This signifies that voltage readings given in the table require to be appropriately scaled. As per the table, a 10kohm resistor will be employed in the voltage divider.

As just one wind vane is available for use, test your code by using a pot connected between ground and 3.6 V (the supply voltage for your board). The wind vane will be accessible in 310 for final check-out. Pots, LEDs, and resistors will be given in 310.

Your program should use at least one subroutine. You are free to select which functionality to place in the subroutine.

Extra Credit:

1) Properly measure all the 16 directions possible by the vane. Develop some method for visually displaying the added directions.

2)  Store the voltages corresponding to the particular directions as constants in a memory array (see illustration below). Have your code cycle via this array until a match is found.

ORG 0xD000
DC 0x1234, 0xABCD, … ;replace w/ find outd voltages

Deliverables:

• Pseudo code for your algorithm.
• Short description in words of how program works.
• Commented source code, see below.
• Soft copy, emailed to instructor, of your code.

• Comment your code at a level of detail sufficient for someone to follow it. More detail than that is not helpful.
• Comprise several comments lines at the very top of your program which describes the program, what it does, who wrote it, when it was written, what hardware it needs, and what inputs/outputs it uses. This is termed as a header.

; ex program for demonstrating header section does nothing
; Targets MSP430G2231 on LaunchPad board
; Stephen Craven, ENEE 4700, 9/23/2010
; Program does what?
; Input is ... Output is... BE SPECIFIC. Include enough info for
; Someone to configure and use your program.

Wind Vane:

The wind vane is the most complicated of the three sensors. It has eight switches, each joined to a different resistor. The vane’s magnet might close two switches at once, allowing up to 16 different positions to be indicated. The external resistor can be employed to form a voltage divider, producing a voltage output which can be measured with an analog to digital converter, as illustrated below.

The switch and resistor arrangement is shown in the diagram.

Resistance values for all the 16 possible positions are given in the table.

Resistance values for positions between those shown in the diagram are the result of two adjacent resistors connected in parallel when the vane’s magnet activates two switches simultaneously.

ex: wind vane interface circuit.  Voltage readings for a 5 volt supply and a resistor value of 10k ohms are given in the table.

Assembly, Programming

• Category:- Assembly
• Reference No.:- M9261

Have any Question?

## Related Questions in Assembly

### Question a sequence string of one-byte ascii characters is

Question : A sequence (string) of one-byte ASCII characters is stored at memory location \$600 onward. A second sequence of equal length is stored at memory location \$700 onward. Each sequence ends with the character \$0 ( ...

### Really need to find a correct answer to this questionwrite

Really need to find a correct answer to this question: Write a MIPS assembly program that can search for a number that is entered by a user in an array with 20 integer number. Make sure it also prints the index of the ar ...

### Task 1using masm sdk write an assembly language program

TASK 1 Using MASM SDK, write an assembly language program which converts an integer inputted via the console to binary. Your program should be well commented and well formatted. TASK 2 Using MASM SDK, write an assembly l ...

• 13,132 Experts

## 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.

### Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

### Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

### Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of \$ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

### Compute the present value of an 1150 payment made in ten

Compute the present value of an \$1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

### Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of \$ 699 per year for 19 years, given a discount rate of 6 percent per annum. As