$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 (HansE.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ; T1 -> 00 schreiben von 2000 - 23FF ; T2 -> FF schreiben von 2000 - 23FF ; ; ;Erstellt am: Mittwoch, 28. März 2007 13:09:07 ;Programmiert: Michael Drotleff ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2,R3,Zaehlregister ; ;Kommentar: ; ;Aenderungen: ;Geaendert am: Mittwoch, 28. März 2007 13:09:07 ; ; ;------------------------------------------------------------------------ ;Initialisierungsteil fuer allgemeine Konstanten ;------------------------------------------------------------------------ CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0h jmp INIT ; ;------------------------------------------------------------------------ ;Interrupt-Vektoren ;------------------------------------------------------------------------ ;ORG ;------------------------------------------------------------------------ ;Initialisierungsteil fuer On-Chip Peripherie ;------------------------------------------------------------------------ ORG 100H ;Programmstart bei 100H INIT: ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.1, SCHREIBE_FF ; T1 betaetigt, schreibe FF jnb P1.2, SCHREIBE_00 ; T2 betaetigt, schreibe 00 jmp ABFRAGE SCHREIBE_FF: mov A,#0FFh ; FF in den Akkumulator schreiben mov DPTR,#2000h ; 2000h in R0 laden mov R2,#000h ; FFh ins Zaehlregister R2 laden mov R3,#20h ; 20h (32mal)ins Zaehlregister R3 laden SCHLEIFE1: movx @DPTR,A ; schreibe in den externen Datenspeicher inc DPTR ; ++DPTR djnz R2,SCHLEIFE1 ; --R2, bis 00 => Schleife beendet ? djnz R3,SCHLEIFE1 jmp ABFRAGE SCHREIBE_00: mov A,#000h ; FF in den Akkumulator schreiben mov DPTR,#2000h ; 2000h in R0 laden mov R2,#000h ; 0h ins Zaehlregister R2 laden mov R3,#20h ; 20h (32mal) ins Zaehlregister R1 laden jmp SCHLEIFE1 end