Hab mal probiert das Beispiel der Elektronikerseite für mich aufzubereiten.
Jetzt habe ich endlich die AND Funktion verstanden - -
Was ich immer noch nicht weiß: Warum Boolean statt Bit (definition Variable)
Hier das Bascomprogramm
Code:
'8Bit Binärzähler mit Schieberegister 74HC164
'PortD.0 an MR
'PortD.1 an CL
'PortD.2 an Da
'LED an allen Ausgängen des 74HC164
$regfile "m8def.dat"
$crystal = 1000000
Dim Zahl As Byte
Dim Sichern As Byte
Dim Outbit As Boolean 'Boolean?? warum nicht als Bit???
Dim Durchlauf As Byte
Config Portd.0 = Output
Master_reset Alias Portd.0
Config Portd.1 = Output
Tackt_eingang Alias Portd.1
Config Portd.2 = Output
Ausgang Alias Portd.2
Tackt_eingang = 0
Do
Sichern = Zahl : Master_reset = 0 : Master_reset = 1 'Alle LED kurz aus
For Durchlauf = 1 To 8 '8 Durchläufe für 8 Bit
Outbit = Sichern And 1 : Ausgang = Outbit 'Hier wird geprüft ob das letzte Bit 1 ist und dann endsprechend ausgegeben
Tackt_eingang = 1 : Tackt_eingang = 0 'das Bit ins Schiebregister
Shift Sichern , Right 'die Binärzahl um eine Stelle nach rechts schieben (rechtes Bit entfällt)
Next Durchlauf
Incr Zahl : Waitms 300 'Zahl plus 1 --- kurz warten
If Zahl >= 255 Then 'wenn Zahl größer gleich 255 dann
Zahl = 0 ' Zahl gleich 0
End If
Loop
'Beispiel:
'Zahl = 3 -> Sichern = 3 (00000011)
'Outbit = 00000011 AND 1 = 1
'Ausgang = 1
'Sichern (0011) schiebe nach rechts = 00000001
'nächster Durchgang 00000001 AND 1 = 1
'Ausgang = 1
'Sichern (00000001) schiebe nach rechts = 00000000
'nächster Durchgang 00000000 AND 1 = 0
'Ausgang = 0
'usw
Lesezeichen