AT89C51SND1C Programmieren Interruptproblem

Gast #545368
Lesenswert?

Hallo,
bin dabei mir einen Mp3 Player zu basteln. Nun habe ich ein kleines 
problem und zwar kriege ich meinen AT89C51SND1C nicht zum abspielen. 
Besser gesagt ich kriege ich nicht zum Interrupt. Hier mein Code.
1
#include <stdio.h>
2
#include <at8xc51snd1.h>
3

4
code unsigned char *Adresse;
5

6
extern void initlcd (void);
7
extern void loeschenlcd (void);
8
extern void textlcd (unsigned char *text, unsigned char zeile);
9

10
void InitMP3();
11
void InitAudio();
12
void InitPLL();
13

14
void MP_ISR(void) interrupt 5;
15

16
unsigned char zeile1[16];
17
unsigned char zeile2[16];
18
  
19
void main (void)
20
{
21
  initlcd();
22
  loeschenlcd();
23
  Adresse=0x2000;
24

25
  InitMP3();
26
  InitAudio();
27
  InitPLL();
28
  
29
  P5_3=1;
30
  
31
  //Interrupt & MP3 Interrupt ein
32
  EA = 1;
33
  EMP3 = 1;
34
  
35
  //Bit MSKREQ löschen
36
  MP3CON = 0b10011000;
37

38
  AUDCON1 = AUDCON1&&0b00000001;
39
  
40
  IPH0 = IPH0&&0b00100000;
41
  IPL0 = IPL0&&0b00100000;
42

43
  while(1)  
44
  {
45
    sprintf(zeile1, "NO Interrupt");
46
    textlcd (zeile1,1);
47
  }
48
}
49

50
void InitMP3()
51
{
52
  MP3CLK=3;
53
  MP3VOL = MP3VOR = 0x0F;
54
  //MP3CON=0xA0;
55
}
56

57
void InitAudio()
58
{
59
  AUDCLK=7;
60
  AUDCON0=0x86;
61
  AUDCON1=0x41;
62
}
63

64
void InitPLL()
65
{
66
  PLLNDIV=125;
67
  PLLRDIV=0x8E;
68
  PLLCON=0b00000010;
69
}
70

71
void MP3_Decoder_ISR(void) interrupt 5
72
{
73
  sprintf(zeile2, "Interrupt OK");
74
  textlcd (zeile2,2);
75
  if(MP3STA1&&0b00001000)
76
  {
77
    MP3DAT = *Adresse;
78
    Adresse++;
79
  }
80
    
81
}

Hoffe ich könnt mir helfen!!

gruß
Christof
Gast #545429
Lesenswert?

Danke für die hilfe!
mein problem besteht weiterhin, der interrupt wird nicht aufgerufen.

Ich bitte um weitere Hilfe. Vielleicht hat jemand von euch schon mit dem 
SND1C gearbeitet der mir dann helfen kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren