$NOMOD51 ;der Modus fuer 8051 wird abgeschaltet $debug $nolist ;es wird kein Listing fuer reg51 erstellt $include(REG51.inc) ;die 8051-spezifischen Daten $list ;es wird ein Listing erstellt $title (INT0.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ; Sobald mit P3.2 ein Interrupt /INT0 ausgeloest --> L3 an ; Sobald mit P3.3 ein Interrupt /INT10 ausgeloest --> L3 aus ; ; ;Erstellt am: Dienstag, 20. Oktober 2009 14:11:13 ;Programmiert: Juergen Walter ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Geaendert am: Dienstag, 20. Oktober 2009 14:11:13 ; ; ;------------------------------------------------------------------------ ;Initialisierungsteil fuer allgemeine Konstanten ;------------------------------------------------------------------------ CSEG AT 0H ; Legt absolute Codesegmentadresse auf 0h jmp INIT ;------------------------------------------------------------------------ ;Interrupt-Vektoren ;------------------------------------------------------------------------ ORG 0003h call ISR_INT0 ;Aufruf der Interrupt Service-Routine INT0 RETI ORG 0013h call ISR_INT1 ;Aufruf der Interrupt Service-Routine INT1 RETI ;------------------------------------------------------------------------ ;Initialisierungsteil fuer On-Chip Peripherie ;------------------------------------------------------------------------ ORG 100H ; Programmstart bei 100H INIT: setb EX0 ;Interrupt 0 freigeben setb EX1 ;Interrupt 1 freigeben setb EA ;allgemeine Interrupt-Freigabe ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: nop nop nop nop jmp ABFRAGE ISR_INT0: clr P3.4 ;L3 an ret ISR_INT1: setb P3.4 ;L3 aus ret end