Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMarleen van de Velde Laatst gewijzigd meer dan 6 jaar geleden
1
Wat gaan we doen? Herhaling: ACPS; indexed addressing; half-word/byte
Nieuw: - CMP, CMN - format 2nd argument (operand 2) direct aansturen van I/O pinnen (programmed I/O) oefening: taa-tuu taa-tuu taa-tuu
2
ACPS = ARM Procedure Call Standard
R0 – R3 : function arguments R0 (R1, R2, R3) : function result R4 - R8 : local scratch R9 : afblijven R10-11 : local scratch R13 : SP R14 : LR R15 : PC R0 – R3 are *not* preserved R4-R8, R10-R11 *are* preserved (boek p )
3
Herhaling LDR R0, [ R1 ] LDR R0, [ R1 ], #4 LDR R0, [ R1, #4 ]
LDRH R0, [ R1 ] LDRB R0, [ R1 ]
4
registers geheugen (herhaling) LDR R0, [ R1 ] R0 R1 000 0004 R2 R3 R4
R13 = SP R14 = LR R15 = PC ……. FFFF FFFB FFFF FFFC FFFF FFFD FFFF FFFE FFFF FFFF registers geheugen
5
+ registers geheugen (herhaling) LDR R0, [ R1 ], #4 0000 0008 R0 R1
R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 = SP R14 = LR R15 = PC ……. FFFF FFFB FFFF FFFC FFFF FFFD FFFF FFFE FFFF FFFF + registers geheugen
6
(herhaling) LDRH R0, [ R1, #4 ]
R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 = SP R14 = LR R15 = PC ……. FFFF FFFB FFFF FFFC FFFF FFFD FFFF FFFE FFFF FFFF + registers geheugen
7
(herhaling) LDRB R0, [ R1, #4 ] !
R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 = SP R14 = LR R15 = PC ……. FFFF FFFB FFFF FFFC FFFF FFFD FFFF FFFE FFFF FFFF + registers geheugen
8
CMP, CMN CMP R1, R2 CMP R1, #15 CMN R1, R2 CMN R1, #10
boek p52 bovenaan + 5.7
9
CMP R2, R1 - flags registers geheugen R0 R1 R2 R3 R4 R5 R6 R7 R8 R9
R13 = SP R14 = LR R15 = PC ……. FFFF FFFB FFFF FFFC FFFF FFFD FFFF FFFE FFFF FFFF - flags registers geheugen
10
CMN R1, #15 - - flags registers geheugen R0 R1 R2 R3 R4 R5 R6 R7 R8 R9
R13 = SP R14 = LR R15 = PC ……. FFFF FFFB FFFF FFFC FFFF FFFD FFFF FFFE FFFF FFFF - - flags registers geheugen
11
Operand 2 MOV R0, R1 ADD R0, R1, #2 SUBC R0, R1, R2, LSL #5
ADDS R1, R2, R3, ASR R4 boek p
13
programmed I/O LPC2148 architectuur I/O pin function selection
I/O pin direction selection I/O pin manipulation
15
User Manual P.7
16
User Manual P.8
17
LDR R0,=0 LDR R1,=SCS STR R0,[R1] User Manual P.26
18
User Manual P.75
19
User Manual P.76
20
User Manual P.82
21
User Manual P.82
22
File (part of): lpc214x.inc Use: #include ”lpc214x.inc”
/* General Purpose IO 0 */ IO0PIN = 0xe IO0SET = 0xe IO0DIR = 0xe IO0CLR = 0xe002800c /* General Purpose IO 1 */ IO1PIN = 0xe IO1SET = 0xe IO1DIR = 0xe IO1CLR = 0xe002801c /* Pin Connect Block */ PINSEL = 0xe002c000 PINSEL = 0xe002c004 File (part of): lpc214x.inc Use: #include ”lpc214x.inc”
23
File (part of): lpc214x.h /* General Purpose IO 0 */
#define IO0PIN (*(volatile unsigned int *)(0xe )) #define IO0SET (*(volatile unsigned int *)(0xe )) #define IO0DIR (*(volatile unsigned int *)(0xe )) #define IO0CLR (*(volatile unsigned int *)(0xe002800c)) /* General Purpose IO 1 */ #define IO1PIN (*(volatile unsigned int *)(0xe )) #define IO1SET (*(volatile unsigned int *)(0xe )) #define IO1DIR (*(volatile unsigned int *)(0xe )) #define IO1CLR (*(volatile unsigned int *)(0xe002801c)) /* Pin Connect Block */ #define PINSEL (*(volatile unsigned int *)(0xe002c000)) #define PINSEL (*(volatile unsigned int *)(0xe002c004)) File (part of): lpc214x.h
24
(dit is code voor een LPC2106)
25
(dit is code voor een LPC2106)
26
Opdracht (1) Schrijf de subroutines (hou je aan de APCS!): LspInit
- geen parameters - maakt de LSP pin een GPIO en output - blijft van de andere pinnen af! LspHigh - neemt aan dat LspInit al is aangeroepen - maakt de LSP pin hoog LspLow - maakt de LSP pin laag
27
Opdracht (2) Schrijf de subroutines (hou je aan de APCS!): LspBeep
- R0 = duur van 1 periode in µs - R1 = aantal perioden - gebruikt LspHigh en LspLow Test deze functies door programma te schrijven dat (in een eeuwigdurende lus) het volgende doet: ‘Piep’ gedurende 1 seconde op 440 Hz 0.1 seconde stilte ‘Piep’ gedurende 1 seconde op 880 Hz 0.5 seconde stilte Ga uit van de blink.zip als startpunt; gebruik #include ”lpc2148.h”
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.