Mikrocomputertechnik-Labor SS‘04 Projekt: Beschleunigungsmessung Dozent: Prof. J. Walter Betreuer: Herr W.Loes Abgabetermin: 19.07.04 Teilnehmer: Christian Staier Alexander Stroh
Beschleunigung messen Auswerten Erste Schritte Beschleunigung messen Auswerten Ausgeben und speichern der maximal Werte Aktuelle Beschleunigung anzeigen Alexander Stroh Christian Staier
Allgemeine Problematik: Blackbox Allgemeine Problematik: Hardware Auswertungselektronik Software Assembler Alexander Stroh Christian Staier
Schaltplan und Layout Schaltpläne: ProTel-Schematics Layout-Dateien: ProTel-PCB Alexander Stroh Christian Staier
Schaltplan Sensorplatine
Schaltplan I2C-Platine
Layout Sensorplatine
Layout I2C-Platine
Struktogramm Alexander Stroh Christian Staier
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
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
Programmier-Probleme Radizieren Berechnungen über mehrere Register Umrechnung der Werte und Ausgabe auf Display Alexander Stroh Christian Staier
Programmier-Probleme Radizieren Radizieren Berechnungen über mehrere Register Umrechnung der Werte und Ausgabe auf Display Alexander Stroh Christian Staier
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 49 1. ungerade Zahl - 1 Ergebnis: Anzahl ungerader Zahlen: 48 2. ungerade Zahl 5 1 6 3 7 4 2 - 3 45 - 5 40 - 7 33 - 9 24 - 11 13 - 13 Alexander Stroh Christian Staier
Programmier-Probleme Radizieren Radizieren Berechnungen über mehrere Register Umrechnung der Werte und Ausgabe auf Display Alexander Stroh Christian Staier
Programmier-Probleme Radizieren Berechnungen über mehrere Register Berechnungen über mehrere Register Umrechnung der Werte und Ausgabe auf Display Alexander Stroh Christian Staier
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
Programmier-Probleme Berechnungen über mehrere Register Programmier-Probleme Radizieren Berechnungen über mehrere Register Umrechnung der Werte und Ausgabe auf Display Alexander Stroh Christian Staier
Programmier-Probleme Radizieren Berechnungen über mehrere Register Umrechnung der Werte und Ausgabe auf Display Umrechnung der Werte und Ausgabe auf Display Alexander Stroh Christian Staier
Umrechnung der Werte und Ausgabe auf Display 0d ≤ Ergebnis ≤ 360d Skalierung: 1d = 0,1g Angezeigter Wert ASCII-Code in hex , g 30 30 2C 30 67 +1 , 1 g 30 30 2C 31 67 , 2 g 30 30 2C 32 67 , 3 g 30 30 2C 33 , 4 g 30 30 2C 34 67 , 5 g 30 30 2C 35 67 Alexander Stroh Christian Staier
Umrechnung der Werte und Ausgabe auf Display 0d ≤ Ergebnis ≤ 360d Skalierung: 1d = 0,1g Adresse ASCII in hex 30h ASCII-Zeichen: ‚0‘ 400Ah dptr 31h ASCII-Zeichen: ‚1‘ 400Bh 2Ch ASCII-Zeichen: , 400Ch 24,7g 01,4g 400Dh 34h ASCII-Zeichen: ‚4‘ 67h ASCII-Zeichen: ‚g‘ 400Eh 30h ASCII-Zeichen: ‚0‘ 400Fh 32h ASCII-Zeichen: ‚2‘ 4041h 34h ASCII-Zeichen: ‚4‘ 4042h Alexander Stroh Christian Staier
Danke für die Aufmerksamkeit