$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100
'$sim

'************** Alle Ports als Eingang oder Ausgang definieren ****************
Ddra = &B11111111
Ddrb = &B00010000
Ddrc = &B11000111
Ddrd = &B01111111

'******* Alle Ports auf 0 bzw. 1 setzen für definierten Anfangszustände *******
'Bei Eingängen durch 1 den Pulldownwiderstand aktivieren
Porta = &B11111111
Portb = &B00011111
Portc = &B00000111
Portd = &B01001111

'******************** Übersicht Speicherbereiche Variablen ********************
'Dim as Bit     = 0 bis 1
'Dim as Byte    = 0 bis 255
'Dim as Integer = -32768 bis +32767
'Dim as Word    = 0 bis 65535
'Dim as Long    = -2147483648 bis 2147483647
'Dim as Single  = 1,5 x 10^-45 bis 3,4 x 10^38
'Dim as Double  = 5,0 x 10^-324 bis 1,7 x 10^308
'Dim as String  = 254 Zeichen

'****************************** Übersicht IO **********************************
'In / Out Pin Typ Signalname
'PA0        40        O        Attiny 861A PB4 SW3
'PA1        41        O        Attiny 861A PB5 SW2
'PA2        42        O        Attiny 861A PB6 SW1
'PA3        43        O        Attiny 861A PA3 SW8
'PA4        44        O        Attiny 861A PA4 SW7
'PA5        45        O        Attiny 861A PA5 SW6
'PA6        46        O        Attiny 861A PA6 SW5
'PA7        47        O        Attiny 861A PA7 SW4
'PB0        1         I        Tasten 1-2-3
'PB1        2         I        Tasten 4-5-6
'PB2        3         I        Tasten 7-8-9
'PB3        4         I        Tasten *-0-#
'PB4        5         O        Tasten 1-4-7-*
'PB5        6         I        frei
'PB6        7         I        frei
'PB7        8         I        frei
'PD7        21        I        frei
'PC0        22        O        Volume 1  39k
'PC1        23        O        Volume 2  70k
'PC2        24        O        Volume 3  330k
'PC3        25        I        frei
'PC4        26        I        frei
'PC5        27        I        Voice
'PC6        28        O        Magnetschloss
'PC7        29        O        Klingel
'PD0        14        O        Tasten 3-6-9-#
'PD1        15        O        Tasten 2-5-8-0
'PD2        16        O        Verstärker
'PD3        17        O        LED Stripe blau
'PD4        18        O        LED rot lock
'PD5        19        O        LED grün unlock
'PD6        20        O        LED Taster



'*************************** Variablen declarieren ****************************
Dim Zeichen As Byte
Dim Menge As Byte
Dim Numsp As String * 10
Dim Code1 As String * 10
Dim Code2 As String * 10
Dim Code3 As String * 10
Dim Code4 As String * 10
Dim Zeit1 As Integer
Dim Wartezeit As Integer
Dim File As Byte
Dim I As Integer
Dim J As Integer
Dim K As Bit
Dim L As Integer
Dim Falsch As Byte
Dim Volume As Byte
Dim Mute As Byte
Declare Sub Voice
Numsp = ""
Menge = 4
Zeichen = 0
Zeit1 = 0
File = 0
Volume = 3
Mute = 1


'==============================================================================
'==============================================================================
'==============================================================================
'****************************** Hauptprogramm *********************************
Portd.= 1
Portd.= 1
Portd.= 1


'Schleife Zahlenschloss
Anfang:
Code1 = "1234"                                              ' Ralf
Code2 = "5678"                                              ' Frau
Code3 = "4321"                                              ' Tochter
Code4 = "8765"                                              ' Sohn

= 0
= 0
'Led Lock rot
Portd.= 0

Waitms 20
'Tastaturspeiseports alle setzen, damit geprüft werden kann, ob alle
'Tasten Losgelassen wurden.
Portb.= 0
Portd.= 0
Portd.= 0

'Prüfung losgelassen?
If Pinb.= 0 Or Pinb.= 0 Or Pinb.= 0 Or Pinb.= 0 Then
Goto Anfang
End If


'*********** Schleife Tastenfeld mit Abschaltung Voice nach xx min ************
Do

