Mikrocomputertechnik-Labor SS‘04 Projekt: Beschleunigungsmessung Dozent: Prof. J. Walter Betreuer: Herr W.Loes Abgabetermin: 19.07.04 Teilnehmer: Christian Staier Alexander Stroh.

Download Report

Transcript 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