solved Task 3b
This commit is contained in:
+32
-21
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user