$nomod51 ;der Modus fuer 8051 wird abgeschaltet $debug $nolist ;es wird kein Listing fuer reg535 erstellt $include(reg535.pdf) ;die 80535-spezifischen Daten $list ;es wird ein Listing erstellt $ title (MUEDE.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ;Mit T1 A5h->Adresse 2000h-2FFFh ;Mit T2 5Ah->Adresse 2000h-2FFFh ;Datum: 08.11.2004 ;Programmiert: ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Datum: ; ; ;------------------------------------------------------------------------ ;Initialisierungsteil für allgemeine Konstanten ;------------------------------------------------------------------------ CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0h jmp INIT ; ;------------------------------------------------------------------------ ;Interrupt-Vektoren ;------------------------------------------------------------------------ ;------------------------------------------------------------------------ ;Initialisierungsteil für On-Chip Peripherie ;------------------------------------------------------------------------ ORG 100H ;Programmstart bei 100H INIT: ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.1, MOV1 ;Sprung bei Tastel zu MOV1 jnb P1.2, MOV2 ;Sprung bei Tastel zu MOV2 jmp ABFRAGE MOV1: mov DPTR,#2000H ;#2000h wird DPTR zu gewiesen mov A,#0A5H ;Speicher von A5h in den Akku mov R1,#00h ;Register auf null setzen mov R2,#010h ;Register auf 10h setzen SCHLEIFE1: movx @DPTR,A ;Kopiert A in DPTR inc dptr ;erhört dptr um einen Speicherplatz djnz R1,SCHLEIFE1 ;R1 -1 ->Schleife 1 djnz R2,SCHLEIFE1 ;R1 -1 ->Schleife 1 setb P1.1 jmp ABFRAGE MOV2: mov DPTR,#2000H ;#2000h wird DPTR zu gewiesen mov A,#05AH ;Speicher von 5Ah in den Akku mov R1,#00h ;Register auf null setzen mov R2,#010h ;Register auf 10h setzen SCHLEIFE2: movx @DPTR,A ;Kopiert A in DPTR inc dptr ;erhört dptr um einen Speicherplatz djnz R1,SCHLEIFE2 ;R1 -1 ->Schleife 2 ;innere Schleife djnz R2,SCHLEIFE2 ;R1 -1 ->Schleife 2 ;aeussere Schleife setb P1.2 jmp ABFRAGE end