Externe Interrupts am P1 auslösen und abfangen (C515)
-
Hallo zusammen! Ich versuche momentan die Tastatur auf meinem Board**(515C)** über PS2-Anschluss anzusprechen, wobei ich die Externen Interrups am P1.0 und P1.1 nutzen möchte. Die Problematik besteht darin, dass ich wahrscheinlich die Initialisierung für diese Interrups nicht richtig durchführe. Die dafür vorgesehenen Einstellungen habe ich mir mühsam aus meinem Buch zusammengetragen das will aber immer noch nicht funktionieren.
Für Testzwecke habe ich erstmal auf die Tastatur verzichtet und löse die Interrupts durch meine Software selber aus, leider werden die Interruptservise Routinen (4053h und 405Bh) nie angesprungen! Die Interruptservise Routinen befinden sich laut meinem Assembler 40h weiter also nicht bei 0053h sondern 4053h (RAM) wo ich auch die Funktionalität hinterlegen kann. Es tut sich aber leider nichts
CPU 80515 include stddef51.inc SEGMENT CODE ORG 0C100h ;Speicheradresse des Programms init: clr T2CON.6 ;damit IEXT3 von P1.0 auf fallende Flanke reagiert setb EAL ;alle Interrupts freigeben clr IRCON.2 ;wird durch externen Interrupt am P1.0 gesetzt clr IRCON.3 ;wird durch externen Interrupt am P1.1 gesetzt setb P1.0 ;externer Interrupt für Clock der Tastatur setb P1.1 ;externer Interrupt für Data der Tastatur main: setb IRCON.2 setb IRCON.3 jmp main wait: djnz r7,wait djnz r6,wait ret test: mov A, #0AAh mov P4, A call wait ret ORG 4053h ;Interruptservise Routine P1.0 - Clock ausgelöst call test reti ORG 405Bh ;Interruptservise Routine P1.1 - Data eingang call test reti END
Kann mir bitte hier einer weiter helfen?*
Mit freundlichen Grüßen
coder24h*