![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
-------------------------------------------------------------------------- Hallo Georg, 1.) Frage: Definition der Ports: z.B. Open Micro (pin8 Vss / Masse) pin7 port1 'Serielle Schnittstelle pin6 port2 pin5 port3 'FREQ1 pin4 port4 pin3 port5 pin2 port6 (pin1 Vdd / +5V) Deine Port Definition ist komplett Auskommentiert? Die Anordnung der Ports? 'port1 'PWM-Port für den Lüfter? Wie Lüfter? 'port2 'RS232? 'port6 'Dipschalter DIP1 PORT[2]? 'port4 'FREQ1? 'port5 'Dipschalter DIP2 PORT[5]? 'port2 'Dipschalter DIP3 PORT[6]? Müssen die Ports noch definiert werden? 2.) Frage: KBIER=b01001100 'FREQ1 zusätzlich an PORT[4]? Was ist KBIER? Woher kommt b01001100? 3.) Frage: pwm1_ein 'Einschaltung PWM-Port1? Wodurch wird der Port eingeschaltet? Hier sieht es aus, als sei es eine Sprungmarke ohne Ziel. 4.) Frage: Es gibt drei Tabellen, TABLE pwm1_ein TABLE pwm1 TABLE pwm1_aus Die Tabellen habe ich nicht verstanden. Wie funktioniert das mit den Tabellen? Warum stehen in der einen Tabelle Dezimal-Zahlen un in den anderen Hex-Zahlen? 5.) An welchen Port wird die Eingangsfrequenz eingelesen und wo wird die Ausgansfrqenz ausgegeben? Wie kann ich mir zusätzlich die Eingangs.- und Ausgangsfrquenz am PC im Terminal-Programm anzeigen lassen? Das sind bestimmt noch nicht alle Fragen. Gruß Alex -------------------------------------------------------------------------- -------------------------------------------------------------------------- Deine Nachricht! hier ein Beispiel: ' --- Betriebssystem konfigurieren ------------------------------------------ include "om.def" ' Definitionen fuer Betriebssystem pullupa = 0 '&b00111101 ' Schaltet die internen Pull-Up-Widerstände ab ' --- Definitionen der Ports-------------------------------------------------- 'define PWM_Port port[1] ' PWM-Port für den Lüfter ' port[2] ' Anschluss RS232-Interface (für Testphase) ' port[6] ' Dipschalter 'DEFINE DIP1 PORT[2] ' FREQ1 ' port[4] ' port[5] ' Dipschalter 'DEFINE DIP2 PORT[5] ' port[2] ' Dipschalter 'DEFINE DIP3 PORT[6] ' --- Definition der Variablen ---------------------------------------------- define tmp byte ' Hilfsvariable ersatz für pwm BYTE define PWMIn byte CONFIG2=&b01000000 'IRQEN im CONFIG2-Register des Kontrollers setzen 'INTERRUPT basicirq 'BASIC-Interruptroutine vereinbaren FREQ=50 ' Torzeit, bzw. Meßzeit für FREQ1: 1 Sekunde KBIER=&b01001100 'FREQ1 zusätzlich an PORT[4] 'Programmschleife pwm1_ein ' Einschaltung PWM-Port1 #Loop PWMIn = freq1 Looktab FreqausgabeKennlinie0, PWMIN ,tmp ' pwm1 tmp pause 1 goto Loop TABLE FreqausgabeKennlinie0 byte 0 0 0 0 0 0 1 1 2 3 4 5 6 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 27 29 31 33 35 37 39 TABEnD ' --------------------------------------------------------------------------- ' --- PWM-Routinen für Port1 ---------------------------------- ' --------------------------------------------------------------------------- ' Hinweis ' Wenn Diese PWM-Routine eingeschaltet wird, dann kann nicht mehr auf die ' Serielle Schnittstelle zugegriffen werden. Nach abschalten dieser ' PWM-Routine steht die Serielle Schnittstelle wieder zur Verfügung. ' --------------------------------------------------------------------------- TABLE pwm1_ein byte ' PWM Port1 einschalten &h12 &h06 &h1a &h20 &h18 &h20 &h3f &h26 &h3f &h27 &ha6 &h1a &hb7 &h25 &h1b &h20 &h81 TABEND ' --------------------------------------------------------------------------- TABLE pwm1 byte ' PWM Port1 setzten - Uebergabe als Argument &h12 &h06 &had &h13 &ha1 &hfa &h25 &h03 &h10 &h25 &h81 &h5f &h48 &h59 &h48 &h59 &hbf &h26 &hb7 &h27 &h11 &h25 &h81 &hae &h01 &h83 TABEND ' --------------------------------------------------------------------------- TABLE pwm1_aus byte ' PWM Port1 ausschalten &h12 &h06 &h1a &h20 &h18 &h20 &h3f &h25 &h1b &h20 &h81 TABEND ' --------------------------------------------------------------------------- end Hier kurze Erklärung bei diesem Beispiel wird die Frequenzzählung an an Port4 verfügbar gemacht. Die Meßzeit beträgt eine Sek. für deine Einstellung ---> je höher die Frequenz desto niedriger die Torzeit. Übergabe an die variable PWMIn. Im nächsten Schritt wird die gemessene Frequenz mit Looktab mit der Datentabelle verglichen und ein entsprechender ausgelesener Wert der variablen tmp zugewiesen und an die PWM ausgabe an Port 1 übergeben. Also wenn ich 7 Hz messe wird mir 1 Hz ausgegeben. Oder der Wert schaut in die Tabelle was an Pos 7 steht (beginnend mit Null ---> 0 1 2 3 4 5 6 7 8 9 10 11 usw. Die Messung ist mit der Torzeit veränderbar (255 stufen für Bytevariabele , mit Zusatzsoftwaremodul auch Wordvariabelen möglich 32000 Stufen) für die Ausgabe weis ichs nicht genauwas da geht bei mir reichte die Byte Variable. Man könnte auch die PWM auf Port2 legen und auf Port1 per Terminalprogramm die Messungen anzeigen lassen - so zum testen Für die PWM-Ausgabe können dir die Profis hier sicher mehr sagen. Oder einen separaten BAustein für die Freq Ausgabe nutzen. Ich hoffe ich konnte dir mit meinen Worten weiterhelfen - sonst schreib nochmal Gruß Georg -------------------------------------------------------------------------- |
Antwort schreiben |