Hey,
Ich möchte in der nächsten Zeit eine Geschwindigkeitsanzeige programmieren. Nun habe ich erstmal angefangen etwas zu programmieren, damit eine Zahl bei jeder steigenden Taktflanke, die durch einen einfachen Schalter ausgelöst werden soll um 1 erhöht wird. Im Bascom-Simulator funktioniert das Programm. In der Realität sieht es jedoch folgendermaßen aus: Solange der Schalter nicht betätigt ist, zählt das Programm einfach schnell nach oben ohne Halt. Sobald man den Schalter betätigt, bleibt der Zähler stehen. Löst man den Schalter wieder, zählt das Programm weiter.
Woran kann das liegen?
Folgendes ist der Quellcode:
Code:$sim $regfile = "m32def.dat" $crystal = 16000000 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6 Config Portd.2 = Input Config Int0 = Rising Enable Interrupts Enable Int0 Cls Initlcd Dim D As Integer Enable Interrupts Config Lcd = 20 * 4 D = 0 On Int0 Abc Do Initlcd Cls Lcd D Loop End Abc: D = D + 1 Return
Lesezeichen