Datasheet
DS87C520/DS83C520 EPROM/ROM High-Speed Microcontrollers 
16 of 43 
Switchback 
To return to a 4-clock rate from PMM, software can simply select the CD1 and CD0 clock control bits to 
the 4 clocks per cycle state. However, the DS87C520/DS83C520 provide several hardware alternatives 
for automatic Switchback. If Switchback is enabled, then the device will automatically return to a 4-clock 
per cycle speed when an interrupt occurs from an enabled, valid external interrupt source. A Switchback 
will also occur when a UART detects the beginning of a serial start bit if the serial receiver is enabled 
(REN = 1). Note the beginning of a start bit does not generate an interrupt; this occurs on reception of a 
complete serial word. The automatic Switchback on detection of a start bit allows hardware to correct 
baud rates in time for a proper serial reception. A switchback will also occur when a byte is written to 
SBUF0 or SBUF1 for transmission. 
Switchback is enabled by setting the SWB bit (PMR.5) to a 1 in software. For an external interrupt, 
Switchback will occur only if the interrupt source could really generate the interrupt. For example, if 
INT0
 is enabled but has a low priority setting, then Switchback will not occur on 
INT0
 if the CPU is 
servicing a high priority interrupt. 
Status 
Information in the Status register assists decisions about switching into PMM. This register contains 
information about the level of active interrupts and the activity on the serial ports. 
The DS87C520/DS83C520 support three levels of interrupt priority. These levels are Power-fail, High, 
and Low. Bits STATUS.7-5 indicate the service status of each level. If PIP (Power-fail Interrupt Priority; 
STATUS. 7) is a 1, then the processor is servicing this level. If either HIP (High Interrupt Priority; 
STATUS.6) or LIP (Low Interrupt Priority; STATUS.5) is high, then the corresponding level is in 
service. 
Software should not rely on a lower priority level interrupt source to remove PMM (Switchback) when a 
higher level is in service. Check the current priority service level before entering PMM. If the current 
service level locks out a desired Switchback source, then it would be advisable to wait until this condition 
clears before entering PMM. 
Alternately, software can prevent an undesired exit from PMM by entering a low priority interrupt service 
level before entering PMM. This will prevent other low priority interrupts from causing a Switchback. 
Status also contains information about the state of the serial ports. Serial Port 0 Receive Activity 
(SPRA0;STATUS.0) indicates a serial word is being received on Serial Port 0 when this bit is set to a 1. 
Serial Port 0 Transmit Activity (SPTA0; STATUS.1) indicates that the serial port is still shifting out a 
serial transmission. STATUS.2 and STATUS.3 provide the same information for Serial Port 1, 
respectively. These bits should be interrogated before entering PMM1 or PMM2 to ensure that no serial 
port operations are in progress. Changing the clock divisor rate during a serial transmission or reception 
will corrupt the operation. 










