Und für die Bascom-Fetischisten auch was einfaches zum Testen.
Code:
'Kleines Testprogramm für Encoder
'Verwendetes LCD hat 2x24 Zeichen
'Die beiden Leitungen sind mit ca. 200 Ohm als Pullup nach vcc gelegt
'Die Controllerpullups taugen hier nicht viel.
'Wegen der direkten Abfrage und gleichzeitigen LCD-Ausgabe
'ist die maximale erfassbare Geschwindigkeit recht gering.
'Je weniger das LCD genutzt wird desto höher kann man gehen.
'In der Praxis wäre aber ein Interruptbetrieb oder gleich ein externer Zähler Sinvoller.
'Als Demo zum Spielen reicht das aber erstmal aus.
'Gruß Ratber Roboternetz.de 2006
'PS: das ist wärend einer Ziggarette geschrieben also keine Wunder oder sowas erwarten. ;)
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 300
$hwstack = 64
$swstack = 30
$framesize = 120
Dim A As Byte
Dim B As Byte
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.0 , Db7 = Portc.1 , E = Portd.7 , Rs = Portb.0
Config Lcd = 24 * 2
Initlcd
Cls
Cursor Off
Config Pind.5 = Input
Config Pind.6 = Input
Cls
Locate 1 , 1
Lcd "Encoder test"
A = 100 'irgendein Startwert
Locate 2 , 1
Lcd A
Main:
B = Encoder(pind.6 , Pind.5 , Rechts , Links , 1)
Goto Main
Links:
Decr A
Locate 1 , 14
Lcd B
Locate 2 , 1
Lcd A ; " Links "
Return
Rechts:
Incr A
Locate 1 , 14
Lcd B
Locate 2 , 1
Lcd A ; " Rechts "
Return
End
Nix weltbewegendes aber zum Ausprobieren reicht es ja.
Lesezeichen