Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/12/02 20:53
Read: times


 
#22862 - MIDI serial, interrupt enable/disable?
Hello,

I am trying to output a simple MIDI byte from serial0 of an SAB 80C537 w/12MHz xtal.

I am unsure how to set up the interrupts though, as the data sheet and the include file for the 537 (from Keil) don't match syntax for the interrupt enable register...

here is what I have so far (in C using the Keil C51 compiler)... unfortunately no MIDI is output. The external interrupts are wired, so I try and disable the interrupt vectors for everything but serial0. But it could be some other reason (other than interrupts) that MIDI isn't output.

Here is my code snippet (hopefully it formats correctly in the post!):

/*------------------------------------------------------------------------------
Sample Program that demonstrates setting MIDI baud rate and then outputting 'FE'
to serial output number 0 (P3.1).
--------------------------------------------------------------------------*/

sfr S0BUF = 0x99;
sfr S0CON = 0x98;
sfr TMOD = 0x89;
sfr TH1 = 0x8D;
sbit TR1 = 0x8E;
sbit TI0 = 0x99;

/* IEN0 */
sbit EAL = 0xAF;
sbit WDT = 0xAE;
sbit ET2 = 0xAD;
sbit ES0 = 0xAC;
sbit ET1 = 0xAB;
sbit EX1 = 0xAA;
sbit ET0 = 0xA9;
sbit EX0 = 0xA8;
/* IEN1 */
sbit EXEN2 = 0xBF;


/*------------------------------------------------------------------------------
main() : Outputs the value '0xFE' to serial 0 (MIDI).
------------------------------------------------------------------------------*/
void main( void )
{
EAL = 0;
EXEN2 = 0;
WDT = 0;
ET2 = 0;
ES0 = 1;
ET1 = 0;
EX1 = 0;
ET0 = 0;
EX0 = 0;
EAL = 1;

S0CON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD = 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 255; /* TH1: reload value for 31250 baud @ 12MHz */
TR1 = 1; /* TR1: timer 1 run */
TI0 = 1;


while(1)
{
while(TI0 == 0){;}
TI0 = 0;
S0BUF = 0xFE;
}
}

List of 6 messages in thread
TopicAuthorDate
MIDI serial, interrupt enable/disable?            01/01/70 00:00      
RE: MIDI serial, interrupt enable/disable?            01/01/70 00:00      
RE: MIDI serial, interrupt enable/disable?            01/01/70 00:00      
RE: MIDI serial, interrupt enable/disable?            01/01/70 00:00      
RE: MIDI serial, interrupt enable/disable?            01/01/70 00:00      
RE: MIDI serial, interrupt enable/disable?            01/01/70 00:00      

Back to Subject List