Hallo,
was muss an diesem Quelltext geändert werden, damit die Ausgabe über LC-Display auf einem M32 Board erfolgt?
[/code]Code:'################################################### '# ultraschall.bas # '################################################### '#Dieses Programm demonstriert die Verwendung # '#des Ultraschall Entfernungssensors SRF05 # '#mit dem Controllerboard RN-Control # '# # '#Aufgabe: # '#Entfernung wird gemessen und in Zentimetern über # '#RS232 ausgegeben # '################################################### $regfile = "m32def.dat" ' Bestimmung des Prozessors $crystal = 16000000 ' Quarzfrequenz $baud = 9600 ' RS232-Uebertragungsrate $hwstack = 32 $framesize = 32 $swstack = 32 Dim Zeitmessung As Word Dim Entfernung As Word Print "**** SRF05 mit RN-MINICONTROL *****" Print "Entfernung in cm anzeigen" ' Der Ultraschallsensor wird am Port A Pin 7 angeschlossen Config Pina.7 = Output ' Bestimme den Anschluss des Sensors und setze ihn auf Output Do Porta.7 = 0 'Port Low Pulseout Porta , 7 , 40 '10uS Impuls bei 4 MHz senden (10*4=40) Pulsein Zeitmessung , Pina , 7 , 1 ' Den Puls wieder empfangen Zeitmessung = Zeitmessung * 10 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt 'Echo-Impuls ist 100uS bis 25 mS lang. Über 30 mS bedeutet, dass kein Objekt im Bereich ist. ' Um eine Messung zu starten, wird ein Impuls von 10 us an den Triggereingang gelegt. ' Der Wandler wird darufhin für 200 us (8 Zyklen mit je 40 KHz) getaktet. Der Echo-Ausgang geht auf High. ' Das erste hereinkommende Echo schaltet den Echo-Ausgang wieder auf Low. ' Die Entfernung ergibt sich rechnerisch als Produkt aus der Schallgeschwindigkeit (344 m/s in Luft bei 21 Grad Celsius) ' und der Länge des Echoimpulses. Da die Streckes des Schalls doppelt zurück gelegt wird, ist das Ergebnis ' durch 2 zu dividieren. ' s[m] = 344 m/s * t[s] / 2 ' ==> s[m] = 172 m/s * t[s] ' Je nach Genauigkeit sind Vereinfachungen möglich und Sinnvoll ' s[cm] = 172 * t[us] / 10000 ' ==> s[cm] = t / (10000 / 172) ' ==> s[cm] = t / 58,14 Entfernung = Zeitmessung / 58 'Umrechnen in Zentimeter ' Beträgt die Entfernung einen Abstand von mehr als 10 cm, dann gib zwei Töne aus. If Entfernung = 0 Then Print "Sensor not activ!" End If If Entfernung > 10 Then Sound Portd.7 , 400 , 450 Waitms 5 Sound Portd.7 , 400 , 600 Waitms 5 End If If Entfernung = 0 Then Print "Sensor not activ!" End If Print "Entfernung: " ; Entfernung ; " cm" Wait 1 Loop







Zitieren

Lesezeichen