$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 (AD_WANDLER.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ;Taster 1.3 startet A/D-Wandlung ;Test im Simulator ;Ergebnis wird in Akku geschoben ;Datum: 03.11.2005 ;Programmiert: Christian Marzok ; ;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 ADCON,#10000000b ;ADCON -Register initialisieren ;Kanal AN0, Stopp nach jeder Wandlung ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.3,WANDLUNG ;Wandlung starten jmp ABFRAGE ;zurück zu ABFRAGE WANDLUNG: mov DAPR,#0 ;Wandlung starten jb BSY,$ ;warten bis die Wandlung fertig mov A,ADDAT ;Wert der Wandlung in den AKKU schreiben jmp ABFRAGE ;zurück zu ABFRAGE end