Mikrocomputertechnik-Labor SS‘04
Teilnehmer:
Projekt: Beschleunigungsmessung
Dozent: Prof. J. Walter
Betreuer: Herr W.Loes
Abgabetermin: 19.07.04
Christian Staier
Alexander Stroh
Erste Schritte
Alexander Stroh Christian Staier
• Beschleunigung messen
• Auswerten
• Ausgeben und speichern der maximal Werte
• Aktuelle Beschleunigung anzeigen
Blackbox
Alexander Stroh Christian Staier
Allgemeine Problematik:
• HardwareAuswertungselektronik
• SoftwareAssembler
Schaltplan und Layout
Alexander Stroh Christian Staier
• Schaltpläne:
ProTel-Schematics
• Layout-Dateien: ProTel-PCB
Schaltplan Sensorplatine
Schaltplan I2C-Platine
Layout Sensorplatine
Layout I2C-Platine
Struktogramm
Alexander Stroh Christian Staier
Struktogramm
Alexander Stroh Christian Staier
lcall I2C_Initlcall Display_Initlcall SPEICHERTABELLEIMMERWIEDER:call AD_WANDLUNG1call AD_WANDLUNG2call QUADRIERENcall ADDITIONcall WURZEL_ZIEHENcall ERGEBNIS_SCHREIBENcall VERGLEICH_HOECHSTWERTcall SCHREIBE_HOECHSTWERTjnb P1.1,HOECHSTWERT_RESETcall Pausejmp IMMERWIEDER
Quelltext:
Programmaufbau
Programmaufbau
Alexander Stroh Christian Staier
lcall I2C_Initlcall Display_Initlcall SPEICHERTABELLEIMMERWIEDER:call AD_WANDLUNG1call AD_WANDLUNG2call QUADRIERENcall ADDITIONcall WURZEL_ZIEHENcall ERGEBNIS_SCHREIBENcall VERGLEICH_HOECHSTWERTcall SCHREIBE_HOECHSTWERTjnb P1.1,HOECHSTWERT_RESETcall Pausejmp IMMERWIEDER
Quelltext:
Programmier-Probleme
Alexander Stroh Christian Staier
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf Display
Programmier-Probleme
Alexander Stroh Christian Staier
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf Display
Radizieren
Radizieren
Alexander Stroh Christian Staier
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
49- 1
48- 3
45- 5
40- 7
33 - 9
24- 11
13- 13
0
1. ungerade Zahl
2. ungerade Zahl
Ergebnis: Anzahl ungerader Zahlen: 1234567
Programmier-Probleme
Alexander Stroh Christian Staier
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf Display
Radizieren
Programmier-Probleme
Alexander Stroh Christian Staier
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf Display
Berechnungen über mehrere Register
Berechnungen über mehrere Register
Alexander Stroh Christian Staier
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
Programmier-Probleme
Alexander Stroh Christian Staier
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf Display
Berechnungen über mehrere Register
Programmier-Probleme
Alexander Stroh Christian Staier
• Radizieren
• Berechnungen über mehrere Register
• Umrechnung der Werte und Ausgabe auf Display
Umrechnung der Werte und Ausgabe auf Display
Umrechnung der Werte und Ausgabe auf Display
Alexander Stroh Christian Staier
0d ≤ Ergebnis ≤ 360d
Skalierung: 1d = 0,1g
000 ,
100 ,
200 ,
303030 2C
313030 2C
323030 2C
67
67
67
g
g
g
300 ,
400 ,
500 ,
333030 2C
343030 2C
353030 2C
67
67
g
g
g
+1
Angezeigter Wert ASCII-Code in hex
Umrechnung der Werte und Ausgabe auf Display
Alexander Stroh Christian Staier
0d ≤ Ergebnis ≤ 360d
Skalierung: 1d = 0,1g
30h400Ah ASCII-Zeichen: ‚0‘
31h400Bh ASCII-Zeichen: ‚1‘
2Ch400Ch ASCII-Zeichen: ,
34h400Dh ASCII-Zeichen: ‚4‘
67h400Eh ASCII-Zeichen: ‚g‘
30h400Fh ASCII-Zeichen: ‚0‘
01,4g
32h4041h ASCII-Zeichen: ‚2‘
34h4042h ASCII-Zeichen: ‚4‘
ASCII in hexAdresse
dptr
24,7g
Danke für die Aufmerksamkeit