'Zeile 1 mit Tasten 1-4-7-*
Portb.= 0
Portd.= 1
Portd.= 1
If Pinb.= 0 And Pinb.= 1 And Pinb.= 1 And Pinb.= 1 Then
Portb.= 1
Goto Nummer1
   Elseif Pinb.= 1 And Pinb.= 0 And Pinb.= 1 And Pinb.= 1 Then
   Portb.= 1
   Goto Nummer4
      Elseif Pinb.= 1 And Pinb.= 1 And Pinb.= 0 And Pinb.= 1 Then
      Portb.= 1
      Goto Nummer7
         Elseif Pinb.= 1 And Pinb.= 1 And Pinb.= 1 And Pinb.= 0 Then
         Portb.= 1
         Goto Nummerstern
End If

'Zeile 1 mit Tasten 2-5-8-0
Portb.= 1
Portd.= 1
Portd.= 0
If Pinb.= 0 And Pinb.= 1 And Pinb.= 1 And Pinb.= 1 Then
Goto Nummer2
Portd.= 1
   Elseif Pinb.= 1 And Pinb.= 0 And Pinb.= 1 And Pinb.= 1 Then
   Portd.= 1
   Goto Nummer5
      Elseif Pinb.= 1 And Pinb.= 1 And Pinb.= 0 And Pinb.= 1 Then
      Portd.= 1
      Goto Nummer8
         Elseif Pinb.= 1 And Pinb.= 1 And Pinb.= 1 And Pinb.= 0 Then
         Portd.= 1
         Goto Nummer0
End If

'Zeile 1 mit Tasten 3-6-9-#
Portb.= 1
Portd.= 0
Portd.= 1
If Pinb.= 0 And Pinb.= 1 And Pinb.= 1 And Pinb.= 1 Then
Portd.= 1
Goto Nummer3
   Elseif Pinb.= 1 And Pinb.= 0 And Pinb.= 1 And Pinb.= 1 Then
   Portd.= 1
   Goto Nummer6
      Elseif Pinb.= 1 And Pinb.= 1 And Pinb.= 0 And Pinb.= 1 Then
      Portd.= 1
      Goto Nummer9
         Elseif Pinb.= 1 And Pinb.= 1 And Pinb.= 1 And Pinb.= 0 Then
         Portd.= 1
         Goto Nummerraute
End If

'Dimmung LED Stripe nach Zeit oder bei Spache
If Numsp = "" And Zeit1 < 1 Then
Portd.= 0
Elseif Pinc.= 1 And Zeichen > 3 Then
Portd.= 0
   If Rnd(20) = 5 Then
   Portd.= 1
   End If
End If

'Dimmung Taster nach Zeit1 auf und abdimmen
If Numsp = "" And Zeit1 < 1 Then
Portd.= 0
End If


If J < 2900 And K = 0 Then
= J + 4
Else
= 1
End If

If J > 4 And K = 1 Then
= J - 4
Else
= 0
End If

Waitus J

Portd.= 1

= 3000 - J

Waitus L


Portd.= 1


Waitus 150

'damit Taster bis nahezu ß dimmt
Portd.= 0
Waitus 50

'rote LED Lebenszeichen
= I + 1
If I = 1000 And Numsp = "" Then
'LED lock rot
Portd.= 1
Elseif I = 1010 Then
Portd.= 0
Elseif I = 1100 And Numsp = "" Then
Portd.= 1
Elseif I = 1110 Then
Portd.= 0
Elseif I = 1200 And Numsp = "" Then
'LED unlock grün
Portd.= 1
Elseif I > 1210 Then
Portd.= 0
= 0
End If

'Abschaltung Voicemodul nach Zeit 30s siehe Sub Voice
If Zeit1 < 1 Then
Portd.= 1
Mute = 1
Falsch = 0
Else
Zeit1 = Zeit1 - 1
End If

'Zaehler Wartezeit bis zur vollständigen Eingabe
If Zeichen > 0 Then
Wartezeit = Wartezeit + 1
End If

If Wartezeit > 3000 Then                                    '3000 x 3ms = 9s
Numsp = ""
Zeichen = 0
Wartezeit = 0
File = Rnd(9) + 101
Call Voice
End If


Loop

'==============================================================================
'==============================================================================
'==============================================================================

