$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 (SCHL-REG.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: Das Programm initialisiert die Register und schreibt mit Hilfe ;einer Schleife in den internen Datenspeicher ; ; ;Datum: 12.11.2003 ;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 ljmp INIT ; ;------------------------------------------------------------------------ ;Interrupt-Vektoren ;------------------------------------------------------------------------ ;------------------------------------------------------------------------ ;Initialisierungsteil für On-Chip Peripherie ;------------------------------------------------------------------------ ORG 100H ;Programmstart bei 100H INIT: mov A,#255 ;Schreibe FF in Akku mov R0,#0FFH ;Schreibe FF in R0 mov R1,#0FFH ;Schreibe FF in R1 mov R2,#0FFH ;Schreibe FF in R2 mov R3,#0FFH ;Schreibe FF in R3 mov R4,#0FFH ;Schreibe FF in R4 mov R5,#0FFH ;Schreibe FF in R5 ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.1,INIT ;Neue Initialisierung jnb P1.2,INIT_A ; jnb P1.3,SCHREIBE_FF ;Beschreibe 30H Zellen mit FFH jmp ABFRAGE INIT_A: mov A,#0H ;0 in den Akku jmp ABFRAGE SCHREIBE_FF: ; mov R0,#30H ;Initialisiere Register R0 in dem die Adresse steht mov R2,#48 ;Init. Zaehlregister R2 - Anzahl der Speicherzellen mov A,#0FFH ;FFH in den AKKU SCHLEIFE: ;Schleife mit Abfrage sind 30H Werte erreicht? mov @R0,A ;Schreibe den Inhalt von A in die Adresse ;welche in R0 steht inc R0 ;Adresse +1 djnz R2,SCHLEIFE jmp ABFRAGE end