Gast
#2342988
Hy Leute,
Hab ein Problem mit dem externen Interrupt INT1# beim 8051er.
Und zwar hab ich gelesen das er low sensitive ist, dh. dass wenn man den
PIN auf Masse zieht, den Interrupt setzt.
Mein Problem: Er springt einfach nicht in den Interrupt rein, habe alle
SFR´s durchforstet aber nichts funktioniert :(
Hier mein Code:
#define ALLOCATE_EXTERN
#include "ezusb.h"
#include "ezregs.h"
void main (void)
{
PORTCCFG=0x08; // Zweitbelegung vom Port, 0x08 ist der Interrupt1,
alle anderen werden als I/O Ports verwendet (Erstbelegung)
PORTBCFG=0x00; //C Port dient zum einlesen und der B-Port zum
ausgeben.
EA=1;
EX1=1;´//Enable extern interrupt1
IT1=0; //Auf falling level triggern
TCON=0x00;
OEC=0x00;
OEB=0xFF;
while(1)
{
OUTB=0x00;
}
}
void inteins (void) interrupt 3
{
OUTB=0xFF;
if (!(PINSC&0x08))
{
OUTB=0x00;
}
}
Das Programm soll nur beim Interrupt alle Ports auf PortB HIGH setzen,
sonst NULL.
Bin sehr im Stress, kenn mich fast gar nicht mehr aus, hänge schon 2
Stunden daran :S
MFG