solved Task 3b

This commit is contained in:
Schrom01
2022-11-11 09:45:39 +01:00
parent 2683646954
commit a7f58af664
10 changed files with 276 additions and 254 deletions
+32 -21
View File
@@ -77,6 +77,9 @@ main PROC
main_loop
; STUDENTS: To be programmed
; Clear LCD
BL clear_lcd_colour
; Read ADC Value to R0
BL adc_get_value
@@ -105,56 +108,64 @@ case_blue
LDR R4, =DISPLAY_COLOUR_BLUE
LDR R5, =0xffff
STRH R5, [R3, R4]
LDR R4, =DISPLAY_COLOUR_RED
LDR R5, =0x0000
STRH R5, [R3, R4]
LDR R4, =DISPLAY_COLOUR_GREEN
LDR R5, =0x0000
STRH R5, [R3, R4]
; Show Diff on 7-Segment
LDR R3, =ADDR_7_SEG_BIN_DS3_0
STRB R2, [R3]
B end_cases
B main_loop
case_red
; Make LCD Display Red
LDR R3, =ADDR_LCD_COLOUR
LDR R4, =DISPLAY_COLOUR_RED
LDR R5, =0xffff
STRH R5, [R3, R4]
LDR R4, =DISPLAY_COLOUR_BLUE
LDR R5, =0x0000
STRH R5, [R3, R4]
LDR R4, =DISPLAY_COLOUR_GREEN
LDR R5, =0x0000
STRH R5, [R3, R4]
; Show Diff on 7-Segment
LDR R3, =ADDR_7_SEG_BIN_DS3_0
STRB R2, [R3]
B end_cases
B main_loop
case_green
; Make LCD Display Green
LDR R3, =ADDR_LCD_COLOUR
LDR R4, =DISPLAY_COLOUR_GREEN
LDR R5, =0xffff
STRH R5, [R3, R4]
LDR R4, =DISPLAY_COLOUR_RED
LDR R5, =0x0000
STRH R5, [R3, R4]
LDR R4, =DISPLAY_COLOUR_BLUE
LDR R5, =0x0000
STRH R5, [R3, R4]
; Show ADC Value on 7-Semgment
LDR R3, =ADDR_7_SEG_BIN_DS3_0
STRB R0, [R3]
LDR R1, =0x0 ; Register to show on LEDs
LDR R2, =0x1 ; Value 0x1
LSRS R0, R0, #3 ; Counter
led_loop
BEQ end_led_loop
LSLS R1, R2
ORRS R1, R1, R2
SUBS R0, R0, R2
B led_loop
end_led_loop
LDR R0, =ADDR_LED_31_0
STR R1, [R0]
end_cases
; END: To be programmed
B main_loop
clear_lcd_colour
PUSH {R0, R1, R2}
LDR R0, =ADDR_LCD_COLOUR
LDR R2, =0x0
LDR R1, =DISPLAY_COLOUR_RED
STRH R2, [R0, R1]
LDR R1, =DISPLAY_COLOUR_BLUE
STRH R2, [R0, R1]
LDR R1, =DISPLAY_COLOUR_GREEN
STRH R2, [R0, R1]
POP {R0, R1, R2}
BX LR
clear_lcd
PUSH {R0, R1, R2}