Im Folgenden steht der Quelltext für ein einfaches Beispiel zur Anwendung eines ATtiny2313.
Im Bild auf der vorhergehenden Seite ist noch keine Quäke angeschlossen. Deshalb kann natürlich das Unterprogramm "BEEP" weggelassen werden. Ansonsten kann man am Programm einfach "rumbasteln". Das lohnt sich immer!
Nun zum Quellcode:
$regfile = "2313def.dat"   'definieren des verwendeten Chips
$crystal = 8000000         'definieren des verwendeten externen Quarz (8MHz)

Dim A As Byte              'dimensionieren der verwendeten Variablen
Dim B As Byte
Dim I As Integer

Ddrd = &B11100000          'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000         'definieren der einzelnen Pins an einem Port ( 0= low level;
                           '1= high level)

' CKSEL = &B00001000       'VORSICHT!!!! Fuses!!!!! nicht nehmen!!!!!


Main:                      'Hauptprogramm
Do                         'Anfang der Schleife

  If Pind.2 = 1 Then       'Wenn an Pin 2 von Port D ein high level anliegt, dann...
    Toggle Portd.5         'setze Pin 5 von Port D von high auf low oder umgekehrt
    Bitwait Pind.2 , Reset 'warte bis an Pin 2 von Port D wieder ein low level anliegt
  End If                   'Ende der Bedingung

  If Pind.3 = 1 Then       'Wenn an Pin 3 von Port D ein high level anliegt, dann...
    Toggle Portd.6         'setze Pin 6 von Port D von high auf low oder umgekehrt
    Bitwait Pind.3 , Reset 'warte bis an Pin 3 von Port D wieder ein low level anliegt
  End If                   'Ende der Bedingung

  If Pind.4 = 1 Then       'Wenn an Pin 2 von Port D ein high level anliegt, dann...
'   Gosub Beep             'gehe zum Untermenü "Beep"
'   Gosub Textausgabe      '...gehe zum Untermenü "Textausgabe"
'   Bitwait Pind.4 , Reset 'warte bis an Pin 4 von Port D wieder ein low level anliegt
   Gosub Blinken
  End If                   'Ende der Bendingung

Loop                       'zum Anfang der Schleife


Blinken:
    Gosub Schleife
Return

Beep:                      'Untermenü "Beep"  ist am Tiny nich angeschlossen
  Portd.7 = 1              'setzte den Pin 7 von Port D auf high
  Waitms 500               'Warte 500 ms
  Portd.7 = 0              'setzt den Pin 7 von Port D auf low
Return                     'zurück zum Hauptmenü


Schleife:                  'Unterprogramm Schleife
  For I = 1 To 25          'Schleife beginnt mit I = 1 und läuft bis 25
    Toggle Portd.6         'Bit 6 von PortD ändert den Zustand
    Waitms 10              'Programm wartet ca 500 ms
    Toggle Portd.6         'Bit 6 von PortD ändert den Zustand
    Waitms 10              'Programm wartet ca 500 ms
  Next                     'Schleifenende mit Endwertprüfung
Return                     'Zurück zum aufrufenden Programmteil