$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 (AUFUNDAB) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Auf- und abwaertszaehlen des Akkus mit einer Frequenz von ca. 7,2 Hz ;und senden des Wertes an die serielle Schnittstelle! ;Grundlegende Funktion: ;T2: AB ;T3: AUF ; ;Datum:6.1.2001 ;Programmiert: J. Walter ;Verwendete Register und Variable: ;Registerbank(0) ; ; ;Kommentar: ; ;Aenderungen: ;Datum: ; ; ;------------------------------------------------------------------------ ;Initialisierungsteil für allgemeine Konstanten ;------------------------------------------------------------------------ CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0h jmp INIT ;------------------------------------------------------------------------ ;Initialisierungsteil für Interrupt-Vektor ;------------------------------------------------------------------------ ORG 0BH ;Timer 0 Interrupt Vektor INT_TIMER0: call ISR_T0 reti ;------------------------------------------------------------------------ ;Initialisierungsteil für Timer 0 ;------------------------------------------------------------------------ ORG 100H ;Programmstart bei 100H INIT: mov IEN0,#10000010B ;Interrupt Freigabe der Interrupt so einstellen, wenn wir ohne richtige ;serial anschluss, sonst mov IEN0,#10010010B wenn díe Hardware verbunden ist mov TMOD,#00000001B ;16-Bit Timer setb TR0 ;Start des Timers ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ SCHLEIFE: jmp SCHLEIFE ISR_T0: cpl F0 ;Frequenz wird halbiert jnb F0,KEINE_TASTE jnb P1.3,A_HOEHER ;Spanung erhoehen jnb P1.2,A_TIEFER ;Spannung erniedrigen jmp KEINE_TASTE A_HOEHER: inc A ;Erniedrigen um 1 mov SBUF,A ;High-Byte zurückschreiben jmp KEINE_TASTE A_TIEFER: dec A ;Erhoehen um 1 mov SBUF,A KEINE_TASTE: ret end