so, ich habe noch ein paar Variablen namen geändert
Code:
'7Segmentanzeige mit 4 Anzeigen
$regfile = "ATtiny2313.dat" 'ATTiny2313
$crystal = 20000000 '20MHz Quarz
Ddrb = &B11111111 'PortB = Ausgang (PB0=A usw.)
Ddrd = &B1111111 'PortD = Ausgang (PD3=Anzeige1, PD4=A2, PD5=A3, PD6=A4)
Dim Led2 As String * 5 At &H70
Dim Z(5) As Byte At &H70 Overlay
Dim Led As Word
Dim X(5) As Byte
Dim Test As Integer
Dim Test2 As Integer
Dim Anzeige_x As Byte 'für LED-Anzeige wählen...
Enable Interrupts
Do
'LED:=:EZHT
Led = 123 'LED - Anzeigewert
For Test2 = 0 To 5 'Wert sichern .....
X(test2) = Z(test2)
Next Test2
'Anzeige durchwechseln (hochzählen)
For Anzeige_x = 3 To 6 'Zaehler = PortD 3-6 Anzeige wählen)
Test = X(anzeige_x)
Select Case Test
'Led-Segmente als Zahlen definieren:
Case 48 : Portb = 63 'NULL
Case 49 : Portb = 6 'EINS
Case 50 : Portb = 91 'ZWEI
Case 51 : Portb = 79 'DREI
Case 52 : Portb = 102 'VIER
Case 53 : Portb = 109 'FÜNF
Case 54 : Portb = 125 'SECHS
Case 55 : Portb = 7 'SIEBEN
Case 56 : Portb = 127 'ACHT
Case 57 : Portb = 111 'NEUN
Case 58 : Portb = 128 'DP -> geht das als PORT zu setzen???
Case Else : Portb = 0
End Select
'Anzeige auswählen und Ein- / Ausschalten
Portd.anzeige_x = 1 'Anzeige AN
Waitus 100 'Zeit für jede Anzeige
'zum testen Waitms 500 'waitus 100 'Zeit für jede Anzeige
Portd.anzeige_x = 0 'Anzeige AUS
Next Anzeige_x
Led2 = Str(led)
If Z(4) = 0 Then 'Führende Nullen eliminieren
Do
Z(5) = Z(4)
Z(4) = Z(3)
Z(3) = Z(2)
Z(2) = Z(1)
Z(1) = 0
Loop Until Z(5) > 0
End If
Loop
Lesezeichen