So,
ich versuche mal den Quelltext zu Kommentieren... dann sollte jeder
sehen, daß das ganz einfach zu verstehen ist.
Gruß,Code:####################################################### $regfile = "m32def.dat" // Include Datei für Registerdefinitionen ' bei Mega 16 $regfile = "m16def.dat" $framesize = 32 // Irgendwelche Einstellungen für Bascom $swstack = 32 // Stack?!?! $hwstack = 32 // Stack?!?! $crystal = 16000000 'Quarzfrequenz //Quarzfrequen $baud = 9600 // Serielle Schnittstelle Config Int0 = Falling // INT0 bei fallender Flanke an PIN.d2 Config Timer1 = Timer, Prescale = 256 // Timer1 einstellen Const Timervorgabe = 3036 //Konstante definieren Const Markierungenproscheibe = 120 //DITO Dim Zaehlerirq0 As Long // Variable deklarieren Dim Impulseprosekunde As Long //dito Dim Impulseprominute As Long //dito Dim Umdrehungenprominute As Integer //dito Print // Print "* RN-Control 1.4 *" // Print "Drehzahl Messung"; "" // Text ausgeben Zaehlerirq0 = 0 //Variable=Wert On Int0 Irq0 // Bei INT0 die Subroutine "Irq0" aufrufen Enable Int0 // INT0 einschalten On Timer1 Timer_irq //Bei Timer1-Int die Sub "Timer_irq" aufrufen Enable Timer1 //Timer1-Int einschalten Enable Interrupts // Alle Interrupts freigeben Do // Endlosschleife Print // Print "Impulse Sek: "; Impulseprosekunde // Text und Variable ausgeben Impulseprominute = Impulseprosekunde * 60 // Irgendwas rechnen Umdrehungenprominute = Impulseprominute / Markierungenproscheibe //dito Print "Umdreh. Min: "; Umdrehungenprominute //Text und Var ausgeben Wait 3 //Warten Loop //Endlosschleife-Ende End // Ende des Hauptprogramms 'Pro Impuls (Markierung auf Scheibe) ein Aufruf Irq0: //Subroutine "Irq0" Incr Zaehlerirq0 //Variable um eins erhöhen Return // Zurück zum Hauptprogramm 'Pro Sekunde ein Aufruf Timer_irq: //Subroutine Timer1 = Timervorgabe // Timer1 mit Wert laden Impulseprosekunde = Zaehlerirq0 // irgendwas rechnen Zaehlerirq0 = 0 // Var=Wert Return // Zurück zum Hauptprogramm ######################################
SIGINT







Zitieren

Lesezeichen