Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Assembly Expert

Project: A Monorail Emulator

In this project, you will be writing a monorail emulator in AVR assembly programming language running on the AVR board.

On X Island, there is a monorail. The monorail route is a circle with n stations as shown in Figure 1. Each station has a different name. The monorail starts at Station 1, circling around Station 2, ..., Station n, and Station 1. The monorail stops at a station only if a tourist on the monorail wants to get off or a tourist at the station wants to get on the monorail. The monorail travels at a constant speed. Therefore, it takes a fixed amount of time from one station to the next station if it does not stop between the two stations. Nevertheless, sometimes, it may stop half way between two adjacent stations for some reasons. When the monorail stops at any station, it will stop m second, where m is a parameter.

757_figure.png

Your monorail emulator is required to have two components: system configuration and monorail emulation. The system configuration component is used to configure a target monorail system. The target monorail system has the following parameters:

1. The number of stations. The maximum number of stations is 10.

2. The names of all stations. A station name is a string of capital letters and white space, starting with a capital letter. The maximum number of characters of any name is 10.

3. The time for the monorail to travel from one station to the next station without stopping. The longest time is 10 seconds.

4. The stop time of the monorail at any station. The minimum stop time is 2 seconds and the maximum stop time is 5 second.

The system configuration component should provide an interface for the user to input the above parameters in order to configure the target monorail system.

A sample interface by means of the LCD and keypad is shown as follows.

Your interface needs to provide the following:

a. A way of generating all the capital letters from A to Z, and the white space character.

b. A special key to indicate the end of each input.

c. Proper handling of wrong inputs.

After the system configuration is complete, the emulation component starts emulating the monorail. The emulation component needs to meet the following requirements.

  • Use the DC motor on the board to emulate the behaviour of the monorail. If the monorail is travelling, the motor spins at a speed of 60 rps. If the monorail stops, the motor stops.
  • Use PB0 and PB1 to simulate if a tourist wants to get off and a tourist wants to get on, respectively, at the next station. If PB0 is pressed, it indicates that a tourist wants to get off at the next station. If PB1 is pressed, it indicates that a tourist wants to get on at the next station.
  • Use the key # to simulate if the monorail stops half way between two stations. If the key # is pressed, the moving monorail will stop immediately. If the key # is pressed again, the monorail will continue to travel.
  • The LCD will always display the name of the next station. Whenever the monorail stops, 2 LEDs blink at a frequency of 3 Hz (3 blinks per second). When the monorail is travelling, the 2 LEDs switch off.

Attachment:- Assignment File.rar

Assembly, Programming

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

Have any Question?


Related Questions in Assembly

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

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

  • 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

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