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!!
Lesezeichen