Guten tag, ich habe eine 10x10 Charlieplexed LED anzeige gebaut mit dieser Zeichnung:
Anhang 25116
Meine microcontroller ist eine ATmega88 und es gibt 11 Tri-State-Pin verwendet:
Pin1 Alias Portd.2
Pin2 Alias Portd.3
Pin3 Alias Portd.4
Pin4 Alias Portd.5
Pin5 Alias Portd.6
Pin6 Alias Portc.0
Pin7 Alias Portc.1
Pin8 Alias Portc.2
Pin9 Alias Portc.3
Pin10 Alias Portc.4
Pin11 Alias Portc.5
Tri-state ist X, 0, 1
X = nichts
0 = 0 volt
1 = 5 volt
Problem:
Mein Programm ist zu groß und nicht optimal. Mijn Ziel ist um text auf anzeige von rechts nach links.
Kennt ihr vielleicht eine Möglichkeit das Programm effektiver zu schreiben?
Vielen Dank für eure Hilfe
(Dieser Code-Anzeige, den Buchstaben 'B' von rechts nach links)
Code:
$regfile = "m88def.dat"
$crystal = 8000000
$baud = 19200
Dim A As Byte , B As Word , C As Word
Config Portd = Input
Config Portc = Input
Pin1 Alias Portd.2
Pin2 Alias Portd.3
Pin3 Alias Portd.4
Pin4 Alias Portd.5
Pin5 Alias Portd.6
Pin6 Alias Portc.0
Pin7 Alias Portc.1
Pin8 Alias Portc.2
Pin9 Alias Portc.3
Pin10 Alias Portc.4
Pin11 Alias Portc.5
Statepin1 Alias Ddrd.2
Statepin2 Alias Ddrd.3
Statepin3 Alias Ddrd.4
Statepin4 Alias Ddrd.5
Statepin5 Alias Ddrd.6
Statepin6 Alias Ddrc.0
Statepin7 Alias Ddrc.1
Statepin8 Alias Ddrc.2
Statepin9 Alias Ddrc.3
Statepin10 Alias Ddrc.4
Statepin11 Alias Ddrc.5
A = 0.5
B = 0
C = 750
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Do
For B = 0 To C Step 1
Gosub Led92
Gosub Led93
Gosub Led94
Gosub Led95
Gosub Led96
Gosub Led97
Gosub Led98
Next
For B = 0 To C Step 1
Gosub Led82
Gosub Led83
Gosub Led84
Gosub Led85
Gosub Led86
Gosub Led87
Gosub Led88
Gosub Led92
Gosub Led95
Gosub Led98
Next
For B = 0 To C Step 1
Gosub Led72
Gosub Led73
Gosub Led74
Gosub Led75
Gosub Led76
Gosub Led77
Gosub Led78
Gosub Led82
Gosub Led85
Gosub Led88
Gosub Led92
Gosub Led95
Gosub Led98
Next
For B = 0 To C Step 1
Gosub Led62
Gosub Led63
Gosub Led64
Gosub Led65
Gosub Led66
Gosub Led67
Gosub Led68
Gosub Led72
Gosub Led75
Gosub Led78
Gosub Led82
Gosub Led85
Gosub Led88
Gosub Led93
Gosub Led94
Gosub Led96
Gosub Led97
Next
For B = 0 To C Step 1
Gosub Led52
Gosub Led53
Gosub Led54
Gosub Led55
Gosub Led56
Gosub Led57
Gosub Led58
Gosub Led62
Gosub Led65
Gosub Led68
Gosub Led72
Gosub Led75
Gosub Led78
Gosub Led83
Gosub Led84
Gosub Led86
Gosub Led87
Next
For B = 0 To C Step 1
Gosub Led42
Gosub Led43
Gosub Led44
Gosub Led45
Gosub Led46
Gosub Led47
Gosub Led48
Gosub Led52
Gosub Led55
Gosub Led58
Gosub Led62
Gosub Led65
Gosub Led68
Gosub Led73
Gosub Led74
Gosub Led76
Gosub Led77
Next
For B = 0 To C Step 1
Gosub Led32
Gosub Led33
Gosub Led34
Gosub Led35
Gosub Led36
Gosub Led37
Gosub Led38
Gosub Led42
Gosub Led45
Gosub Led48
Gosub Led52
Gosub Led55
Gosub Led58
Gosub Led63
Gosub Led64
Gosub Led66
Gosub Led67
Next
For B = 0 To C Step 1
Gosub Led22
Gosub Led23
Gosub Led24
Gosub Led25
Gosub Led26
Gosub Led27
Gosub Led28
Gosub Led32
Gosub Led35
Gosub Led38
Gosub Led42
Gosub Led45
Gosub Led48
Gosub Led53
Gosub Led54
Gosub Led56
Gosub Led57
Next
For B = 0 To C Step 1
Gosub Led12
Gosub Led13
Gosub Led14
Gosub Led15
Gosub Led16
Gosub Led17
Gosub Led18
Gosub Led22
Gosub Led25
Gosub Led28
Gosub Led32
Gosub Led35
Gosub Led38
Gosub Led43
Gosub Led44
Gosub Led46
Gosub Led47
Next
For B = 0 To C Step 1
Gosub Led2
Gosub Led3
Gosub Led4
Gosub Led5
Gosub Led6
Gosub Led7
Gosub Led8
Gosub Led12
Gosub Led15
Gosub Led18
Gosub Led22
Gosub Led25
Gosub Led28
Gosub Led33
Gosub Led34
Gosub Led36
Gosub Led37
Next
For B = 0 To C Step 1
Gosub Led2
Gosub Led5
Gosub Led8
Gosub Led12
Gosub Led15
Gosub Led18
Gosub Led23
Gosub Led24
Gosub Led26
Gosub Led27
Next
For B = 0 To C Step 1
Gosub Led2
Gosub Led5
Gosub Led8
Gosub Led13
Gosub Led14
Gosub Led16
Gosub Led17
Next
For B = 0 To C Step 1
Gosub Led3
Gosub Led4
Gosub Led6
Gosub Led7
Next
Loop
End
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Restart:
Waitms A
Portd.2 = 0
Portd.3 = 0
Portd.4 = 0
Portd.5 = 0
Portd.6 = 0
Portc.0 = 0
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Portc.4 = 0
Portc.5 = 0
Ddrd.2 = 0
Ddrd.3 = 0
Ddrd.4 = 0
Ddrd.5 = 0
Ddrd.6 = 0
Ddrc.0 = 0
Ddrc.1 = 0
Ddrc.2 = 0
Ddrc.3 = 0
Ddrc.4 = 0
Ddrc.5 = 0
Return
Led0:
gosub restart
Return
Led1:
Statepin1 = 1
Statepin2 = 1
Pin1 = 1
gosub restart
Return
Led2:
Statepin1 = 1
Statepin3 = 1
Pin1 = 1
gosub restart
Return
Led3:
Statepin1 = 1
Statepin4 = 1
Pin1 = 1
gosub restart
Return
Led4:
Statepin1 = 1
Statepin5 = 1
Pin1 = 1
gosub restart
Return
Led5:
Statepin1 = 1
Statepin6 = 1
Pin1 = 1
gosub restart
Return
Led6:
Statepin1 = 1
Statepin7 = 1
Pin1 = 1
gosub restart
Return
Led7:
Statepin1 = 1
Statepin8 = 1
Pin1 = 1
gosub restart
Return
Led8:
Statepin1 = 1
Statepin9 = 1
Pin1 = 1
gosub restart
Return
Led9:
Statepin1 = 1
Statepin10 = 1
Pin1 = 1
gosub restart
Return
Led10:
Statepin1 = 1
Statepin11 = 1
Pin1 = 1
gosub restart
Return
Led11:
Statepin1 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led12:
Statepin3 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led13:
Statepin4 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led14:
Statepin5 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led15:
Statepin6 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led16:
Statepin7 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led17:
Statepin8 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led18:
Statepin9 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led19:
Statepin10 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led20:
Statepin11 = 1
Statepin2 = 1
Pin2 = 1
gosub restart
Return
Led21:
Statepin1 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led22:
Statepin2 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led23:
Statepin4 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led24:
Statepin5 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led25:
Statepin6 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led26:
Statepin7 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led27:
Statepin8 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led28:
Statepin9 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led29:
Statepin10 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led30:
Statepin11 = 1
Statepin3 = 1
Pin3 = 1
gosub restart
Return
Led31:
Statepin1 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led32:
Statepin2 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led33:
Statepin3 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led34:
Statepin5 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led35:
Statepin6 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led36:
Statepin7 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led37:
Statepin8 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led38:
Statepin9 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led39:
Statepin10 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led40:
Statepin11 = 1
Statepin4 = 1
Pin4 = 1
gosub restart
Return
Led41:
Statepin1 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led42:
Statepin2 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led43:
Statepin3 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led44:
Statepin4 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led45:
Statepin6 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led46:
Statepin7 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led47:
Statepin8 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led48:
Statepin9 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led49:
Statepin10 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led50:
Statepin11 = 1
Statepin5 = 1
Pin5 = 1
gosub restart
Return
Led51:
Statepin1 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led52:
Statepin2 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led53:
Statepin3 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led54:
Statepin4 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led55:
Statepin5 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led56:
Statepin7 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led57:
Statepin8 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led58:
Statepin9 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led59:
Statepin10 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led60:
Statepin11 = 1
Statepin6 = 1
Pin6 = 1
gosub restart
Return
Led61:
Statepin1 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led62:
Statepin2 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led63:
Statepin3 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led64:
Statepin4 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led65:
Statepin5 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led66:
Statepin6 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led67:
Statepin8 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led68:
Statepin9 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led69:
Statepin10 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led70:
Statepin11 = 1
Statepin7 = 1
Pin7 = 1
gosub restart
Return
Led71:
Statepin1 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led72:
Statepin2 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led73:
Statepin3 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led74:
Statepin4 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led75:
Statepin5 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led76:
Statepin6 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led77:
Statepin7 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led78:
Statepin9 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led79:
Statepin10 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led80:
Statepin11 = 1
Statepin8 = 1
Pin8 = 1
gosub restart
Return
Led81:
Statepin1 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led82:
Statepin2 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led83:
Statepin3 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led84:
Statepin4 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led85:
Statepin5 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led86:
Statepin6 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led87:
Statepin7 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led88:
Statepin8 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led89:
Statepin10 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led90:
Statepin11 = 1
Statepin9 = 1
Pin9 = 1
gosub restart
Return
Led91:
Statepin1 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led92:
Statepin2 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led93:
Statepin3 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led94:
Statepin4 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led95:
Statepin5 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led96:
Statepin6 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led97:
Statepin7 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led98:
Statepin8 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led99:
Statepin9 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Led100:
Statepin11 = 1
Statepin10 = 1
Pin10 = 1
gosub restart
Return
Lesezeichen