- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 4 von 4

Thema: Pulse Zählen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.07.2005
    Alter
    44
    Beiträge
    50

    Pulse Zählen

    Anzeige

    Powerstation Test
    Hallo!
    Ich habe noch ein (ich denke kleines) Problem...
    Ich möchte ganz gerne Pulse Zählen. Diese Pulse stammen direkt vom Parallelport und steuern schrittmotore.
    Ich möchte mir nun eine Digitalanzeige dafür machen.
    Da die Pulsgeschwindigkeit unterschiedlich ist, bringt es mir nichts ein Programm zu schreiben, das den eingang nach einer bestimmten Zeit immer abfragt und dann den Wert verändert. Es muss schon die änderung des zustands erfasst werden.
    Mit welchem Befehl kann ich dies machen? Ich habe es mit einem kleinen Programm versucht hinzubekommen...es ist leider nur ein Zufallsgenerator geworden

    Code:
    $regfile = "m16def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 8000000
    
        Config Portc = Output                                   'display
        Config Porta = Input                                    'Schalter
    
       'Pins des LCD-Modules setzen ggf. an eigene Anschlüsse anpassen
       Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    
           Config Lcd = 20 * 4a , Chipset = Ks077
       'Config Lcd = 20 * 4                                      ' wird nicht benötigt daher auskommentiert
       'Config Lcdbus = 4                                        ' oder weglassen :-)
     Initlcd
     Cls
    
    
    Dim A As Bit                                                'A ist die Variable für den zustand...also entweder 0 oder 1
    Dim B As Byte
    
    
    A = 0                                                       'als erstes bei 0 anfangen
    B = 0
    
       Start:
    
    Do
    If Pina.0 = A Then
    Locate 4 , 1
    Lcd "keine änderung"
                                           'wenn der gleiche zustand anliegt tue nichts
    Else
    B = B + 1
    
    Goto Anders
    
    End If
    
    Locate 1 , 1
    Lcd A
    
    Locate 2 , 1
    Lcd B
    
    Loop
    
    
    Anders:
    If A = 0 Then A = 1
    If A = 1 Then A = 0
    
    
    Goto Start
    Danke für eure Hilfe!!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Mein Tipp:

    entweder externer Interupt oder einen Timer zählen lassen.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    ...es ist leider nur ein Zufallsgenerator geworden
    das wundert mich auch nicht.
    Wenn "Anders" angesprungen wird, bleibt A trotzdem immer "0".
    Sieh dir mal den Befehl "Toggle" an.
    Und B zählt, wie oft die Schleife durchlaufen wird ?
    Und das jeweils mit einem anderen Ergebnis, da B nie zurückgesetzt wird ?

    Ich habe noch ein (ich denke kleines) Problem...
    sorry, das sehe ich etwas anders ...

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    19.07.2005
    Alter
    44
    Beiträge
    50
    Hallo!
    Wieso? War doch echt nur ein kleines Problem. Ich habe jetzt "Anders" mit dem Befehl Toggle geschrieben. Jetzt zählt er mir jede zustandsänderung. Genauso wollte ich es ja auch haben

    Danke für die Hilfe!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress