Program for measures the wind direction-vane, Assembly Language

Assignment Help:

You are to create an assembly program for the MSP430 that 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 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. If 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 use the 3.6V supply on the

Launchpad board itself. This means that voltage readings provided in the table on the following page need to be appropriately scaled. As per the table, a 10kohm resistor will be used in the voltage divider.

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

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

Extra Credit:

(1) Correctly measure all 16 directions possible by the vane. Develop some mechanism for visually displaying the added directions.

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

ORG 0xD000

DC 0x1234, 0xABCD, ... ;replace w/ calculated voltages

Wind Vane

The wind vane is the most complicated of the three sensors. It has eight switches, each connected to a different resistor. The vane's magnet may close two switches at once, allowing up to 16 different positions to be indicated. An external resistor can be used to form a voltage divider, producing a voltage output that can be measured with an analog to digital converter, as shown below.

The switch and resistor arrangement is shown in the diagram to the right.

Resistance values for all 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.

2042_anemometer.png


Related Discussions:- Program for measures the wind direction-vane

Project, need some project ideas

need some project ideas

Dec-arithmetic instruction-microprocessor, DEC:  Decrement :- The decremen...

DEC:  Decrement :- The decrement instruction subtracts 1 from the contents of the particular memory location or register. All the conditions code flags except carry flag are affec

Scanning, how o create the flow chart for scan ROW4, Column 1 and 3.tq

how o create the flow chart for scan ROW4, Column 1 and 3.tq

A/D conversions, A/D conversion: Basic tasks: (a) Write a program that wil...

A/D conversion: Basic tasks: (a) Write a program that will read and display the analog voltage on pin PE7 approximately once every second. (b) Write a program that will read and d

LC-3 Program, Write an Lc-3 assembly language program to read in a sequence...

Write an Lc-3 assembly language program to read in a sequence of single-digit positive integers from the keyboard(one integer per line) until the sentinel value of 0 is reached and

StrNCpyAsm, ;StrNCpyAsm - copy zero terminated string2 to zero terminated s...

;StrNCpyAsm - copy zero terminated string2 to zero terminated string1, ; but copy no more than count (parameter) characters ; or the length of string2, whi

Program, assembly language program to find larges number in an array

assembly language program to find larges number in an array

Assume-assemblers directive-microprocessor, ASSUME: Assume Logical Segment...

ASSUME: Assume Logical Segment Name:- The ASSUME directive which is used to inform the assembler, the specified names of the logical segments to be consider for different segme

Program that will compute and output tuition cost, Write an assembly progra...

Write an assembly program that will compute and output tuition cost: a. accept keyboard input of the number of credit hours taken b. accept keyboard input of the type of classes 1

Generating random number using 8086, I need to generate a random number bby...

I need to generate a random number bby using 8086 assembly language

Write Your Message!

Captcha
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