The W78C58 is a derivative of the W78C52 microcontroller family that provides extended internal
ROM. The chip has 32K bytes of mask ROM and 256 bytes of RAM.
This device provides an enhanced architecture that makes it more powerful and suitable for a variety
of applications for general control systems. It provides on-chip 32KB mask ROM to accommodate
large program codes, 256-bytes of non-volatile on-chip RAM, four 8-bit I/O ports, one 4-bit I/O port,
three 16-bit timer/counters, eight sources with two-level interrupt structures, and on-chip oscillator
clock circuits.
FEATURES
• DC to 40 MHz extensive operating frequency
• 256-byte on-chip scratch pad RAM
• 32K-byte on-chip mask ROM
• 64K-byte address space for external Program Memory
• 64K-byte address space for external Data Memory
• Three 16-bit timer/counters
• Four 8-bit bit-addressable I/O ports
• One extra 4-bit bit-addressable I/O port, additonal
EAIEXTERNAL ACCESS ENABLE: This pin forces the processor to execute out
of external ROM. The ROM address and data will not be present on the bus if
the EA pin is high and the program counter is within the 32 KB area.
Otherwise they will be present on the bus.
PSENO H
ALEO HADDRESS LATCH ENABLE: ALE is used to enable the address latch that
RSTI LRESET: A high on this pin for two machine cycles while the oscillator is
XTAL1ICRYSTAL 1: This is the crystal oscillator input. This pin may be driven by an
XTAL2OCRYSTAL 2: This is the crystal oscillator output. It is the inversion of XTAL1.
VSSIGROUND: Ground potential.
VDDIPOWER SUPPLY: Supply voltage for operation.
P0.0−P0.7
P1.0−P1.7
P2.0−P2.7
P3.0−P3.7
I/O DPORT 0: Function is the same as that of the standard 8052.
I/O HPORT 1: Function is the same as that of the standard 8052.
I/O HPORT 2: Function is the same as that of the standard 8052.
I/O HPORT 3: Function is the same as that of the standard 8052.
PROGRAM STORE ENABLE: PSEN enables the external ROM data in the
Port 0 address/data bus.
When internal ROM access is performed, no PSEN strobe signal outputs
originate from this pin.
separates the address from the data on Port 0. ALE runs at 1/6th of the
oscillator frequency. An ALE pulse is omitted during external data memory
accesses.
running resets the device.
external clock.
P4.0−P4.3
INT2 (P4.3)I HExternal interrupt 2: An extra interrupt input source. It cascades to pin P4.3
INT3 (P4.2)I HExternal interrupt 3: An extra interrupt input source. It cascades to pin P4.2
* Note : TYPE I: input, O: output, I/O: bi-directional, H: pull-high, L: pull-low, D: open drain
I/O HPORT 4: A 4-bit bi-directional parallel port and bit-addressable with internal
pull-ups. Pin P4.3 and P4.2 have alternative function as external interrupt
(INT2/INT3) source input.
internally.
internally.
Publication Release Date: December 1997
- 3 -Revision A5
BLOCK DIAGRAM
W78C58
P1.0
~
P1.7
P3.0
~
P3.7
P4.0
~
P4.3
INT2
INT3
Port
1
Port
3
Port
4
Port 1
Latch
Interrupt
Timer
Timer
Timer
UART
Port 3
Latch
Port 4
Latch
ACC
2
Oscillator
PSW
Instruction
Decoder
&
Sequencer
Bus & Clock
Controller
ALU
SFR RAM
RAM & SFR
Reset Block
0
1
T2T1
Address
256 bytes
B
Stack
Pointer
Power control
Port 0
Latch
DPTR
Temp Reg.
PC
Incrementor
Addr. Reg.
32KB
ROM
Port 2
Latch
Port
0
Port
2
P0.0
~
P0.7
P2.0
~
P2.7
XTAL1PSENALEGNDVCCRSTXTAL2
Figure 2. Architecture of the W78C58
- 4 -
W78C58
FUNCTIONAL DESCRIPTION
The W78C58 is pin-to-pin compatible with the W78C52, except that the internal 8K mask ROM has
been replaced with 32K of internal mask ROM. The processor supports 111 different opcodes and
references both 64K program address space and 64 K data storage space.
Clock
The W78C58 is designed to be used with either a crystal oscillator or an external clock. Internally, the
clock is divided by two before it is used. This makes the W78C58 relatively insensitive to duty cycle
variations in the clock.
Crystal Oscillator
The W78C58 incorporates a built-in crystal oscillator. To make the oscillator work, a crystal is
connected across pins XTAL1 and XTAL2. In addition, a load capacitance of 30 pf (typically) must be
connected from each pin to ground. Resistor must also be connected from XTAL1 to XTAL2 to
provide a DC bias when the crystal frequency is above 24 MHz.
External Clock
An external clock should be connected to pin XTAL1. Pin XTAL2 should be left unconnected. The
XTAL1 input is a CMOS-type input, as required by the crystal oscillator. As a result, the external clock
signal should have an input one level greater than 3.5 volts.
Power Management
Idle Mode
The idle mode is entered by setting the IDLE bit in the PCON register. In the idle mode, the internal
clock to the processor is stopped. The peripherals and the interrupt logic continue to be clocked. The
processor will exit idle mode when either an interrupt or a reset occurs.
Power-down Mode
When the PD bit of the PCON register is set, the processor enters the power-down mode. In this
mode all of the clocks are stopped, including the oscillator. The only way to exit power-down mode is
by a reset.
Reset
The external RESET signal is sampled at S5P2. To take effect, it must be held high for at least two
machine cycles while the oscillator is running.
An internal trigger circuit in the reset line is used to deglitch the reset line when the W78C58 is used
with an external RC network. The reset logic also has a special glitch removal circuit that ignores
glitches on the reset line.
During reset, the ports are initialized to FFH, the stack pointer to 07H, PCON (with the exception of
bit 4) to 00H, and all of the other SFR registers except SBUF to 00H. SBUF is not reset.
New Defined Peripheral
In order to be more suitable for I/O, an extra 4-bit bit-addressable port P4 and two external interrupt
INT2, INT3 has been added to either the PLCC or QFP 44 pin package. And description follows:
Publication Release Date: December 1997
- 5 -Revision A5
1. INT2 / INT3
INT2
W78C58
Two additional external interrupts,
interrupt 0 and 1 in the standard 80C52. The functions/status of these interrupts are
determined/shown by the bits in the XICON (External Interrupt Control) register. The XICON register
is bit-addressable but is not a standard register in the standard 80C52. Its address is at 0C0H. To
set/clear bits in the XICON register, one can use the "SETB (/CLR) bit" instruction. For example,
"SETB 0C2H" sets the EX2 bit of XICON.
Example:
P4REG0D8H
MOVP4, #0AH ; Output data "A" through P4.0−P4.3.
MOVA, P4; Read P4 status to Accumulator.
SETBP4.0; Set bit P4.0
CLRP4.1; Clear bit P4.1
2. PORT4
Another bit-address port P4 is also available and only 4 bits (P4<3:0>) can be used. This port address
is located at 0D8H with the same function as that of port P1,except the P4.3 and P4.2 are alternative
function pins. It can be used as general I/O pins or external interrupt input sources (INT2/INT3).
and INT3 , whose functions are similar to those of external
Reduce EMI Emission
Because of the large on-chip mask-ROM, when a program is running in internal ROM space, the ALE
will be unused. The transition of ALE will cause noise, so it can be turned off to reduce the EMI
emission if it is useless. Turning off the ALE signal transition only requires setting the bit 0 of the
AUXR SFR, which is located at 08Eh. When ALE is turned off, it will be reactivated when the program
accesses external ROM/RAM data or jumps to execute an external ROM code. The ALE signal will
turn off again after it has been completely accessed or the program returns to internal ROM code
space..
POF Flag
The Power-Off-Reset flag is set by on-chip circuitry when the VCC level rises from 0 to 5V. The POF
bit can be set/cleared by software allowing a user to determine if the reset is the result of a power-on
or a warm up by external reset. To avoid effect of POF flag, the power voltage must remain above
3V.
Timers 0, 1, and 2
Timers 0, 1, and 2 each consist of two 8-bit data registers. These are called TL0 and TH0 for Timer 0,
TL1 and TH1 for Timer 1, and TL2 and TH2 for Timer 2. The TCON and TMOD registers provide
control functions for timers 0, 1. The T2CON register provides control functions for Timer 2. RCAP2H
and RCAP2L are used as reload/capture registers for Timer 2.
The operations of Timer 0 and Timer 1 are the same as in the W78C51. Timer 2 is a special feature
of the W78C52C: it is a 16-bit timer/counter that is configured and controlled by the T2CON register.
Like Timers 0 and 1, Timer 2 can operate as either an external event counter or as an internal timer,
depending on the setting of bit C/T2 in T2CON. Timer 2 has three operating modes: capture, autoreload, and baud rate generator. The clock speed at capture or auto-reload mode is the same as that
of Timers 0 and 1.
- 6 -
W78C58
DESCRIPTIONS OF THE SPECIAL FUNCTION REGISTERS (SFRS)
SYMBOLDEFINITIONADDR. MSB BIT ADDRESS, SYMBOL LSBRESET