This document is provided as a supplement to the High-Speed Microcontrollers User’s Guide, covering
new or modified features specific to the DS87C550. This document must be used in conjunction withthe High-Speed Microcontroller User’s Guide, available from Dallas Semiconductor. Addenda are
arranged by section number, which correspond to sections in the High-Speed Microcontroller User’s
Guide.
The following additions and changes, with respect to the High-Speed Microcontroller User’s Guide, are
contained in this document. This document is a work in progress, and updates/additions will be added as
available.
Section 2:Ordering Information
Information on new members of the High-Speed Microcontroller family has been added.
Section 3:Architecture
No Changes. Information containing new architectural features is contained in the DS87C550 data sheet.
Section 4:Programming Model
Descriptions of new and modified Special Function Registers in the DS87C550 have been included.
Section 5:CPU Timing
Descriptions of the clock multiply/divide modes have been added.
Section 6:Memory Access
Information on EPROM size and the DPTR auto-select feature have been added.
Section 7:Power Management
Changes in the power management clock divisor are discussed.
Section 8:Reset Conditions
A discussion of the reset output has been included.
Section 9: Interrupts
The interrupt structure found on the DS87C550 is described.
Section 10:Parallel I/O
Descriptions of the new I/O ports have been added.
Section 11:Programmable Timers
New clock multiply and divide functions added to the DS87C550’s Timers are described.
The High-Speed Microcontroller family follows the part numbering convention shown below. Note that
not all combinations of devices are planned to be made available. Refer to individual data sheet for
available versions.
Note: Registers and bits in bold are new to the DS87C550. Registers and bits in bold AND Italic existed in
previous high-speed microcon tro ll ers, but at diffe ren t loca tions.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
P0.7-0
Port 0. This port functions as a multiplexed address/data bus during external
memory access, and as a general purpose I/O port on devices with internal
program memory. During external memory cycles, this port drives the LSB of the
address when ALE is high, and data when ALE is low. When used as a general
purpose I/O, this port is open-drain and requires pull-ups. Writing a 1 to any pin
of this port places it in a high impedance mode, which is required if the pin is to
be used as an input. Pull-ups are not required when used as a memory interface.
Stack Pointer (SP)
76543210
SFR 81hSP.7SP.6SP.5SP.4SP.3SP.2SP.1SP.0
RW-0RW-0RW-0RW-0RW-0RW-1RW-1RW-1
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
SP.7-0
Bits 7-0
Stack Pointer. This stack pointer identifies the location where the stack will
begin. The stack pointer is incremented before every PUSH operation. This
register defaults to 07h after reset.
Data Pointer Low 0 (DPL)
76543210
SFR 82hDPL.7DPL.6DPL.5DPL.4DPL.3DPL.2DPL.1DPL.0
RW-0RW-0RW-0RW-0RW-0RW-0RW-0RW-0
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
DPL.7-0
Bits 7-0
Data Pointer Low 0. This register is the low byte of the standard 80C32 16-bit
data pointer. DPL and DPH are used to point to non-scratchpad data RAM.
Data Pointer High 0 (DPH)
76543210
SFR 83hDPH.7DPH.6DPH.5DPH.4DPH.3DPH.2DPH.1DPH.0
RW-0RW-0RW-0RW-0RW-0RW-0RW-0RW-0
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
DPH.7-0
Bits 7-0
Data Pointer High 0. This register is the high byte of the standard 80C32 16-bit
data pointer. DPL and DPH are used to point to non-scratchpad data RAM.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
DPL1.7-0
Bits 7-0
Data Pointer Low 1. This register is the low byte of the auxiliary 16-bit data
pointer. When the SEL bit (DPS.0) is set, DPL1 and DPH1 are used in place of
DPL and DPH during DPTR operations.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
DPH1.7-0
Bits 7-0
Data Pointer High 1. This register is the high byte of the auxiliary 16-bit data
pointer. When the SEL bit (DPS.0) is set, DPL1 and DPH1 are used in place of
DPL and DPH during DPTR operations.
Data Pointer Select (DPS)
76543210
SFR 86hID1ID0TSL0----SEL
ID1, ID0
Bits 7-6
TSL
Bit 5
Bits 4-1
SEL
Bit 0
RW-0RW-0RW-0R-0R-0R-0R-0RW-0
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
Increment/Decrement Select Bits These bits define how the INC DPTR
instruction functions in relation to the current DPTR as selected by SEL.
Toggle Select Bit Enable This bit allows any instruction involving the data
pointer to toggle the SEL bit automatically. When this bit is logic 1, the SEL
bit will automatically toggle, otherwise it will not.
Reserved. Read will be indeterminate.
Data Pointer Select. This bit selects the active data pointer.
0 = Instructions that use the DPTR will use DPL and DPH.
1= Instructions that use the DPTR will use DPL1 and DPH1.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset; *=see description
SMOD_0
Bit 7
SMOD0
Bit 6
OFDF
Bit 5
OFDE
Bit 4
Serial Port 0 Baud Rate Doubler Enable. This bit enables/disables the
serial baud rate doubling function for Serial Port 0.
0 = Serial Port 0 baud rate will be that defined by baud rate generation
equation.
1 = Serial Port 0 baud rate will be double that defined by baud rate generation
equation.
Framing Error Detection Enable. This bit selects function of the
SCON0.7 and SCON1.7 bits.
0 = SCON0.7 and SCON1.7 control the SM0 function defined for the
SCON0 and SCON1 registers.
1 = SCON0.7 and SCON1.7 are converted to the Framing Error (FE) flag for
the respective Serial Port.
Oscillator Fail Detect Flag. This bit is set if a reset is caused by oscillator
failure and must be cleared by software.
Oscillator Fail Detect Enable. This bit enables the oscillator fail detect circuitry
when 1 and disables the feature when 0.
GF1
Bit 3
GF0
Bit 2
STOP
Bit 1
IDLE
Bit 0
General Purpose User Flag 1. This is a general purpose flag for software
control.
General Purpose User Flag 0. This is a general purpose flag for software
control.
Stop Mode Select. Setting this bit will stop program execution, halt the CPU
oscillator and internal timers, and place the CPU in a low-power mode. This bit
will always be read as a 0. Setting this bit while the Idle bit is set will place the
device in an undefined state.
Idle Mode Select. Setting this bit will stop program execution but leave the CPU
oscillator, timers, serial ports, and interrupts active. This bit will always be read
as a 0.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
TF1
Bit 7
TR1
Bit 6
TF0
Bit 5
TR0
Bit 4
Timer 1 Overflow Flag. This bit indicates when Timer 1 overflows its
maximum count as defined by the current mode. This bit can be cleared by
software and is automatically cleared when the CPU vectors to the Timer 1
interrupt service routine.
0 = No Timer 1 overflow has been detected.
1 = Timer 1 has overflowed its maximum count.
Timer 1 Run Control. This bit enables/disables the operation of Timer 1.
0 = Timer 1 is halted.
1 = Timer 1 is enabled.
Timer 0 Overflow Flag. This bit indicates when Timer 0 overflows its
maximum count as defined by the current mode. This bit can be cleared by
software and is automatically cleared when the CPU vectors to the Timer 0
interrupt service routine or by software.
0 = No Timer 0 overflow has been detected.
1 = Timer 0 has overflowed its maximum count.
Timer 0 Run Control. This bit enables/disables the operation of Timer 0.
Halting this timer will preserve the current count in THO and TL0.
0 = Timer 0 is halted.
1 = Timer 0 is enabled.
IE1
Bit 3
IT1
Bit 2
IE0
Bit 1
IT0
Bit 0
Interrupt 1 Edge Detect. This bit is set when an edge/level of the type defined
by IT1 is detected. If IT1=1, this bit will remain set until cleared in software or
the start of the External Interrupt 1 service routine. If IT1=0, this bit will
inversely reflect the state of the INT1 pin.
Interrupt 1 Type Select. This bit selects whether the
INT1pin will detect edge
or level triggered interrupts.
0 = INT1 is level triggered.
1 = INT1 is edge triggered.
Interrupt 0 Edge Detect. This bit is set when an edge/level of the type defined
by IT0 is detected. If IT0=1, this bit will remain set until cleared in software or
the start of the External Interrupt 0 service routine. If IT0=0, this bit will
inversely reflect the state of the 0INT pin
Interrupt 0 Type Select. This bit selects whether the
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
GATE
Bit 7
T/C
Bit 6
M1, M0
Bits 5-4
T/C
M1M0GATE
T/C
M1M0
Timer 1 Gate Control. This bit enable/disables the ability of Timer 1 to
increment.
0 = Timer 1 will clock when TR1=1, regardless of the state of
INT1.
1 = Timer 1 will clock only when TR1=1 and INT1=1.
Timer 1 Counter/Timer Select.
0 = Timer 1 is incremented by internal clocks (timer).
1 = Timer 1 is incremented by pulses on T1 when TR1 (TCON.6) is 1 (counter).
Timer 1 Mode Select. These bits select the operating mode of Timer 1.
M1M0Mode
00Mode 0: 8 bit with 5-bit prescale
01Mode 1: 16 bit with no prescale.
10Mode 2: 8 bit with auto-reload
11Mode 3: Timer 1 is halted, but holds its count.
GATE
Bit 3
T/C
Bit 2
M1, M0
Bits 1-0
Timer 0 Gate Control. This bit enables/disables that ability of Timer 0 to
increment.
0 = Timer 0 will clock when TR0=1, regardless of the state of 0INT .
1 = Timer 0 will clock only when TR0=1 and 0INT = 1.
Timer 0 Counter/Timer Select.
0 = Timer incremented by internal clocks (timer).
1 = Timer 1 is incremented by pulses on T0 when TR0 (TCON.4) is 1 (counter).
Timer 0 Mode Select. These bits select the operating mode of Timer 0.
When Timer 0 is in mode 3, TL0 is started/stopped by TR0 and TH0 is
started/stopped by TR1. Run control for Timer 1 is then provided via the
Timer 1 mode selection.
M1M0Mode
00Mode 0: 8 bit with 5-bit prescale
01Mode 1: 16 bit no prescale
10Mode 2: 8 bit with auto-reload
11Mode 3: Timer 0 is two 8 bit counters.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
WD1, WD0
Bits 7-6
T2M
Bit 5
Watchdog Timer Mode Select 1-0. These bits determine the watchdog timer
time-out period. The timer divides the crystal (or external oscillator) frequency
by a programmable value as shown below. The divider value is expressed in
crystal (oscillator) cycles. The settings of the system clock control bitsX2/X4
(PMR.3) and CD1:0 (PMR.7-6) will affect the clock input to the watchdog
timer and therefore its time-out period as shown below. All Watchdog Timer
reset time-outs follow the setting of the interrupt flag by 512 clocks. The
DS87C550 does not incorporate a watchdog interrupt, but a similar effect may
be achieved by polling its flag.
Watchdog Interrupt Flag Time-Out Periods (in crystal clocks)
CD1:0WD1:0=00WD1:0=01WD1:0=10WD1:0=11
X2/X4
100 2
000 2
X01 2
X10 2
X11 2
15
16
17
17
25
18
2
19
2
20
2
20
2
28
2
21
2
22
2
23
2
23
2
31
2
24
2
25
2
26
2
26
2
34
2
Timer 2 Clock Select. This bit controls the division of the system clock that
drives Timer 2. This bit has no effect when the timer is in baud rate generator or
clock output modes. Clearing this bit to 0 maintains 80C32 compatibility. This
bit has no effect on instruction cycle timing.
T1M
Bit 4
T0M
Bit 3
0 = Timer 2 uses a divide by 12 of the crystal frequency.
1 = The divide ratio of Timer 2 is determined by the CD1, CD0, and 4X/
X2 as
shown below.
Timer 1 Clock Select. This bit controls the division of the system clock that
drives Timer 1. Clearing this bit to 0 maintains 80C32 compatibility. This bit
has no effect on instruction cycle timing.
0 = Timer 1 uses a divide by 12 of the crystal frequency.
1 = The divide ratio of Timer 1 is determined by the CD1, CD0, and 4X/
X2 as
shown below.
Timer 0 Clock Select. This bit controls the division of the system clock that
drives Timer 0. Clearing this bit to 0 maintains 80C32 compatibility. This bit
has no effect on instruction cycle timing.
0 = Timer 0 uses a divide by 12 of the crystal frequency.
1 = The divide ratio of Timer 0 is determined by the CD1, CD0, and 4X/
Stretch MOVX Select 2-0. These bits select the time by which external MOVX
cycles are to be stretched. This allows slower memory or peripherals to be
OSC CYCLES
PER TIMER 0/1/2
CLOCK.
TxM=0TxM=1
OSC CYCLES
PER TIMER 2
CLK, BAUD
RATE GEN.
OSC CYCLES PER
SERIAL PORT CLK,
MODE 0
SM2=0SM2=1SMOD=0SMOD=1
OSC CYCLES PER
SERIAL PORT CLK,
MODE 2
accessed without using ports or manual software intervention. The RD or
WR strobe will be stretched by the specified interval, which will be transparent to
the software except for the increased time to execute to MOVX instruction. All
internal MOVX instructions on devices containing MOVX SRAM are performed
at the 2 machine cycle rate.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
General Purpose I/O Port 1. This register functions as a general purpose I/O
port. In addition, all the pins have an alternative function listed below. P1.2-7
contain functions that are new to the 80C32 architecture. The Timer 2 functions
on pins P1.1-0 are available on the 80C32, but not the 80C31. Each of the
functions is controlled by several other SFRs. The associated Port 1 latch bit
must contain a logic one before the pin can be used in its alternate function
capacity.
Serial Port 1 Transmit. This pin transmits the serial port 1 data in serial port
modes 1, 2, 3 and emits the synchronizing clock in serial port mode 0.
Serial Port 1 Receive. This pin receives the serial port 1 data in serial port
modes 1, 2, 3 and is a bi-directional data transfer pin in serial port mode 0.
Timer 2 Capture/Reload Trigger. A 1 to 0 transition on this pin will cause the
value in the T2 registers to be transferred into the capture registers if enabled by
EXEN2 (T2CON.3). When in auto–reload mode, a 1 to 0 transition on this pin
will reload the timer 2 registers with the value in RCAP2L and RCAP2H if
enabled by EXEN2 (T2CON.3).
P1.0
0CT/2INT
T2
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Timer 2 External Input. A 1 to 0 transition on this pin will cause timer 2
increment or decrement depending on the timer configuration. This mode of
operation is enabled by setting the 2T/C bit (T2CON.1).
3CT/5INT
External Interrupt 5/Capture 3 Input. In normal operation, a falling edge on
this pin will cause an external interrupt 5 (if enabled). If capture channel 3 is
enabled, this pin acts as a capture command input.
2CT/4INT
External Interrupt 4/Capture 2 Input. In normal operation, a falling edge on
this pin will cause an external interrupt 4 (if enabled). If capture channel 2 is
enabled, this pin acts as a capture command input.
1CT/3INT
External Interrupt 3/Capture 1 Input. In normal operation, a falling edge on
this pin will cause an external interrupt 3 (if enabled). If capture channel 1 is
enabled, this pin acts as a capture command input.
0CT/2INT
External Interrupt 2/Capture 0 Input. In normal operation, a falling edge on
this pin will cause an external interrupt 2 (if enabled). If capture channel 0 is
enabled, this pin acts as a capture command input.
Bits 7 – 4Reserved. Read data will be indeterminate.
CKRDY
Bit 3
RGMD
Bit 2
RGSL
Bit 1
Clock Ready This bit indicates the status of the start-up period delay used to
establish the crystal oscillator or crystal multiplier warm-up period of 65536
crystal oscillator periods. A 1 indicates that the period is complete otherwise it is
not. This bit is cleared after a reset or when exiting STOP mode. It is also cleared
when the clock multiplier is enabled (CTM bit of the PMR register set). Once the
CKRDY bit is set, the lockout preventing CD1:CD0 from being modified is
removed, and clock multiplier may then be selected as the clock source.
Ring Oscillator Mode This bit indicates the status of the ring oscillator. If 0, the
ring is not being used, and if 1, the system is running from the ring. This bit must
be cleared before the RGSL can be modified, before the Clock Control divider
bits (CD1:CD0) can be changed to any condition other than divide by 4 mode,
and before enabling the clock multiplier (setting the CTM bit).
Ring Oscillator Select This bit enables (1) or disables (0) the ring oscillator. If
enabled, the ring oscillator will be used as the system clock source after exiting
STOP mode until the end of start-up period delay (65536 crystal oscillator
periods). At the end of this delay, the crystal oscillator will automatically be
switched in as the system clock source. This bit is reset only by a Power-On
Reset.
BGS
Bit 0
Band Gap Select This bit enables (1) or disables (0) the band-gap voltage
reference in STOP mode.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
SM0-2
Bits 7-5
Serial Port Mode These bits control the mode of serial port 0. In addition the
SM0 and SM2_0 bits have secondary functions as shown below.
SM0SM1 SM2 MODEFUNCTIONLENGTHPERIOD
0000Synchronous8 bits12 t
0010Synchronous8 bits4 t
CLK
CLK
01X1Asynchronous10 bitsTimer 1 or 2 baud rate equation
1002Asynchronous11 bits64 t
32 t
1011Asynchronous w/
Multiprocessor
communication
11 bits64 t
32 t
(SMOD=0)
CLK
(SMOD=1)
CLK
(SMOD=0)
CLK
(SMOD=1)
CLK
1103Asynchronous11 bitsTimer 1 or 2 baud rate equation
1113Asynchronous w/
11 bitsTimer 1 or 2 baud rate equation
Multiprocessor
communication
SM0/FE_0
Bit 7
SM1_0
Bit 6
SM2_0
Bit 5
Framing Error Flag. When SMOD0 (PCON.6)=0, this bit (SM0) is used to
select the mode for serial port 0. When SMOD0=1, this bit (FE) will be set upon
detection of an invalid stop bit. When used as FE, this bit must be cleared in
software. Once the SMOD0 bit is set, modifications to this bit will not affect the
serial port mode settings. Although accessed from the same register, internally the
data for bits SM0 and FE are stored in different locations.
No alternate function.
Multiple CPU Communications. The function of this bit is dependent on the
serial port 0 mode.
Mode 0: Selects 12 t
CLK
or 4 t
period for synchronous serial port 0 data
CLK
transfers.
Mode 1: When set, reception is ignored (RI_0 is not set) if invalid stop bit
received.
Mode 2/3: When this bit is set, multiprocessor communications are enabled in
modes 2 and 3. This will prevent the RI_0 bit from being set, and an
interrupt being asserted, if the 9
Receiver Enable. This bit enable/disables the serial port 0 receiver shift register.
0 = Serial port 0 reception disabled.
1= Serial port 0 receiver enabled (modes 1, 2, 3). Setting this bit will initiate
synchronous reception in mode 0.
9th Transmission Bit State. This bit defines the state of the 9th transmission bit
in serial port 0 modes 2 and 3.
9th Received Bit State. This bit identifies that state of the 9th reception bit of
received data in serial port 0 modes 2 and 3. In serial port mode 1, when
SM2_0=0, RB8_0 is the state of the stop bit. RB8_0 is not used in mode 0.
Transmitter Interrupt Flag. This bit indicates that data in the serial port 0
buffer has been completely shifted out. In serial port mode 0, TI_0 is set at the
end of the 8th data bit. In all other modes, this bit is set at the end of the last data
bit. This bit must be manually cleared by software.
Receiver Interrupt Flag. This bit indicates that a byte of data has been received
in the serial port 0 buffer. In serial port mode 0, RI_0 is set at the end of the 8
th
bit. In serial port mode 1, RI_0 is set after the last sample of the incoming stop bit
subject to the state of SM2_0. In modes 2 and 3, RI_0 is set after the last sample
of RB8_0. This bit must be manually cleared by software.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
SBUF0.7-0
Bits 7-0
Serial Data Buffer 0. Data for serial port 0 is read from or written to this
location. The serial transmit and receive buffers are separate registers, but both
are addressed at this location.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset; * = See Description
CD1,CD0
Bits 7, 6
Clock Divide Control : These bits select the source of the system clock and
determine the number of clocks per machine cycle as indicated in the table.
CD1CD0Clock source; divisor
00Crystal multiplier; 1 or 2 clocks per machine cycle (as determined
by the
X2/X4 bit.
01Reserved.
10Crystal/external oscillator; 4 clocks per machine cycle (default)
11Crystal/external oscillator; 1024 clocks per machine cycle.
A default of 10b is selected after all forms of reset and Stop mode exits. When
changing these bits certain restrictions must be observed. The default state is the
only state that any other state can be changed to or from. As an example,
attempting to change from the crystal multiplier clock source (either divide by 1
or 2) directly to the crystal/external oscillator divided by 1024 will result in CD1
and CD0 remaining unchanged.
ALEOFFDME1DME0
X2/X4
SWB
Bit 5
CTM
Bit 4
Bit 3
Switch Back Enable This bit enables (1) or disables (0) the switch-back
function. When enabled, switchback will allow the processor to automatically
switch from divide by 1024 mode to divide by 4 mode when an external interrupt
is acknowledged or when a start bit of a serial character is recognized on an
active serial port.
Crystal Multiplier Enable This bit enables (1) or disables (0) the crystal
multiplier function. By clearing this bit, the power required by this circuitry can
be saved. Setting this bit will automatically clear the CKRDY bit and initiate the
start-up period delay. Until the start-up period has elapsed, CKRDY will remain
cleared and it will be impossible to change the CD1 & CD0 bits to select the
crystal multiplier. Also, CTM cannot be changed unless CD1 & CD0 = 10b and
RGMD is cleared to 0. This bit is automatically cleared to 0 when the processor
enters Stop mode.
X2/X4
Clock Multiplier Selection This bit selects the clock multiplication factor as
shown.
X2/X4 = 0 Sets the frequency multiplier to 2 times the incoming clock.
X2/X4 = 1 Sets the frequency multiplier to 4 times the incoming clock.
This bit can only be altered when the Crystal Multiplier Enable bit (CTM) is
cleared. Therefore it must be set for the desired multiplication factor prior to
setting the CTM bit.
ALE Disable When set to 1, this bit disables ALE during on-board memory
accesses. Any off-chip memory access will cause ALE to automatically toggle
regardless of the state of this bit. When this bit is 0, ALE toggles for all memory
accesses whether the memory is inside or outside of the chip.
DME1,DME0
Bits 1, 0
DME1DME0Data Memory RangeMemory Access
000000h – FFFFhExternal data memory (default)
010000h – 03FFh1K Internal SRAM data memory
0400h – FFFFhExternal data memory
10ReservedReserved
100000h – 3FFFh1K Internal SRAM data memory
0400h – FFFBhReserved.
FFFChSystem control byte (EPROM
Read-Only).
FFFDh – FFFFReserved.
Port 2 (P2)
76543210
SFR A0hP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
RW-1RW-1RW-1RW-1RW-1RW-1RW-1RW-1
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
P2.7-0
Bits 7-0
Port 2. This port functions as an address bus during external memory access, and
as a general purpose I/O port on devices which incorporate internal program
memory. During external memory cycles, this port will contain the MSB of the
address. The Port 2 latch does not control general purpose I/O pins on ROMLESS
devices, but is still used to hold the address MSB during register-indirect data
memory operations such as MOVX A, @R1.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
SADDR1.7-0
Bits 7-0
Slave Address Register 1. This register is programmed by the user with the
given or broadcast address assigned to serial port 1.
Interrupt Enable (IE)
76543210
SFR A8hEAEADES1ES0ET1EX1ET0EX0
RW-0RW-0RW-0RW-0RW-0RW-0RW-0RW-0
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
EA
Bit 7
EAD
Bit 6
Global Interrupt Enable. This bit controls the global masking of all interrupts
except Power-Fail Interrupt, which is enabled by the EPFI bit (WDCON.5).
0 = Disable all interrupt sources. This bit overrides individual interrupt mask
settings.
1 = Enable all individual interrupt masks. Individual interrupts will occur if
enabled.
A/D Interrupt Enable. This bit controls the masking of the A/D Converter
interrupt.
0 = Disable the A/D interrupt.
ES1
Bit 5
ES0
Bit 4
ET1
Bit 3
1 = Enable interrupt requests generated by the EOC (ADCON.6) flag.
Enable Serial Port 1 Interrupt. This bit controls the masking of the Serial Port
1 interrupt.
0 = Disable all Serial Port 1 interrupts.
1 = Enable interrupt requests generated by the RI_1 (SCON1.0) or TI_1
(SCON1.1) flags.
Enable Serial Port 0 Interrupt. This bit controls the masking of the Serial port
0 interrupt.
0 = Disable all serial port 0 interrupts.
1 = Enable interrupt requests generated by the RI_0 (SCON0.0) or TI_0
(SCON0.1) flags.
Enable Timer 1 Interrupt. This bit controls the masking of the Timer 1
interrupt.
0 = Disable all Timer 1 interrupts.
1 = Enable all interrupt requests generated by the TF1 flag (TCON.7).
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
CMPL0.7-0
Bits 7-0
Compare Register Zero LSB. This register is one of three used to store the least
significant 8-bit value for the Timer 2’s comparison functions. When a match
occurs between Timer 2 and the contents of 16-bit register pair made of CMPH0
& CMPL0, port pins P4.5 through P4.0 are set if the corresponding compare
match set enable bits (CMS5:0=SETR.5:0) are set.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
Compare Register One LSB. This register is one of three used to store the least
significant 8-bit value for the Timer 2’s comparison functions. When a match
occurs between Timer 2 and the contents of 16-bit register pair made of CMPH1
& CMPL1, port pins P4.5 through P4.0 are reset if the corresponding compare
match reset enable bits (CMR5:0=RSTR.5:0) are set.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
CMPL2.7-0
Bits 7-0
Compare Register Two LSB. This register is one of three used to store the least
significant 8-bit value for the Timer 2’s comparison functions. When a match
occurs between Timer 2 and the contents of 16-bit register pair made of CMPH2
& CMPL2, port pin P4.6 will toggle if the corresponding compare match toggle
enable bit CMTE0 (RSTR.6) is set. Similarly on a match, P4.7 will toggle if the
corresponding compare match toggle enable bit CMTE1 (RSTR.7) is set.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
CPTL0.7-0
Bits 7-0
Capture Register Zero LSB. This register is used to capture the least significant
8-bit value for the Timer 2’s channel 0 capture function. When a transition
occurs on the INT2/CT0 pin, the LSB of Timer 2 is captured in this register on
the rising edge if the CT0=CTCON.0 enable bit is set or on the falling edge if the
0CT =CTCON.1 enable is set. Setting both enable bits will cause a capture to
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
CPTL1.7-0
Bits 7-0
Capture Register One LSB. This register is used to capture the least significant
8-bit value for the Timer 2’s channel 1 capture function. When a transition
occurs on the INT3/CT1 pin, the LSB of Timer 2 is captured in this register on
the rising edge if the CT1=CTCON.1 enable bit is set or on the falling edge if the
1CT =CTCON.3 enable is set. Setting both enable bits will cause a capture to
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
CPTL2.7-0
Bits 7-0
Capture Register Two LSB. This register is used to capture the least significant
8-bit value for the Timer 2’s channel 2 capture function. When a transition
occurs on the INT4/CT2 pin, the LSB of Timer 2 is captured in this register on
the rising edge if the CT2=CTCON.4 enable bit is set or on the falling edge if the
2CT =CTCON.5 enable is set. Setting both enable bits will cause a capture to
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
CPTL3.7-0
Bits 7-0
Capture Register Three LSB. This register is used to capture the least
significant 8-bit value for the Timer 2’s channel 3 capture function. When a
transition occurs on the INT5/CT3 pin, the LSB of Timer 2 is captured in this
register on the rising edge if the CT3=CTCON.6 enable bit is set or on the falling
edge if the 3CT =CTCON.7 enable is set. Setting both enable bits will cause a
capture to occur on both edges.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset
P3.7-0
Bits 7-0
RD
Bit 7
WR
Bit 6
T1
Bit 5
P3.6
WR
P3.5
T1
P3.4
T0
P3.3
P3.2
1INT
0INT
P3.1
TXD0
P3.0
RXD0
General Purpose I/O Port 3. This register functions as a general purpose I/O
port. In addition, all the pins have an alternative function listed below. Each of
the functions is controlled by several other SFRs. The associated Port 3 latch bit
must contain a logic one before the pin can be used in its alternate function
capacity.
External Data Memory Read Strobe. This pin provides an active low read
strobe to an external memory or peripheral device.
External Data Memory Write Strobe. This pin provides an active low write
strobe to an external memory or peripheral device.
Timer/Counter External Input. A 1 to 0 transition on this pin will increment
Timer 1 if counter mode is enabled.
T0
Bit 4
1INT
Bit 3
0INT
Bit 2
TXD0
Bit 1
RXD0
Bit 0
Timer/Counter External Input. A 1 to 0 transition on this pin will increment
Timer 0 if counter mode is enabled.
External Interrupt 1. A falling edge/low level on this pin will cause an external
interrupt 1 if enabled.
External Interrupt 0. A falling edge/low level on this pin will cause an external
interrupt 0 if enabled.
Serial Port 0 Transmit. This pin transmits the serial port 0 data in serial port
modes 1, 2, 3 and emits the synchronizing clock in serial port mode 0.
Serial Port 0 Receive. This pin receives the serial port 0 data in serial port
modes 1, 2, 3 and is a bi-directional data transfer pin in serial port mode 0.
R=Unrestricted Read, W=Unrestricted Write, -n=Value after Reset; *=See description
Start/Busy. When this bit is changed from a 0 to a 1, an A/D conversion starts. It
remains set for the duration of the conversion process (regardless of attempts to
write 0). Hardware automatically clears this bit upon completion of conversion.
End Of Conversion. This bit is set by hardware when a conversion is complete.
It also serves as an interrupt flag qualified by WCQ and enabled by EAD (IE.7).
This bit must be cleared by software and can be set or cleared by software
anytime.
SS/CONT
Continuous/Single Shot. When set to 1, the A/D converter operates in
continuous mode and repeatedly runs conversions once a conversion is initiated.
When this bit is cleared, the A/D converter performs one conversion and stops.
A/D External Start. When set, this bit allows an A/D conversion to be initiated
by the detection of a falling edge on the STADC pin.
WCQ
Bit 3
WCM
Bit 2
ADON
Bit 1
WCIO
Bit 0
Window Comparator Qualifier. If set, this bit allows an A/D converter
interrupt to occur only when both EOC and WCM bits are set at the end of a
conversion. If this bit is cleared, an interrupt will occur (if enabled) every time
EOC is set.
Window Comparator Match. This bit is set by hardware at the end of an A/D
conversion result that matches the criteria set by WINHI, WINLO, and WCIO.
This bit is not set if there is no match, and it must be cleared by software.
A/D On. This bit enables (ADON=1) or disables (ADON=0) the A/D function.
Changing this bit from a 0 to a 1 requires a warm-up period of 4 µs before a
proper conversion can be performed. This bit can be cleared to save power when
no conversion is required, and clearing it aborts any conversion in progress. This
action also resets the BSY/STRT bit.
Window Compare Inside/Outside. When set to 1, the window comparison
function looks for A/D results that are outside of the window bounded by the
limits set by WINHI and WINLO. When this bit is cleared, the check is for values
inside these limits.
28 of 93
Loading...
+ 65 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.