Question: Please write using ARM Assembly for STM 3 2 F 4 1 1 VETx and an STM 3 2 Microcontroller . The modes interact with

Please write using ARM Assembly for STM32F411VETx and an STM32Microcontroller. The modes interact with the LEDs on the board, and should be subroutines. It should all be one block of code.
******Please note the attached screenshot is an example of what our code has looked like in the past!
While the function of the attached code will not help while answering this question, im hoping it should help you understand the snytax and formatting for this code.******
The final project will entail writing a program with three modes:
Mode A- The lights will start all off, then turn on (and stay on) one at a time: orange, then
red, then blue, and lastly green. They will then turn off (and stay off) one at a time in that
same order. Once all are off, the cycle will repeat. Put a 0.25 second pause between each
change. (For example, if all lights are off, the orange LED will come on and stay on, then
0.25 seconds later the red LED will also come on.0.25 seconds after that, the blue LED will
come on, etc.)
Mode B - The blue light will toggle/blink once per second, the red light will toggle every 0.75
seconds, the orange light will toggle every half second, and the green light will toggle every
0.25 seconds.
Mode C- The program will read in byte values from a null-terminated, read-only array called
ModeCVals and display them on the lights. If the value is between 1 and 15, the bits will
correspond such that PD 15 represents bit 3, PD14 for bit 2, PD13 for bit 1, and PD12 for
bit 0. For example, if the value to be displayed is 6, that's 2_00000110 so PD15 would be
off, PD14 and PD13 would be on, and PD12 would be off. If the value in the array is larger
than decimal fifteen (OOF), do not turn on any of the lights for its representation. Each
value's LED representation should display for one second before changing directly to the
next value. The null-termination character counts as a value (it's zero). After displaying
the final (000) value, loop around to the beginning of the ModCVals array and start
displaying the values from the beginning again.
The user will switch between these modes by pressing the PAO input button. The change in
mode can occur at any point during the mode (as opposed to finishing the cycle of blinks
before starting the next. When the button is pressed while the program is on Mode C, it
should "loop around" and begin Mode A again.
Hints: Use an interrupt for the input. Debounce your input. If a timer triggers every 0.25
seconds, then something that occurs every third timer trigger will occur once every 0.75
seconds. Moving bits 3 through 0 to bits 15 through 12 is a matter of shifting. Make DATA
area values to be used as counters or to track what mode you're in.The final project will entail writing a program with three modes:
Mode A The lights will start all off, then turn on (and stay on) one at a time: orange, then
red, then blue, and lastly green. They will then turn off (and stay off) one at a time in that
same order. Once all are off, the cycle will repeat. Put a 0.25 second pause between each
change. (For example, if all lights are off, the orange LED will come on and stay on, then
0.25 seconds later the red LED will also come on.0.25 seconds after that, the blue LED will
come on, etc.)
Mode B The blue light will toggle/blink once per second, the red light will toggle every 0.75
seconds, the orange light will toggle every half second, and the green light will toggle every
0.25 seconds.
Mode C The program will read in byte values from a null-terminated, read-only array called
ModeCVals and display them on the lights. If the value is between 1 and 15, the bits will
correspond such that PD 15 represents bit 3, PD14 for bit 2, PD13 for bit 1, and PD12 for
bit 0. For example, if the value to be displayed is 6, thats 2_00000110 so PD15 would be
off, PD14 and PD13 would be on, and PD12 would be off. If the value in the array is larger
than decimal fifteen (0x0F), do not turn on any of the lights for its representation. Each
values LED representation should display for one second before changing directly to the
next value. The null-termination character counts as a value (its zero). After displaying
the final (0x00) value, loop around to the beginning of the ModCVals array and start
displaying the values from the beginning again.
The user will switch between these modes by pressing the PA0 input button. The change in
mode can occur at any point during the mode (as opposed to finishing the cycle of blinks
before starting the next. When the button is pressed while the program is on Mode C, it
should loop around and begin Mode A again.
Hints: Use an interrupt for the input. Debounce your input. If a timer triggers every 0.25
seconds, then something that occurs every third timer trigger will occur once every 0.75
seconds. Moving bits 3 through 0 to bits 15 through 12 is a matter of shifting. Make DATA
area values to be used as counters or to track what mode youre in.
Please write using ARM Assembly for STM 3 2 F 4 1

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!