solved Task 3a

This commit is contained in:
Schrom01
2022-11-11 09:09:28 +01:00
parent 4344c1c914
commit 2683646954
47 changed files with 11751 additions and 4 deletions
+72
View File
@@ -77,10 +77,82 @@ main PROC
main_loop
; STUDENTS: To be programmed
; Read ADC Value to R0
BL adc_get_value
; check T0
LDR R1, =ADDR_BUTTONS
LDRB R1, [R1]
LDR R2, =0x01
TST R1, R2
BNE case_green ; If T0 is pressed: goto case_green, else: continue
; Else (T0 is not pressed):
; Read 8-bit value from DIP-Switch 7-0 to R1
LDR R1, =ADDR_DIP_SWITCH_7_0
LDRB R1, [R1]
; Calc diff: DIP-Switch-7-0 - ADC-Value
SUBS R2, R1, R0
BLT case_red ; IF diff >= 0: continue case blue, else: goto case red
case_blue
; Make LCD Display Blue
LDR R3, =ADDR_LCD_COLOUR
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
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
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]
end_cases
; END: To be programmed
B main_loop