$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 (WS07_FT_P10.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ;Taste T2 abfragen ;Loesen Sie an Port 3 einen externen Interrupt aus. ;ISR_AD A/D-Wandlung zwischen 0..5V ? Ergebnis in R4 ; ; ; ;Erstellt am: Dienstag, 30. Oktober 2007 07:32:33 ;Programmiert: Student ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Geaendert am: Dienstag, 30. Oktober 2007 07:32:33 ; ; ;------------------------------------------------------------------------ ;Initialisierungsteil fuer allgemeine Konstanten ;------------------------------------------------------------------------ CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0h jmp INIT ; ;------------------------------------------------------------------------ ;Interrupt-Vektoren ;------------------------------------------------------------------------ ORG 03H call ISR0 ;Aufruf der Interrupt Service Routine fuer Interrupt 0 reti ;Zurueck von Interrupt ;------------------------------------------------------------------------ ;Initialisierungsteil fuer On-Chip Peripherie ;------------------------------------------------------------------------ ORG 100H ;Programmstart bei 100H INIT: setb EAL ;Allgemeine Interrupt Freigabe IEN0 (BYTE) setb EX0 ;Spezielle Interrupt Freigabe fuer /INT0 ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.2,EIN ;T2 ? jmp ABFRAGE EIN: clr P3.4 ;L3 ein jmp ABFRAGE ISR0: mov DAPR,#0 ;A/D-Wandlung --> Ergebnis in R4 jb BSY,$ ;fertig mov R4,ADDAT ;in R4 ret ;Sprung aus der Interrupt Service Routine end