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