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*


Anmelden zum Antworten