Mikrocomputertechnik-Labor SS‘04 Projekt: Beschleunigungsmessung Dozent: Prof. J. Walter Betreuer: Herr W.Loes Abgabetermin: 19.07.04 Teilnehmer: Christian Staier Alexander Stroh.
Download ReportTranscript Mikrocomputertechnik-Labor SS‘04 Projekt: Beschleunigungsmessung Dozent: Prof. J. Walter Betreuer: Herr W.Loes Abgabetermin: 19.07.04 Teilnehmer: Christian Staier Alexander Stroh.
Slide 1
Mikrocomputertechnik-Labor SS‘04
Projekt: Beschleunigungsmessung
Dozent: Prof. J. Walter
Betreuer: Herr W.Loes
Abgabetermin: 19.07.04
Teilnehmer:
Christian Staier
Alexander Stroh
Slide 2
Erste Schritte
• Beschleunigung messen
• Auswerten
• Ausgeben und speichern der
maximal Werte
• Aktuelle Beschleunigung
anzeigen
Alexander Stroh
Christian Staier
Slide 3
Blackbox
Allgemeine Problematik:
•
Hardware
Auswertungselektronik
•
Software
Assembler
Alexander Stroh
Christian Staier
Slide 4
Slide 5
Schaltplan und Layout
• Schaltpläne:
ProTel-Schematics
• Layout-Dateien: ProTelPCB
Alexander Stroh
Christian Staier
Slide 6
Schaltplan Sensorplatine
Slide 7
Schaltplan I2C-Platine
Slide 8
Layout Sensorplatine
Slide 9
Layout I2C-Platine
Slide 10
Struktogramm
Alexander Stroh
Christian Staier
Slide 11
Struktogramm
Programmaufbau
Quelltext:
lcall I2C_Init
lcall Display_Init
lcall SPEICHERTABELLE
IMMERWIEDER:
call AD_WANDLUNG1
call AD_WANDLUNG2
call QUADRIEREN
call ADDITION
call WURZEL_ZIEHEN
call ERGEBNIS_SCHREIBEN
call VERGLEICH_HOECHSTWERT
call SCHREIBE_HOECHSTWERT
jnb P1.1,HOECHSTWERT_RESET
call Pause
jmp IMMERWIEDER
Alexander Stroh
Christian Staier
Slide 12
Programmaufbau
Quelltext:
lcall I2C_Init
lcall Display_Init
lcall SPEICHERTABELLE
IMMERWIEDER:
call AD_WANDLUNG1
call AD_WANDLUNG2
call QUADRIEREN
call ADDITION
call WURZEL_ZIEHEN
call ERGEBNIS_SCHREIBEN
call VERGLEICH_HOECHSTWERT
call SCHREIBE_HOECHSTWERT
jnb P1.1,HOECHSTWERT_RESET
call Pause
jmp IMMERWIEDER
Alexander Stroh
Christian Staier
Slide 13
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 14
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 15
Radizieren
Töpler - Verfahren: Die Summe der ersten ungeraden Zahlen ist
immer genauso groß, wie das Quadrat der Anzahl jener ungeraden
Zahlen.
Beispiel:
Zu berechnen ist die Wurzel aus 49
1. ungerade Zahl
-
2. ungerade Zahl
-
Alexander Stroh
49
1
48
3
45
5
40
7
33
9
24
11
13
13
0
Ergebnis: Anzahl
ungerader Zahlen: 3
1
2
7
6
5
4
Christian Staier
Slide 16
Programmier-Probleme
• Radizieren
Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 17
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 18
Berechnungen über mehrere Register
Entsteht durch Quadrieren und Addieren der gewandelten
Beschleunigungen
Beispiel:
Maximaler Wert aus 1. A/D-Wandlung:
FFh
Maximaler Wert aus 2. A/D-Wandlung:
FFh
Quadrieren und Addieren der beiden Werte:
FF²h + FF²h = FE01h + FE01h = 1FC02h
Alexander Stroh
Christian Staier
Slide 19
Programmier-Probleme
Berechnungen
über mehrere Register
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 20
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 21
Umrechnung der Werte und Ausgabe auf
Display
0d ≤ Ergebnis ≤ 360d
Skalierung: 1d = 0,1g
Angezeigter Wert
0 0 , 0g
ASCII-Code in hex
30
30
2C
30
67
+1
Alexander Stroh
0 0 , 1g
30
30
2C
31
67
0 0 , 2g
30
30
2C
32
67
0 0 , 3g
30
30
2C
33
0 0 , 4g
30
30
2C
34
67
0 0 , 5g
30
30
2C
35
67
Christian Staier
Slide 22
Umrechnung der Werte und Ausgabe auf
Display
0d ≤ Ergebnis ≤ 360d
Skalierung: 1d = 0,1g
dptr
24,7g
01,4g
Alexander Stroh
Adresse
ASCII in hex
400Ah
30h
ASCII-Zeichen: ‚0‘
400Bh
31h
ASCII-Zeichen: ‚1‘
400Ch
2Ch
ASCII-Zeichen: ,
400Dh
34h
ASCII-Zeichen: ‚4‘
400Eh
67h
ASCII-Zeichen: ‚g‘
400Fh
30h
ASCII-Zeichen: ‚0‘
4041h
32h
ASCII-Zeichen: ‚2‘
4042h
34h
ASCII-Zeichen: ‚4‘
Christian Staier
Slide 23
Danke für die
Aufmerksamkeit
Mikrocomputertechnik-Labor SS‘04
Projekt: Beschleunigungsmessung
Dozent: Prof. J. Walter
Betreuer: Herr W.Loes
Abgabetermin: 19.07.04
Teilnehmer:
Christian Staier
Alexander Stroh
Slide 2
Erste Schritte
• Beschleunigung messen
• Auswerten
• Ausgeben und speichern der
maximal Werte
• Aktuelle Beschleunigung
anzeigen
Alexander Stroh
Christian Staier
Slide 3
Blackbox
Allgemeine Problematik:
•
Hardware
Auswertungselektronik
•
Software
Assembler
Alexander Stroh
Christian Staier
Slide 4
Slide 5
Schaltplan und Layout
• Schaltpläne:
ProTel-Schematics
• Layout-Dateien: ProTelPCB
Alexander Stroh
Christian Staier
Slide 6
Schaltplan Sensorplatine
Slide 7
Schaltplan I2C-Platine
Slide 8
Layout Sensorplatine
Slide 9
Layout I2C-Platine
Slide 10
Struktogramm
Alexander Stroh
Christian Staier
Slide 11
Struktogramm
Programmaufbau
Quelltext:
lcall I2C_Init
lcall Display_Init
lcall SPEICHERTABELLE
IMMERWIEDER:
call AD_WANDLUNG1
call AD_WANDLUNG2
call QUADRIEREN
call ADDITION
call WURZEL_ZIEHEN
call ERGEBNIS_SCHREIBEN
call VERGLEICH_HOECHSTWERT
call SCHREIBE_HOECHSTWERT
jnb P1.1,HOECHSTWERT_RESET
call Pause
jmp IMMERWIEDER
Alexander Stroh
Christian Staier
Slide 12
Programmaufbau
Quelltext:
lcall I2C_Init
lcall Display_Init
lcall SPEICHERTABELLE
IMMERWIEDER:
call AD_WANDLUNG1
call AD_WANDLUNG2
call QUADRIEREN
call ADDITION
call WURZEL_ZIEHEN
call ERGEBNIS_SCHREIBEN
call VERGLEICH_HOECHSTWERT
call SCHREIBE_HOECHSTWERT
jnb P1.1,HOECHSTWERT_RESET
call Pause
jmp IMMERWIEDER
Alexander Stroh
Christian Staier
Slide 13
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 14
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 15
Radizieren
Töpler - Verfahren: Die Summe der ersten ungeraden Zahlen ist
immer genauso groß, wie das Quadrat der Anzahl jener ungeraden
Zahlen.
Beispiel:
Zu berechnen ist die Wurzel aus 49
1. ungerade Zahl
-
2. ungerade Zahl
-
Alexander Stroh
49
1
48
3
45
5
40
7
33
9
24
11
13
13
0
Ergebnis: Anzahl
ungerader Zahlen: 3
1
2
7
6
5
4
Christian Staier
Slide 16
Programmier-Probleme
• Radizieren
Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 17
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 18
Berechnungen über mehrere Register
Entsteht durch Quadrieren und Addieren der gewandelten
Beschleunigungen
Beispiel:
Maximaler Wert aus 1. A/D-Wandlung:
FFh
Maximaler Wert aus 2. A/D-Wandlung:
FFh
Quadrieren und Addieren der beiden Werte:
FF²h + FF²h = FE01h + FE01h = 1FC02h
Alexander Stroh
Christian Staier
Slide 19
Programmier-Probleme
Berechnungen
über mehrere Register
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 20
Programmier-Probleme
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf
Display
Alexander Stroh
Christian Staier
Slide 21
Umrechnung der Werte und Ausgabe auf
Display
0d ≤ Ergebnis ≤ 360d
Skalierung: 1d = 0,1g
Angezeigter Wert
0 0 , 0g
ASCII-Code in hex
30
30
2C
30
67
+1
Alexander Stroh
0 0 , 1g
30
30
2C
31
67
0 0 , 2g
30
30
2C
32
67
0 0 , 3g
30
30
2C
33
0 0 , 4g
30
30
2C
34
67
0 0 , 5g
30
30
2C
35
67
Christian Staier
Slide 22
Umrechnung der Werte und Ausgabe auf
Display
0d ≤ Ergebnis ≤ 360d
Skalierung: 1d = 0,1g
dptr
24,7g
01,4g
Alexander Stroh
Adresse
ASCII in hex
400Ah
30h
ASCII-Zeichen: ‚0‘
400Bh
31h
ASCII-Zeichen: ‚1‘
400Ch
2Ch
ASCII-Zeichen: ,
400Dh
34h
ASCII-Zeichen: ‚4‘
400Eh
67h
ASCII-Zeichen: ‚g‘
400Fh
30h
ASCII-Zeichen: ‚0‘
4041h
32h
ASCII-Zeichen: ‚2‘
4042h
34h
ASCII-Zeichen: ‚4‘
Christian Staier
Slide 23
Danke für die
Aufmerksamkeit