Comp2121 project a monorail emulator you will be writing a


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

Request for Solution File

Ask an Expert for Answer!!
Assembly Language: Comp2121 project a monorail emulator you will be writing a
Reference No:- TGS02475254

Expected delivery within 24 Hours