$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 (ANO_COD.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: A/D-Wandler Spannungen dekodiert ;U/V Leuchte 3 Leuchte 2 ;0<=U<=2V aus aus ;2< U<=3V aus ein ;3< U<=4V ein aus ;4< U<=5V ein ein ; ; ;Datum: 06.12.2004 ;Programmiert: J. Walter ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Datum: 29.10.2007 ; ; ;------------------------------------------------------------------------ ;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 ;Kanal AN0 angewaehlt, Stop nach der Wandlung ;1 für Baudrate 4800bps ->9600bps ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: clr P3.2 ;Leuchte 1 Port 3.2 ruecksetzen, Programm laeuft mov DAPR,#0 ;Wandlung Start jb BSY,$ ;warten bis Wandlung stop mov A,ADDAT ;Wert im ACCU clr C ;Carry loeschen subb A,#103 ;entspricht U>2V jc AUS_AUS ;Sprung da U<=2V subb A,#51 ;entspricht U>3V jc AUS_EIN ;Sprung da U<=3V subb A,#51 ;entspricht U>4V jc EIN_AUS ;Sprung da U<=4V clr P3.4 ;Leuchte 3 ein clr P3.3 ;Leuchte 2 ein jmp ABFRAGE ;Sprung zum Programmbeginn AUS_AUS: setb P3.4 ;Leuchte 3 aus setb P3.3 ;Leuchte 2 aus jmp ABFRAGE AUS_EIN: setb P3.4 ;Leuchte 3 aus clr P3.3 ;Leuchte 2 ein jmp ABFRAGE EIN_AUS: clr P3.4 ;Leuchte 3 ein setb P3.3 ;Leuchte 2 aus jmp ABFRAGE end