#include "tn13def.inc" .org 0x000 rjmp start ; Reset .org 0x002 reti ; Pin-Change Interrupt ;================================================================================================== ; Hauptprogramm ;================================================================================================== start: rcall init ; Initialisiere den Mikrocontroller rcall takt_38khz ; Taktfrequenz herabsetzen warte: rcall schlafe ; Schlafe ein in r16,pinb ; Tasten abfragen com r16 ; alle Bits umkehren 0<->1 andi r16,0b00011110 ; nur die Bits von den 4 Tasten herausfiltern breq warte ; Nochmal von vorne, wenn keine Taste gedrückt rcall ton_1600hz ; 1x piepen rcall warte ;================================================================================================== ; Prozeduren ;================================================================================================== init: ; Initialisiere den Mikrocontroller sbi acsr,acd ; Analog Comparator aus schalten sbi ddrb,0 ; Lautsprecher-Pin ist ein Ausgang ldi r16,0b00011110 ; Pull-Up an allen Tasten einschalten out portb,r16 ldi r16,(1<