EQU
EQU
EQU
EQU
EQU
0x400E0E00
0x400E0E14
0x400E0E44
0x400E0E64
0x400E0E3C
;0x0000
;0x0014
;0x0044
;0x0064
;0x003C
;
;
;
;
;
; C port - (leds)
PIOC_WPMR EQU 0x400E12E4
PIOC_PER
PIOC_OER
PIOC_SODR
PIOC_PUDR
PIOC_CODR
PIOC_ODSR
;0x0000
;0x0010
;0x0030
;0x0060
;0x0034
EQU
EQU
EQU
EQU
EQU
EQU
0x400E1200
0x400E1210
0x400E1230
0x400E1260
0x400E1234
0x400E1238
; PMC
PMC_WPMR EQU
0x400E06E4
PMC_PCER EQU
PMC_PCDR EQU
PMC_PCSR EQU
0x400E0610
0x400E0614
0x400E0618
;===========================================================================
LDR
STR
;===========================================================================
; Initialization InPort
; TODO: Write your code here
LDR
R1, =0xC000
PIO_PDSR (Pin
LDR R0,=PIOA_PER
STR R1,[R0]
LDR R0,=PIOA_ODR
STR R1,[R0]
LDR R0,=PIOA_IDR
STR R1,[R0]
LDR R0,=PIOA_PUER
STR R1,[R0]
; En evig loop
;===========================================================================
; Initialization OutPort
; TODO: Write your code here
LDR
R1, =0xE
er
LDR R0,=PIOC_PER
PIO_PDSR (Pin Data Status Register)
STR R1,[R0]
LDR R0,=PIOC_OER
STR R1,[R0]
LDR R0,=PIOC_SODR
STR R1,[R0]
LDR R0,=PIOC_PUDR
STR R1,[R0]
LDR R0,=PIOC_CODR
STR R1,[R0]
LDR R0,=PIOC_ODSR
STR R1,[R0]
;===========================================================================
; Turn LED off
; TODO: Write your code here
;===========================================================================
; Main program
; TODO: Write your code here
;LOOP
;0x00000010
0000 0002
;===========================================================================
vnsta knapp
Vidare
BL Read_p0
CMP R0, #0 ; Ej tryckt => 1:a
BNE Vidare2
LDR R7,=0x00000002 ;0x00000010
BL Led
;LDR R7,=1000
;BL Delay_ms
knapp
0000 0002
0000 0002
;BL Delay_ms
LDR R7,=0x4 ;0x00000010
BL Led
LDR R7,=0x2 ;0x00000010
BL Led
/*
LDR R7,=0x000000E
3 bitar ska motsvara de tre lysdioderna.
BL Led
LDR R7,=1000
BL Delay_ms */
/* BL Read_p0
CMP R0, #0 ; Ej tryckt => 1:a
BNE read
LDR R7,=1000;11111111 ;1000 ;Mnstret i R7:s lgsta 3 bitar ska mots
vara de tre lysdioderna.
;innehller hur lng tid (i
ms) som subrutinen ska ta
BL Delay_ms
;stackpointer 0x20008000
;0x20007FF8*/
;loop
B read
B loop
Led
r
;1200
Delay_ms
STMFD SP!,{R0,R1} ;lr 200702EB
MOV R0,R7
do_delay_ms
som r inparameter
LDR R1,=DELAY_CALIB
loop_ms
SUBS R1,R1,#1
BNE loop_ms
SUBS R0,R0,#1
BNE do_delay_ms
LDMFD SP!,{R0,R1}
BX LR
Read_p0
app (USR_RIGHT) p port A.
STMFD SP!,{R1}
LDR R1,=PIOA_PDSR
LDR R0,[R1]
AND R2, R0, #0x00008000
uell knapp hgra knapp
AND R0, R0, #0x00004000
AND R0, R0, #0x0000C000
LDMFD SP!,{R1}
BX LR
;0x200702FC
;Subrutinen Read_p0 lser av en kn
;===========================================================================
STOP
B STOP
END