$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 (ZS.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ca. 1 Sekunde ueber Zaehlen ; ; ; ; ;Erstellt am: Mittwoch, 18. April 2007 12:12:53 ;Programmiert: Markus Polt ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Geaendert am: Mittwoch, 18. April 2007 12:12:53 ; ; ;------------------------------------------------------------------------ ;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 ;------------------------------------------------------------------------ SCHLEIFE_INIT: mov R2,#0h ;Zaehlregister R2 mov R3,#0h ;R3 mov R4,#8h ;R4 mov R5,#8h ;R5 mov R6,#0FFh ;R6 SCHLEIFE: djnz R2, SCHLEIFE ;innere Schleife djnz R3, SCHLEIFE ;Schleife djnz R4, SCHLEIFE ;Schleife2 ;R6++ inc R6 mov A, R6 ;Akku mit Inhalt von R6 laden rrc A ;erstes Bit in den Carry schieben cpl C ;Carry umdrehen (kein Bit Lampe an) mov P3.2, C ;Lampe mit Carry ansteuern rrc A cpl C mov P3.3, C rrc A cpl C mov P3.4, C mov R4, #8h djnz R5, SCHLEIFE jmp SCHLEIFE_INIT END