This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Meaning of The Break Detect Function

Hi, I am trying to understand what is the importance of the "Break Detect" function when programming a microcontroller. Can some one tell me what it is useful for.

here is a copy of it

****************************************
void init(void)
{
P0M1 = 0x00; // push pull output
P0M2 = 0xFF;

ES = 1; // enable UART interrupt
EA = 1;
}

void brkrst_init(void) // This function allows ISP entry through the UART break detect
{
AUXR1 |= 0x40; // enable reset on break detect
SCON = 0x50; // select the BRG as UART baud rate source
SSTAT = 0x00;
BRGR0 = 0x70; // 9600 BAUD at 11.0592 MHz
BRGR1 = 0x04;
BRGCON = 0x03; // enable BRG
}

void UART(void) interrupt 4
{
RI = 0; // clear receive interrupt flag
}

  • From the comments, it seems as though this code is intended for a particular 8051 variant that has some built-in In System Programming (ISP) code. Apparently, when the UART detects an RS-232 break condition, it has the ability to reset the micro into the ISP download code.

    So, you'd attach your serial port to a PC, and reprogram the chip by sending a break, undoubtedly followed by the new code, as per the ISP method for this particular chip.

  • it seems as though this code is intended for a particular 8051 variant that has some built-in In System Programming (ISP) code
    Philips P89LPC9xx

    Erik