![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Georg! Hier ein kleines Programm das demonstriert, wie der Analog-Digital-Wandler der Open-Midi auf 10-Bit-Messungen umgeschaltet wird. Das Meßergebnis kann aus dem High- und Low-Byte vom AD-Datenregister ausgelesen werden. Wenn nur das Low-Byte (im Programm ist das "adwert") ausgelesen wird, lassen sich Spannungen zwischen 0 und rund 1,25 Volt in 8-Bit-Auflösung messen. Standardmäßig wird der AD-Wandler vom Betriebssystem auf "Long Sample Time" konfiguriert. Dadurch lassen sich auch Signalquellen mit einer höherer Quellimpedanz als 10 kOhm präzise messen. Ich habe das Programm auf meinem PE-Board getestet. An AD[6] ist hier ein 25-kOhm-Poti angeschlossen. Obwohl beim Entwurf des Boards keine Anstrengungen zur Entstörung der AD-Eingänge unternommen wurden, sind die Meßwerte selbst in 10-Bit-Auflösung absolut stabil und genau. ' ----------------------------------------------------------------------------- ' Analog-Digital-Wandler der Open-Midi auf 10-Bit-Modus umschalten ' ----------------------------------------------------------------------------- INCLUDE "omid.def" DEFINE taste PORT[4] DEFINE adwert AD[6] ' Bits im ADC10 Clock Register (ADCLK): ' ADLPC ADIV1 ADIV0 ADICLK MODE1 MODE0 ADLSMP ACLKEN ADCLK=ADCLK AND &b11110011 OR &b0100 'MODE1 loeschen, MODE0 setzen PULLUPA=&b011111 'Pullup-Widerstand an PORT[6] deaktivieren WHILE taste PRINT adwert 'Messung starten, Low-Byte zurückliefern PRINT ADRH 'High-Byte der letzten AD-Messung PRINT ADRL 'Low-Byte der letzten AD-Messung PAUSE 10 WEND End2Host=ON END Viele Grüße Dietmar Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |