$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 (ROBIN.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ;T1 - 0A5h in Speicherbereich 2000h...2FFFh ;T2 - 05Ah in Speicherbereich 2000h...2FFFh ;Datum: 10.11.2004 ;Programmiert: ROBIN ; ;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,A_FUENF ;Taste 1 - A_FUENF jnb P1.2,FUENF_A ;Taste 2 - FUENF_A jmp ABFRAGE A_FUENF: mov DPTR,#2000h ;Lade DPTR mit Adresse 2000h mov R2,#00h ;Lade R2 mit 0h mov R3,#10h ;R3+R2=1000h mov A,#0A5h ;Lade Akku SCHLEIFE1: movx @DPTR,A ;Schreibe in externen Speicher inc DPTR ;Inkrement Datenpointer Djnz R2,SCHLEIFE1 ;Dekrementiere R2 Djnz R3,SCHLEIFE1 setb P1.1 jmp ABFRAGE FUENF_A: mov DPTR,#2000h ;Lade DPTR mit Adresse 2000h mov A,#5Ah ;Lade Akku mov R2,#0h ;R2 initialisieren mov R3,#10h ;R3 initialisieren SCHLEIFE2: movx @DPTR,A ;Schreibe in externen Speicher inc DPTR ;Inkrement Datenpointer Djnz R2,SCHLEIFE2 ;Dekrementiere R2 Djnz R3,SCHLEIFE2 ;Dekrementiere R3 setb P1.2 ;P1.2 setzen jmp ABFRAGE end