$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
Config Portb = Output
Portd = &B01010101
Config Timer0 = Timer , Prescale = 1
Enable Interrupts
Enable Timer0
Load Timer0 = 200
On Timer0 Odmierz
Dim H As Byte
Dim I As Byte
Dim J As Byte
Dim K As Byte
Dim Temp As Byte
Dim Kod As Byte
H = 1
K = 0
Kod = 48
Portd = 1
St_cp Alias Portb.0 'ustawienie nazwy dla STORAGE CLOCK PULSE
Sh_cp Alias Portb.5 'ustawienie nazwy dla SHIFT CLOCK PULSE
Ds Alias Portb.3 'ustawienie nazwy dla DS
Gosub Clear_screen
Do
Waitus 700
Incr Kod
If Kod = 58 Then Kod = 48
Loop
End
Odmierz: 'przerwanie od timer0
Load Timer0 = 1
If K = 5 Then
Gosub Clear_screen
K = 0
End If
Gosub Kolumna
Gosub Wiersze
Return
Kolumna: 'podprogram włączający kolejno anody kolumn
If K = 0 Then
Ds = 1
Gosub Reg_shift
Else
Ds = 0
Gosub Reg_shift
End If
Incr K
Return
Reg_shift: 'podprogram przesuwania rejestru *595
Sh_cp = 1
Sh_cp = 0
St_cp = 1
St_cp = 0
Return
Clear_screen: 'czyszczenie matrycy ds=0
For I = 0 To 23
Ds = 0
Gosub Reg_shift
Next I
Return
Wiersze:
Select Case H
Case 1:
Temp = Lookup(kod , Kol1)
Portd = Not Temp
Case 2:
Temp = Lookup(kod , Kol2)
Portd = Not Temp
Case 3:
Temp = Lookup(kod , Kol3)
Portd = Not Temp
Case 4:
Temp = Lookup(kod , Kol4)
Portd = Not Temp
Case 5:
Temp = Lookup(kod , Kol5)
Portd = Not Temp
End Select
Incr H
If H = 6 Then H = 1
Waitms 5
Return
Kol5: 'tablica kodow Kol1 dla pierwszej kolumny wyswietlacza - kolejnosc kodow odpowiada numerom ASCII
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 107 , 109 , 29 , 73 , 127,
Data 127 , 127 , 107 , 119 , 127 , 119 , 127 , 125 , 65 , 127,
Data 94 , 61 , 115 , 13 , 97 , 127 , 73 , 79 , 127 , 127 , 119,
Data 107 , 127 , 95 , 89 , 64 , 0 , 65 , 0 , 0 , 0 , 65 , 0
Data 127 , 125 , 0 , 0 , 0 , 0 , 65 , 0 , 65 , 0 , 78 , 63 , 1,
Data 3 , 1 , 28 , 15 , 60 , 127 , 43 , 127 , 111 , 126 , 127,
Data 125 , 0 , 113 , 113 , 113 , 119 , 103 , 0 , 127 , 125 , 0,
Data 127 , 96 , 96 , 113 , 96 , 119 , 96 , 118 , 111 , 97 , 99,
Data 97 , 110 , 103 , 110 , 127 , 127 , 127 , 119 , 119
Kol4:
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 15 , 0 , 85 , 27 , 54 , 47 , 99,
Data 62 , 119 , 119 , 122 , 119 , 124 , 123 , 58 , 94 , 60 , 62,
Data 107 , 46 , 86 , 56 , 54 , 54 , 73 , 74 , 107 , 107 , 62 , 126,
Data 119 , 126 , 95 , 111 , 62 , 55 , 62 , 55 , 54 , 63 , 126,
Data 125 , 126 , 107 , 119 , 58 , 0 , 75 , 62 , 95 , 126 , 63
Data 63 , 54 , 59 , 54 , 62 , 62 , 54 , 55 , 62 , 119 , 110 , 126,
Data 123 , 62 , 111 , 119 , 110 , 107 , 107 , 119 , 106 , 1,
Data 126 , 125 , 126 , 117 , 122 , 108 , 119 , 127 , 62 , 119 , 99
Kol3:
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 6 , 127 , 107 , 0 , 119 , 42 , 31 , 93,
Data 93 , 65 , 65 , 121 , 119 , 124 , 119 , 54 , 0 , 58 , 46 , 91,
Data 46 , 54 , 55 , 54 , 54 , 73 , 73 , 93 , 107 , 93 , 58 , 48,
Data 59 , 54 , 62 , , 62 , 54 , 55 , 54 , 119 , 0 , 62 , 107 , 126,
Data 103 , 119 , 62 , 55 , 58 , 51 , 54 , 0 , 126 , 126 , 113,
Data 119 , 120 , 54 , 62 , 96 , 62 , 63 , 126 , 95 , 106 , 110,
Data 110 , 110 , 106 , 55 , 90 , 111 , 32 , 110 , 117 , 0 , 115,
Data 111 , 110 , 107 , 107 , 111 , 106 , 110 , 126 , 126 , 121,
Data 123 , 122 , 106 , 73 , 0 , 73 , 85 , 85
Kol2:
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 15 , 0 , 85 , 108 , 93 , 127 , 62,
Data 99 , 119 , 119 , 127 , 119 , 127 , 111 , 46 , 126 , 54 , 22,
Data 0 , 46 , 54 , 47 , 54 , 53 , 127 , 127 , 62 , 107 , 107 , 55,
Data 62 , 59 , 54 , 62 , 93 , 54 , 55 , 54 , 119 , 62 , 1 , 93
Data 126 , 95 , 123 , 62 , 55 , 61 , 53 , 54 , 63 , 126 , 125 , 126,
Data 107 , 119 , 46 , 62 , 75 , 0 , 95 , 126 , 111 , 106 , 110,
Data 110 , 118 , 106 , 63 , 90 , 111 , 126 , 33 , 110 , 126 , 111,
Data 111 , 110 , 107 , 115 , 111 , 106 , 126 , 125 , 125 , 126,
Data 117 , 122 , 102 , 62 , 127 , 119 , 99 , 119
Kol1:
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127,
Data 127 , 127 , 127 , 127 , 127 , 107 , 91 , 92 , 122 , 127 , 127,
Data 127 , 107 , 119 , 127 , 119 , 127 , 95 , 65 , 127 , 78 , 57,
Data 123 , 49 , 121 , 31 , 73 , 67 , 127 , 127 , 127 , 107 , 119,
Data 79 , 65 , 64 , 73 , 93 , 99 , 62 , 63 , 80 , 0 , 127 , 63 , 62,
Data 126 , 0 , 0 , 65 , 79 , 66 , 78 , 57 , 63 , 1 , 3 , 1 , 28 , 15,
Data 30 , 127 , 43 , 127 , 111 , 126 , 127 , 112 , 113 , 125 , 0,
Data 115 , 95 , 65 , 112 , 127 , 127 , 127 , 127 , 112 , 112 , 113,
Data 119 , 96 , 119 , 125 , 125 , 96 , 99 , 97 , 110 , 97 , 110,
Data 127 , 127 , 127 , 119 , 119,