'************************ Nummerneingabeauswertung ****************************
Nummer1:
Numsp = Numsp + "1"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer2:
Numsp = Numsp + "2"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer3:
Numsp = Numsp + "3"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer4:
Numsp = Numsp + "4"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer5:
Numsp = Numsp + "5"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer6:
Numsp = Numsp + "6"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer7:
Numsp = Numsp + "7"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer8:
Numsp = Numsp + "8"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummer9:
Numsp = Numsp + "9"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If


Nummer0:
Numsp = Numsp + "0"
If Mid(code1 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 1
Elseif Mid(code2 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 11
Elseif Mid(code3 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 21
Elseif Mid(code4 , 1 , 1) = Mid(numsp , 1 , 1) Then
File = Rnd(9) + 31
Else
File = Rnd(9) + 121
End If
Call Voice
Zeichen = Zeichen + 1
If Zeichen < Menge Then
Goto Anfang
Else
Goto Auswertung
End If

Nummerstern:
Numsp = Numsp + "*"
If Mute = 1 Then
Mute = 0
Else
Mute = 1
End If
Goto Anfang


Nummerraute:
File = Rnd(9) + 111
Numsp = ""
Zeichen = 0
Falsch = 0
Wartezeit = 0
= 0
Call Voice
For I = 1 To 8
   'LED lock rot
   Portd.= 1
   'LED unlock grün
   Portd.= 1
   Waitms 300
   Portd.= 0
   Portd.= 0
   Waitms 80
   I = I + 1
Next
Goto Anfang


'***************************** Codeauswertung *********************************
Auswertung:
Waitms 500

If Numsp = Code1 Then
File = Rnd(9) + 41
Call Voice
Goto Unlock
   Elseif Numsp = Code2 Then
   File = Rnd(9) + 51
   Call Voice
   Goto Unlock
      Elseif Numsp = Code3 Then
      File = Rnd(9) + 61
      Call Voice
      Goto Unlock
         Elseif Numsp = Code4 Then
         File = Rnd(9) + 71
         Call Voice
         Goto Unlock
Else
Goto Lock
End If
Goto Unlock

'******************************** Oeffnen *************************************
Unlock:
Numsp = ""
Zeichen = 0
Falsch = 0
Wartezeit = 0
If Pinc.= 1 Then
'LED Stripe
Portd.= 0
End If
= 0
'Led Lock rot
Portd.= 0
'Magnetschlosss
Portc.= 1
'LED unlock grün
Portd.= 1

For I = 1 To 10000
'LED Stripe
If Rnd(20) = 5 Then
Portd.= 1
Else
Portd.= 0
End If
Waitus 200
'LED Stripe
Portd.= 1
Waitus 20
= I + 1
Next
Portc.= 0
Portd.= 0
Portd.= 0
Mute = 1
Goto Anfang


'******************************* Verriegeln ***********************************
Lock:
Mute = 1
Numsp = ""
Zeichen = 0
Wartezeit = 0
'Led Lock rot
Portd.= 1

'Wenn zum dritten mal falscher Code, dann Klingel ansteuern
Falsch = Falsch + 1

If Falsch > 2 Then
   File = Rnd(9) + 91
   Call Voice
     'Schleife für blinkenden  LED Stripe und Taster LED
      For I = 1 To 10
        'Taster LED
         Portd.= 1
         'LED Stripe
         Portd.= 0
         Waitms 300
         Portd.= 0
         Waitms 300
         I = I + 1
      Next
      'Klingel
      Portc.= 1
      Portd.= 1
      Waitms 500
      Portc.= 0
      Falsch = 0
Else
   File = Rnd(9) + 81
   Call Voice
     'Schleife für blinkendes LED Stripe
      For I = 1 To 10
         'LED Stripe
         Portd.= 0
         Waitms 300
         Portd.= 1
         Waitms 300
         I = I + 1
      Next
End If

= 0

'Led Lock rot
Portd.= 0
'Taster LED
Portd.= 1
'LED Stripe
Portd.= 0

Goto Anfang

End


'==============================================================================
'==============================================================================
'==============================================================================
'*************************** Unterprogramm Voice ******************************


' Programm 8 bit decoder für sound

'PA0        40        O        Attiny 861A PB4 SW3
'PA1        41        O        Attiny 861A PB5 SW2
'PA2        42        O        Attiny 861A PB6 SW1
'PA3        43        O        Attiny 861A PA3 SW8
'PA4        44        O        Attiny 861A PA4 SW7
'PA5        45        O        Attiny 861A PA5 SW6
'PA6        46        O        Attiny 861A PA6 SW5
'PA7        47        O        Attiny 861A PA7 SW4

'File 1-10    = Tastenecho Ralf
'File 11-20   = Tastenecho Frau
'File 21-30   = Tastenecho Tochter
'File 31-40   = Tastenecho Sohn
'File 41-50   = Code1 ok
'File 51-60   = Code2 ok
'File 61-70   = Code3 ok
'File 71-80   = Code4 ok
'File 81-90   = Code falsch
'File 91-100  = Code 3x hintereinander falsch + Klingel
'File 101-110 = Zeitüberschreitung Eingabe
'File 111-120 = Reset Eingabe
'File 121-130 = Tastenecho allgemein
'File 131-140 = frei
'File 141-150 = frei
'File 151-160 = frei
'File 161-170 = frei
'File 171-180 = frei
'File 181-190 = frei
'File 191-200 = frei
'File 201-210 = frei
'File 211-220 = frei
'File 221-230 = frei
'File 231-240 = frei
'File 241-250 = frei


Sub Voice
'Ausschaltzeit Verstärker definieren 10000 x 3ms = 30s
Zeit1 = 10000

'Vertärker ein
If Mute = 0 Then
Portd.= 1
Else
Portd.= 0
End If

'Benutzerlautstärke setzen
Volume = 3

If File > 0 And File < 11 Then
Volume = 2
Elseif File > 40 And File < 51 Then
Volume = 2                                                  'Ralf
Elseif File > 10 And File < 21 Then
Volume = 2
Elseif File > 50 And File < 61 Then
Volume = 2                                                  'Frau
Elseif File > 20 And File < 31 Then
Volume = 2
Elseif File > 60 And File < 71 Then
Volume = 2                                                  'Tochter
Elseif File > 30 And File < 41 Then
Volume = 1
Elseif File > 70 And File < 81 Then
Volume = 1                                                  'Sohn
Elseif File > 80 And File < 91 Then
Volume = 3                                                  'Code falsch
Elseif File > 90 And File < 101 Then
Volume = 4                                                  'Code 3x falsch
Elseif File > 100 And File < 130 Then
Volume = 2                                                  'Rest
End If


If Volume = 1 Then
'              330k 70k 39k 33k
Portc = &B00000000                                          '33k
Elseif Volume = 2 Then
Portc = &B00000001                                          '69k
Elseif Volume = 3 Then
Portc = &B00000010                                          '103k
Elseif Volume = 4 Then
Portc = &B00000011                                          '172k
Elseif Volume = 5 Then
Portc = &B00000100                                          '363k
Elseif Volume = 6 Then
Portc = &B00000101                                          '402k
Elseif Volume = 7 Then
Portc = &B00000111                                          '470k
End If




If File = 1 Then
'  8-16-32-64-128-1-2-4  Reihenfolge von &B11111111 und 0 = aktiv
Porta = &B11111011
Elseif File = 2 Then
Porta = &B11111101
Elseif File = 3 Then
Porta = &B11111001
Elseif File = 4 Then
Porta = &B11111110
Elseif File = 5 Then
Porta = &B11111010
Elseif File = 6 Then
Porta = &B11111100
Elseif File = 7 Then
Porta = &B11111000
Elseif File = 8 Then
Porta = &B01111111
Elseif File = 9 Then
Porta = &B01111011
Elseif File = 10 Then
Porta = &B01111101
Elseif File = 11 Then
Porta = &B01111001
Elseif File = 12 Then
Porta = &B01111110
Elseif File = 13 Then
Porta = &B01111001
Elseif File = 14 Then
Porta = &B01111100
Elseif File = 15 Then
Porta = &B01111000
Elseif File = 16 Then
Porta = &B10111111
Elseif File = 17 Then
Porta = &B10111011
Elseif File = 18 Then
Porta = &B10111101
Elseif File = 19 Then
Porta = &B10111001
Elseif File = 20 Then
Porta = &B10111110
Elseif File = 21 Then
Porta = &B10111010
Elseif File = 22 Then
Porta = &B10111100
Elseif File = 23 Then
Porta = &B10111000
Elseif File = 24 Then
Porta = &B00111111
Elseif File = 25 Then
Porta = &B00111011
Elseif File = 26 Then
Porta = &B00111101
Elseif File = 27 Then
Porta = &B00111001
Elseif File = 28 Then
Porta = &B00111110
Elseif File = 29 Then
Porta = &B00111010
Elseif File = 30 Then
Porta = &B00111100
Elseif File = 31 Then
Porta = &B00111000
Elseif File = 32 Then
Porta = &B11011111
Elseif File = 33 Then
Porta = &B11011011
Elseif File = 34 Then
Porta = &B11011101
Elseif File = 35 Then
Porta = &B11011001
Elseif File = 36 Then
Porta = &B11011110
Elseif File = 37 Then
Porta = &B11011010
Elseif File = 38 Then
Porta = &B11011100
Elseif File = 39 Then
Porta = &B11011000
Elseif File = 40 Then
Porta = &B01011111
Elseif File = 41 Then
Porta = &B01011011
Elseif File = 42 Then
Porta = &B01011101
Elseif File = 43 Then
Porta = &B01011001
Elseif File = 44 Then
Porta = &B01011110
Elseif File = 45 Then
Porta = &B01011010
Elseif File = 46 Then
Porta = &B01011100
Elseif File = 47 Then
Porta = &B01011000
Elseif File = 48 Then
Porta = &B10011111
Elseif File = 49 Then
Porta = &B10011011
Elseif File = 50 Then
Porta = &B10011101
Elseif File = 51 Then
Porta = &B10011001
Elseif File = 52 Then
Porta = &B10011110
Elseif File = 53 Then
Porta = &B10011010
Elseif File = 54 Then
Porta = &B10011100
Elseif File = 55 Then
Porta = &B10011000
Elseif File = 56 Then
Porta = &B00011111
Elseif File = 57 Then
Porta = &B00011011
Elseif File = 58 Then
Porta = &B00011101
Elseif File = 59 Then
Porta = &B00011001
Elseif File = 60 Then
Porta = &B00011110
Elseif File = 61 Then
Porta = &B00011010
Elseif File = 62 Then
Porta = &B00011100
Elseif File = 63 Then
Porta = &B00011000
Elseif File = 64 Then
Porta = &B11101111
Elseif File = 65 Then
Porta = &B11101011
Elseif File = 66 Then
Porta = &B11101101
Elseif File = 67 Then
Porta = &B11101001
Elseif File = 68 Then
Porta = &B11101110
Elseif File = 69 Then
Porta = &B11101010
Elseif File = 70 Then
Porta = &B11101100
Elseif File = 71 Then
Porta = &B11101000
Elseif File = 72 Then
Porta = &B01101111
Elseif File = 73 Then
Porta = &B01101011
Elseif File = 74 Then
Porta = &B01101101
Elseif File = 75 Then
Porta = &B01101001
Elseif File = 76 Then
Porta = &B01101110
Elseif File = 77 Then
Porta = &B01101010
Elseif File = 78 Then
Porta = &B01101100
Elseif File = 79 Then
Porta = &B01101000
Elseif File = 80 Then
Porta = &B10101111
Elseif File = 81 Then
Porta = &B10101011
Elseif File = 82 Then
Porta = &B10101101
Elseif File = 83 Then
Porta = &B10101001
Elseif File = 84 Then
Porta = &B10101110
Elseif File = 85 Then
Porta = &B10101010
Elseif File = 86 Then
Porta = &B10101100
Elseif File = 87 Then
Porta = &B10101000
Elseif File = 88 Then
Porta = &B00101111
Elseif File = 89 Then
Porta = &B00101011
Elseif File = 90 Then
Porta = &B00101101
Elseif File = 91 Then
Porta = &B00101001
Elseif File = 92 Then
Porta = &B00101110
Elseif File = 93 Then
Porta = &B00101010
Elseif File = 94 Then
Porta = &B00101100
Elseif File = 95 Then
Porta = &B00101000
Elseif File = 96 Then
Porta = &B11001111
Elseif File = 97 Then
Porta = &B11001011
Elseif File = 98 Then
Porta = &B11001101
Elseif File = 99 Then
Porta = &B11001001
Elseif File = 100 Then
Porta = &B11001110
Elseif File = 101 Then
Porta = &B11001010
Elseif File = 102 Then
Porta = &B11001100
Elseif File = 103 Then
Porta = &B11001000
Elseif File = 104 Then
Porta = &B01001111
Elseif File = 105 Then
Porta = &B01001011
Elseif File = 106 Then
Porta = &B01001101
Elseif File = 107 Then
Porta = &B01001001
Elseif File = 108 Then
Porta = &B01001110
Elseif File = 109 Then
Porta = &B01001010
Elseif File = 110 Then
Porta = &B01001100
Elseif File = 111 Then
Porta = &B01001000
Elseif File = 112 Then
Porta = &B10001111
Elseif File = 113 Then
Porta = &B10001011
Elseif File = 114 Then
Porta = &B10001101
Elseif File = 115 Then
Porta = &B10001001
Elseif File = 116 Then
Porta = &B10001110
Elseif File = 117 Then
Porta = &B10001010
Elseif File = 118 Then
Porta = &B10001100
Elseif File = 119 Then
Porta = &B10001000
Elseif File = 120 Then
Porta = &B00001111
Elseif File = 121 Then
Porta = &B00001011
Elseif File = 122 Then
Porta = &B00001101
Elseif File = 123 Then
Porta = &B00001001
Elseif File = 124 Then
Porta = &B00001110
Elseif File = 125 Then
Porta = &B00001010
Elseif File = 126 Then
Porta = &B00001100
Elseif File = 127 Then
Porta = &B00001000
Elseif File = 128 Then
Porta = &B11110111
Elseif File = 129 Then
Porta = &B11110011
Elseif File = 130 Then
Porta = &B11110101
Elseif File = 131 Then
Porta = &B11110001
Elseif File = 132 Then
Porta = &B11110110
Elseif File = 133 Then
Porta = &B11110010
Elseif File = 134 Then
Porta = &B11110100
Elseif File = 135 Then
Porta = &B11110000
Elseif File = 136 Then
Porta = &B01110111
Elseif File = 137 Then
Porta = &B01110011
Elseif File = 138 Then
Porta = &B01110101
Elseif File = 139 Then
Porta = &B01110001
Elseif File = 140 Then
Porta = &B01110110
Elseif File = 141 Then
Porta = &B01110010
Elseif File = 142 Then
Porta = &B01110100
Elseif File = 143 Then
Porta = &B01110000
Elseif File = 144 Then
Porta = &B10110111
Elseif File = 145 Then
Porta = &B10110011
Elseif File = 146 Then
Porta = &B10110101
Elseif File = 147 Then
Porta = &B10110001
Elseif File = 148 Then
Porta = &B10110110
Elseif File = 149 Then
Porta = &B10110010
Elseif File = 150 Then
Porta = &B10110100
Elseif File = 151 Then
Porta = &B10110000
Elseif File = 152 Then
Porta = &B00110111
Elseif File = 153 Then
Porta = &B00110011
Elseif File = 154 Then
Porta = &B00110101
Elseif File = 155 Then
Porta = &B00110001
Elseif File = 156 Then
Porta = &B00110110
Elseif File = 157 Then
Porta = &B00110010
Elseif File = 58 Then
Porta = &B00110100
Elseif File = 159 Then
Porta = &B00110000
Elseif File = 160 Then
Porta = &B11010111
Elseif File = 161 Then
Porta = &B11010011
Elseif File = 162 Then
Porta = &B11010101
Elseif File = 163 Then
Porta = &B11010001
Elseif File = 164 Then
Porta = &B11010110
Elseif File = 165 Then
Porta = &B11010010
Elseif File = 166 Then
Porta = &B11010100
Elseif File = 167 Then
Porta = &B11010000
Elseif File = 168 Then
Porta = &B01010111
Elseif File = 169 Then
Porta = &B01010011
Elseif File = 170 Then
Porta = &B01010101
Elseif File = 171 Then
Porta = &B01010001
Elseif File = 172 Then
Porta = &B01010110
Elseif File = 173 Then
Porta = &B01010010
Elseif File = 174 Then
Porta = &B01010100
Elseif File = 175 Then
Porta = &B01010000
Elseif File = 176 Then
Porta = &B10010111
Elseif File = 177 Then
Porta = &B10010011
Elseif File = 178 Then
Porta = &B10010101
Elseif File = 179 Then
Porta = &B10010001
Elseif File = 180 Then
Porta = &B10010110
Elseif File = 181 Then
Porta = &B10010010
Elseif File = 182 Then
Porta = &B10010100
Elseif File = 183 Then
Porta = &B10010000
Elseif File = 184 Then
Porta = &B00010111
Elseif File = 185 Then
Porta = &B00010011
Elseif File = 186 Then
Porta = &B00010101
Elseif File = 187 Then
Porta = &B00010001
Elseif File = 188 Then
Porta = &B00010110
Elseif File = 189 Then
Porta = &B00010010
Elseif File = 190 Then
Porta = &B00010100
Elseif File = 191 Then
Porta = &B00010000
Elseif File = 192 Then
Porta = &B11100111
Elseif File = 193 Then
Porta = &B11100011
Elseif File = 194 Then
Porta = &B11100101
Elseif File = 195 Then
Porta = &B11100001
Elseif File = 196 Then
Porta = &B11100110
Elseif File = 197 Then
Porta = &B11100010
Elseif File = 198 Then
Porta = &B11100100
Elseif File = 199 Then
Porta = &B11100000
Elseif File = 200 Then
Porta = &B01100111
Elseif File = 201 Then
Porta = &B01100011
Elseif File = 202 Then
Porta = &B01100101
Elseif File = 203 Then
Porta = &B01100001
Elseif File = 204 Then
Porta = &B01100110
Elseif File = 205 Then
Porta = &B01100010
Elseif File = 206 Then
Porta = &B01100100
Elseif File = 207 Then
Porta = &B01100000
Elseif File = 208 Then
Porta = &B10100111
Elseif File = 209 Then
Porta = &B10100011
Elseif File = 210 Then
Porta = &B10100101
Elseif File = 211 Then
Porta = &B10100001
Elseif File = 212 Then
Porta = &B10100110
Elseif File = 213 Then
Porta = &B10100010
Elseif File = 214 Then
Porta = &B10100100
Elseif File = 215 Then
Porta = &B10100000
Elseif File = 216 Then
Porta = &B00100111
Elseif File = 217 Then
Porta = &B00100011
Elseif File = 218 Then
Porta = &B00100101
Elseif File = 219 Then
Porta = &B00100001
Elseif File = 220 Then
Porta = &B00100110
Elseif File = 221 Then
Porta = &B00100010
Elseif File = 222 Then
Porta = &B00100100
Elseif File = 223 Then
Porta = &B00100000
Elseif File = 224 Then
Porta = &B11000111
Elseif File = 225 Then
Porta = &B11000011
Elseif File = 226 Then
Porta = &B11000101
Elseif File = 227 Then
Porta = &B11000001
Elseif File = 228 Then
Porta = &B11000110
Elseif File = 229 Then
Porta = &B11000010
Elseif File = 230 Then
Porta = &B11000100
Elseif File = 231 Then
Porta = &B11000000
Elseif File = 232 Then
Porta = &B01000111
Elseif File = 233 Then
Porta = &B01000011
Elseif File = 234 Then
Porta = &B01000101
Elseif File = 235 Then
Porta = &B01000001
Elseif File = 236 Then
Porta = &B01000110
Elseif File = 237 Then
Porta = &B01000010
Elseif File = 238 Then
Porta = &B01000100
Elseif File = 239 Then
Porta = &B01000000
Elseif File = 240 Then
Porta = &B10000111
Elseif File = 241 Then
Porta = &B10000011
Elseif File = 242 Then
Porta = &B10000101
Elseif File = 243 Then
Porta = &B10000001
Elseif File = 244 Then
Porta = &B10000110
Elseif File = 245 Then
Porta = &B10000010
Elseif File = 246 Then
Porta = &B10000100
Elseif File = 247 Then
Porta = &B10000000
Elseif File = 248 Then
Porta = &B00000111
Elseif File = 249 Then
Porta = &B00000011
Elseif File = 250 Then
Porta = &B00000101
Elseif File = 251 Then
Porta = &B00000001
Elseif File = 252 Then
Porta = &B00000110
Elseif File = 253 Then
Porta = &B00000010
Elseif File = 254 Then
Porta = &B00000100
Elseif File = 255 Then
Porta = &B00000000

End If

Waitms 100
Porta = &B11111111

End Sub