'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Filename : LED-MATRIX 8*8 '
' Revision : 1.0 '
' Controller : AT90S2313/TINY2313 '
' Compiler: BASCOM-AVR 1.11.9.1 DEMO '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'$regfile = "2313def.dat"
$regfile = "attiny2313.dat"
$crystal = 8000000
Config Portb = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Input ' s1
Config Portd.6 = Input ' s2
Config Portd.0 = Input ' s3
Config Portd.1 = Input ' s4
'
Dim S As Byte 'Variable speed
Dim E As Byte 'variable effect
Dim Delta_t As Byte 'Delta time
Dim Spedtek As Byte 'current speed
Dim Data_out As Byte 'imprint in port
Dim Shag_effect As Byte 'step effect
Dim Shag_max As Byte 'maximum step effect
Dim D As Word
Dim Flag_effect As Byte
Dim Flag_speed As Byte
Dim Fs As Byte
Dim Ef As Byte
S = 7
Spedtek = Lookup(s , Speders)
Shag_effect = 0
Shag_max = 8
E = 1
D = 0
Do
Portd = &H00
Gosub Outdata
Portd = &H04
Gosub Outdata
Portd = &H08
Gosub Outdata
Portd = &H0C
Gosub Outdata
Portd = &H10
Gosub Outdata
Portd = &H14
Gosub Outdata
Portd = &H18
Gosub Outdata
Portd = &H1C
Gosub Outdata
Incr Delta_t 'Increase delta time
If Delta_t = Spedtek Then 'If the time delta is the current speed, the
Incr Shag_effect 'increasing current step effect
Delta_t = 0 'delta time zero
End If
If Shag_effect = Shag_max Then
Shag_effect = Shag_max - 8
If Flag_speed = 1 Then
Incr Fs
If Fs = 24 Then Fs = 1
Spedtek = Lookup(fs , Speders)
End If
If Flag_effect = 1 Then
Incr Ef
If Ef = 8 Then
Ef = 1
Incr E
If E > 12 Then E = 1
Shag_max = E * 8 'The maximum step is equal to the number effect, multiplied by 8
Shag_effect = Shag_max - 8 'Step effect is equal to the maximum step minus 8
End If
End If
End If
D = Shag_effect * 8
'
Debounce Pind.5 , 0 , Plus_speed , Sub
Debounce Pind.1 , 0 , Minus_speed , Sub
Debounce Pind.6 , 0 , Plus_effect , Sub
Debounce Pind.0 , 0 , Minus_effect , Sub
If Pind.5 = 0 And Pind.1 = 0 Then Flag_speed = 1
If Pind.6 = 0 And Pind.0 = 0 Then Flag_effect = 1
'
Loop
'
Outdata:
Data_out = Lookup(d , Effekt)
Portb = Data_out
D = D + 1
Waitms 1
Portb = &H00
Return
'
Plus_speed:
Incr S
If S > 11 Then S = 11
Spedtek = Lookup(s , Speders)
Delta_t = 0
Flag_speed = 0
Return
'
Minus_speed:
Decr S
If S < 1 Then S = 1
Spedtek = Lookup(s , Speders)
Delta_t = 0
Flag_speed = 0
Return
'
Plus_effect:
Incr E
If E > 12 Then E = 12
Shag_max = E * 8 'The maximum step is equal to the number effect, multiplied by 8
Shag_effect = Shag_max - 8 'Step effect is equal to the maximum step minus 8
Flag_effect = 0
Return
'
Minus_effect:
Decr E
If E < 1 Then E = 1
Shag_max = E * 8 'The maximum step is equal to the number effect, multiplied by 8
Shag_effect = Shag_max - 8 'Step effect is equal to the maximum step minus 8
Flag_effect = 0
Return
Speders:
Data 1 , 2 , 3 , 4 , 6 , 9 , 13 , 18 , 24 , 31 , 39 , 50 , 70 , 50 , 39 , 31 , 24 , 18 , 13 , 9 , 6 , 4 , 3 , 2 , 1
'
Effekt:
'
Data &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00
Data &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00
Data &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00
Data &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF
Data &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00
Data &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00
Data &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00
Data &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF
'
Data &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF
Data &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00
Data &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00
Data &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF
Data &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00
Data &H00 , &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00
Data &HFF , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00
'
Data &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01
Data &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02
Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08
Data &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10
Data &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20
Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40
Data &H80 , &H80 , &H80 , &H80 , &H80 , &H80 , &H80 , &H80
'
Data &H80 , &H80 , &H80 , &H80 , &H80 , &H80 , &H80 , &H80
Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40
Data &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20
Data &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08
Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04
Data &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02 , &H02
Data &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01
'
Data &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80
Data &H80 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40
Data &H40 , &H80 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20
Data &H20 , &H40 , &H80 , &H01 , &H02 , &H04 , &H08 , &H10
Data &H10 , &H20 , &H40 , &H80 , &H01 , &H02 , &H04 , &H08
Data &H08 , &H10 , &H20 , &H40 , &H80 , &H01 , &H02 , &H04
Data &H04 , &H08 , &H10 , &H20 , &H40 , &H80 , &H01 , &H02
Data &H02 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80 , &H01
'
Data &H80 , &H40 , &H20 , &H10 , &H08 , &H04 , &H02 , &H01
Data &H40 , &H20 , &H10 , &H08 , &H04 , &H02 , &H01 , &H80
Data &H20 , &H10 , &H08 , &H04 , &H02 , &H01 , &H80 , &H40
Data &H10 , &H08 , &H04 , &H02 , &H01 , &H80 , &H40 , &H20
Data &H08 , &H04 , &H02 , &H01 , &H80 , &H40 , &H20 , &H10
Data &H04 , &H02 , &H01 , &H80 , &H40 , &H20 , &H10 , &H08
Data &H02 , &H01 , &H80 , &H40 , &H20 , &H10 , &H08 , &H04
Data &H01 , &H80 , &H40 , &H20 , &H10 , &H08 , &H04 , &H02
'
Data &H01 , &H80 , &H01 , &H80 , &H01 , &H80 , &H01 , &H80
Data &H02 , &H40 , &H02 , &H40 , &H02 , &H40 , &H02 , &H40
Data &H04 , &H20 , &H04 , &H20 , &H04 , &H20 , &H04 , &H20
Data &H08 , &H10 , &H08 , &H10 , &H08 , &H10 , &H08 , &H10
Data &H10 , &H08 , &H10 , &H08 , &H10 , &H08 , &H10 , &H08
Data &H20 , &H04 , &H20 , &H04 , &H20 , &H04 , &H20 , &H04
Data &H40 , &H02 , &H40 , &H02 , &H40 , &H02 , &H40 , &H02
Data &H80 , &H01 , &H80 , &H01 , &H80 , &H01 , &H80 , &H01
'
Data &H80 , &H01 , &H80 , &H01 , &H80 , &H01 , &H80 , &H01
Data &H40 , &H02 , &H40 , &H02 , &H40 , &H02 , &H40 , &H02
Data &H20 , &H04 , &H20 , &H04 , &H20 , &H04 , &H20 , &H04
Data &H10 , &H08 , &H10 , &H08 , &H10 , &H08 , &H10 , &H08
Data &H08 , &H10 , &H08 , &H10 , &H08 , &H10 , &H08 , &H10
Data &H04 , &H20 , &H04 , &H20 , &H04 , &H20 , &H04 , &H20
Data &H02 , &H40 , &H02 , &H40 , &H02 , &H40 , &H02 , &H40
Data &H01 , &H80 , &H01 , &H80 , &H01 , &H80 , &H01 , &H80
'
Data &H01 , &H01 , &H01 , &H01 , &H80 , &H80 , &H80 , &H80
Data &H02 , &H02 , &H02 , &H02 , &H40 , &H40 , &H40 , &H40
Data &H04 , &H04 , &H04 , &H04 , &H20 , &H20 , &H20 , &H20
Data &H08 , &H08 , &H08 , &H08 , &H10 , &H10 , &H10 , &H10
Data &H10 , &H10 , &H10 , &H10 , &H08 , &H08 , &H08 , &H08
Data &H20 , &H20 , &H20 , &H20 , &H04 , &H04 , &H04 , &H04
Data &H40 , &H40 , &H40 , &H40 , &H02 , &H02 , &H02 , &H02
Data &H80 , &H80 , &H80 , &H80 , &H01 , &H01 , &H01 , &H01
'
Data &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF
Data &H7F , &H7F , &H7F , &H7F , &H7F , &H7F , &H7F , &H7F
Data &H3F , &H3F , &H3F , &H3F , &H3F , &H3F , &H3F , &H3F
Data &H1F , &H1F , &H1F , &H1F , &H1F , &H1F , &H1F , &H1F
Data &H0F , &H0F , &H0F , &H0F , &H0F , &H0F , &H0F , &H0F
Data &H07 , &H07 , &H07 , &H07 , &H07 , &H07 , &H07 , &H07
Data &H03 , &H03 , &H03 , &H03 , &H03 , &H03 , &H03 , &H03
Data &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01 , &H01
'
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10
Data &H30 , &H30 , &H30 , &H30 , &H30 , &H30 , &H30 , &H30
Data &H70 , &H70 , &H70 , &H70 , &H70 , &H70 , &H70 , &H70
Data &HF0 , &HF0 , &HF0 , &HF0 , &HF0 , &HF0 , &HF0 , &HF0
Data &HF1 , &HF1 , &HF1 , &HF1 , &HF1 , &HF1 , &HF1 , &HF1
Data &HF3 , &HF3 , &HF3 , &HF3 , &HF3 , &HF3 , &HF3 , &HF3
Data &HF7 , &HF7 , &HF7 , &HF7 , &HF7 , &HF7 , &HF7 , &HF7
'
Data &H00 , &HFF , &HFF , &HFF , &H00 , &HFF , &HFF , &HFF
Data &HFF , &H00 , &HFF , &HFF , &HFF , &H00 , &HFF , &HFF
Data &HFF , &HFF , &H00 , &HFF , &HFF , &HFF , &H00 , &HFF
Data &HFF , &HFF , &HFF , &H00 , &HFF , &HFF , &HFF , &H00
Data &H00 , &HFF , &HFF , &HFF , &H00 , &HFF , &HFF , &HFF
Data &HFF , &H00 , &HFF , &HFF , &HFF , &H00 , &HFF , &HFF
Data &HFF , &HFF , &H00 , &HFF , &HFF , &HFF , &H00 , &HFF
Data &HFF , &HFF , &HFF , &H00 , &HFF , &HFF , &HFF , &H00