$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 (BZ_ANZ.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: Binaerzahl Anzeige ;T1 startet ;R2 wird fortlaufend inkrementiert und Bit 0,1,2 an LEDs 3.2, 3.3, 3.4 ;ausgegeben ;Datum: 04.07.2004 ;Programmiert: J. Walter ; ;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: mov R2,#0 ;R2 wird initialisiert ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.1,ANZEIGE ;Start mit T1 jmp ABFRAGE ANZEIGE: inc R2 ;R2 inkrementieren mov A,R2 ;In Akku schieben cpl A ;invertieren rrc A ;über Carry rotieren mov P3.2,C ;Bit 0 auf P3.2 kopieren rrc A mov P3.3,C ;Bit 1 auf P3.3 kopieren rrc A mov P3.4,C ;Bit 2 auf P3.4 kopieren jmp ANZEIGE end