Winbond Electronics W78C801P-40, W78C801P-24, W78C801F-40, W78C801F-24, W78C801-40 Datasheet

...
W78C801
8-BIT MICROCONTROLLER
GENERAL DESCRIPTION
The W78C801 is an 8-bit microcontroller which can accommodate a wide frequency range with low power consumption. The instruction set for the W78C801 is fully compatible with the standard 8051. The W78C801 contains an 4K bytes Mask ROM; a 256 bytes RAM; four 8-bit bi-directional and bit­addressable I/O ports; an additional 6-bit I/O port P4; two 16-bit timer/counters; a hardware watchdog timer. These peripherals are supported by a twelve sources two-level interrupt capability. The W78C801 does not contain serial port.
The W78C801 microcontroller has two power reduction modes, idle mode and power-down mode, both of which are software selectable. The idle mode turns off the processor clock but allows for continued peripheral operation. The power-down mode stops the crystal oscillator for minimum power consumption. The external clock can be stopped at any time and in any state without affecting the processor.
FEATURES
Fully static design 8-bit CMOS microcontroller
DC-40 MHz operation
256 bytes of on-chip scratchpad RAM
4 KB Mask-ROM
64 KB program memory address space
64 KB data memory address space
Four 8-bit bi-directional ports
Two 16-bit timer/counters
Watchdog Timer
Direct LED drive outputs
Twelve sources, two-level interrupt capability
Wake-up via external interrupts at Port 1
EMI reduction mode
Built-in power management
Code protection mechanism
Packages:
DIP 40: W78C801-24/40
PLCC 44: W78C801P-24/40
PQFP 44: W78C801F-24/40
Publication Release Date: February 1999
- 1 - Revision A3
PIN CONFIGURATIONS
40-Pin DIP (W78C801)
INT2, P1.0
INT3, P1.1
INT4,P1.2 INT5,P1.3 INT6,P1.4 INT7,P1.5 INT8,P1.6 INT9,P1.7
RST
P3.0
P3.1 INT0, P3.2 INT1, P3.3
T0, P3.4 T1, P3.5
WR, P3.6
RD, P3.7
XTAL2 XTAL1
VSS
W78C801
VDD1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
P0.0, AD0 P0.1, AD1 P0.2, AD2 P0.3, AD3 P0.4, AD4 P0.5, AD5 P0.6, AD6 P0.7, AD7
EA ALE,P4.5
PSEN,P4.6 P2.7, A15
P2.6, A14 P2.5, A13 P2.4, A12 P2.3, A11 P2.2, A10 P2.1, A9 P2.0, A8
44-Pin PLCC (W78C801P)
I
I
I
N
N
N
T
T
T
4
6
5
,
,
,
P
P
P
1
1
1
.
.
.
2
3
4
6 5 4 3
RST
P3.0
P4.3
P3.1
7 8 9 10 11 12 13 14 15 16
17
X
P
P
T
3
3
A
.
.
L
7
6
2
,
,
/
/
R
W
D
R
INT7,P1.5 INT8,P1.6
INT9,P1.7
INT0, P3.2 INT1, P3.3
T0, P3.4 T1, P3.5
I
I
N
N
T
T
3
2
,
, P
P
P
1
1
4
.
.
.
0
1
2
2 1 44 43 42
X
V
P
S
T
4
A
S
.
L
0
1
44-Pin QFP (W78C801F)
I
I
I
I
I
N
N
N
N
A
A
A
A
D
D
D
D
3
1
2
0
,
,
,
,
P
P
P
P V D D
P 2 . 0 , A 8
0
0
0
0
.
.
.
.
3
2
1
0
40
41
P
P
P
2
2
2
.
.
.
3
2
1
,
,
,
A
A
A
1
1
9
1
0
P0.4, AD4
39 38
P0.5, AD5
37
P0.6, AD6
36
P0.7, AD7
35
EA
34
P4.1
33
ALE,P4.5
32
PSEN,P4.6
31
P2.7, A15
30
P2.6, A14
29
P2.5, A13
2827262524232221201918
P 2 . 4 , A 1 2
INT7,P1.5 INT8,P1.6 INT9,P1.7
P3.0
P3.1
INT0, P3.2
INT1, P3.3
T0, P3.4 T1, P3.5
RST
P4.3
1 2
3
4 5 6 7 8 9 10
11
T 6
,
P 1 . 4
P 3 . 6 , / W R
T
T
4
5
,
,
P
P
1
1
.
.
2
3
43 4241
X
P
T
3
A
.
L
7
2
, / R D
N
T
T
2
3
,
,
P
P
P
1
1
4
.
.
.
0
1
2
403938 37 36
X
V
P
S
T
4
A
S
.
L
0
1
V D D
P 2 . 0 , A 8
A
A
A
A
D
D
D
D
3
1
2
0
,
,
,
,
P
P
P
P
0
0
0
0
.
.
.
.
3
1
2
0
34
3544
P
P
P
2
2
2
.
.
.
3
2
1
,
,
,
A
A
A
1
1
9
1
0
P0.4, AD4
33 32
P0.5, AD5
31
P0.6, AD6
30
P0.7, AD7
29
EA
28
P4.1
27
ALE,P4.5
26
PSEN,P4.6
25
P2.7, A15
24
P2.6, A14
23
P2.5, A13
2221201918171615141312
P 2 . 4 , A 1 2
- 2 -
PIN DESCRIPTION
EA
PSEN
PSEN
PSEN
INT1
WR
RD
PSEN
SYMBOL DESCRIPTIONS
EXTERNAL ACCESS ENABLE: This pin forces the processor to execute out of
external ROM. It should be kept high to access internal ROM. The ROM address and data will not be presented on the bus if EA pin is high and the program counter is
within on-chip ROM area. Otherwise they will be presented on the bus.
W78C801
ALE
RST
XTAL1
XTAL2
VSS VDD
P0.0P0.7
P1.0P1.7
P2.0P2.7
P3.0P3.7
PROGRAM STORE ENABLE: address/ data bus during fetch and MOVC operations. When internal ROM access is
performed, no alternative function P4.6.
ADDRESS LATCH ENABLE: ALE is used to enable the address latch that separates the address from the data on Port 0. This pin also serves the alternative function P4.5
RESET: A high on this pin for two machine cycles while the oscillator is running resets the device.
CRYSTAL1: This is the crystal oscillator input. This pin may be driven by an external clock.
CRYSTAL2: This is the crystal oscillator output. It is the inversion of XTAL1. GROUND: Ground potential POWER SUPPLY: Supply voltage for operation. PORT 0: Port 0 is a bi-directional I/O port which also provides a multiplexed low order
address/data bus during accesses to external memory. The pins of Port 0 can be individually configured to open-drain or standard port with internal pull-ups.
PORT 1: Port 1 is a bi-directional I/O port with internal pull-ups. The bits have alternate functions which are described below:
INT2INT9(P1.0P1.7): External interrupt 2 to 9 PORT 2: Port 2 is a bi-directional I/O port with internal pull-ups. This port also provides
the upper address bits for accesses to external memory. PORT 3: Port 3 is a bi-directional I/O port with internal pull-ups. The pins P3.4 to P3.7
can be configured with high sink current which can drive LED displays directly. All bits have alternate functions, which are described below:
strobe signal outputs from this pin. This pin also serves the
enables the external ROM data onto the Port 0
P4.0P4.6
INT0 (P3.2) : External Interrupt 0
(P3.3) : External Interrupt 1 T0(P3.4) : Timer 0 External Input T1(P3.5) : Timer 1 External Input
(P3.6) : External Data Memory Write Strobe
(P3.7) : External Data Memory Read Strobe
PORT 4: A 6-bit bi-directional I/O port which is bit-addressable. Pins P4.0 to P4.3 are available on 44-pin PLCC/QFP package. Pins P4.5 and P4.6 are the alternative
function corresponding to ALE and
.
Publication Release Date: February 1999
- 3 - Revision A3
BLOCK DIAGRAM
W78C801
P1.0
P1.7
P3.0
P3.7
P4.0
P4.6
Port
1
Port
Port
Port 1
Latch
INT2~9
Interrupt
Timer
0
Timer
1
3
4
Port 3
Latch
Port 4
Latch
Oscillator
XTAL1
ACC
PSW
Instruction
Decoder
&
Sequencer
Bus & Clock
Controller
ALE
PSEN
ALU
SFR RAM
Address
256 bytes
RAM & SFR
Watchdog
Timer
Reset Block
B
Port 0
T2T1
Stack
Pointer
Latch
DPTR
Temp Reg.
PC
Incrementor
Addr. Reg.
Port 0
P0.0
P0.7
P2.0
Port 2 Latch
Port 2
P2.7
Power control
VssVCCRSTXTAL2
FUNCTIONAL DESCRIPTION
The W78C801 architecture consists of a core controller surrounded by various registers, five general purpose I/O ports, 256 bytes of RAM, two timer/counters. The processor supports 111 different opcodes and references both a 64K program address space and a 64K data storage space.
Timers 0, 1
Timers 0, 1 each consist of two 8-bit data registers. These are called TL0 and TH0 for Timer 0, TL1 and TH1 for Timer 1. The TCON and TMOD registers provide control functions for timers 0 and 1. The operations of Timer 0 and Timer 1 are the same as in the W78C51.
I/O Port Options
The Port 0 and Port 3 of W78C801 may be configured with different types by setting the bits of the Port Options Register POR that is located at 86H. The pins of Port 0 can be configured with either the open drain or standard port with internal pull-up. By the default, Port 0 is an open drain bi-directional I/O port. When the PUP bit in the POR register is set, the pins of Port 0 will perform a quasi-bi­directional I/O port with internal pull-up that is structurally the same as Port 2. The high nibble of Port
- 4 -
W78C801
INT1
3 (P3.4 to P3.7) can be selected to serve the direct LED displays drive outputs by setting the HDx bit in the PO register. When the HDx bit is set, the corresponding pin P3.x can sink about 20mA current for driving LED display directly. After reset, the POR register is cleared and the pins of Ports 0 and 3 are the same as those of the standard 80C31. The POR register is shown below.
Port Options Register
Bit: 7 6 5 4 3 2 1 0
EP6 EP5 - HD7 HD6 HD5 HD4 PUP
Mnemonic: POR Address: 86H PUP : Enable Port 0 weak pull-up. HD4-7: Enable pins P3.4 to P3.7 individually with High Drive outputs. EP5 : Enable P4.5. To set this bit shifts ALE pin to the alternate function P4.5.
EP6 : Enable P4.6. To set this bit shifts PSEN pin to the alternate function P4.6
Port 4
The W78C801 has one additional bit-addressable I/O port P4 in which the port address is D8H. The Port 4 contains seven bits; P4.0 to P4.3 are only available on 44-pin PLCC/QFP package; P4.5 and
P4.6 are the alternate function corresponding to pins ALE, PSEN. When program is running in the internal memory without any access to external memory, ALE and PSEN may be individually
configured to the alternate functions P4.5 and P4.6 that serve as general purpose I/O pins. To enable I/O port P4.5 and P4.6, the bits EP5 and EP6 in the POR register must be set. During reset, the ALE
and PSEN perform as in the standard 80C32. The alternate functions P4.5 and P4.6 must be enabled by software. Care must be taken with the ALE pins when configured as the alternate functions. The ALE will emit pulses until either the EP5 bit in POR register or AO bit in AUXR register is set to 1. i.e. User's applications should elude the ALE pulses before software configure it with I/O port P4.5.
Port 4
Bit: 7 6 5 4 3 2 1 0
- P4.6 P4.5 - P4.3 P4.2 P4.1 P4.0
Mnemonic: P4 Address: D8H
Interrupt System
The W78C801 has twelve interrupt sources: INT0 and vectors to a specific location in program memory for its interrupt service routine. Each of these sources can be individually enabled or disabled by setting or clearing the corresponding bit in Special Function Register IE0 and IE1. The individual interrupt priority level depends on the Interrupt Priority Register IP0 and IP1. Additional external interrupts INT2 to INT9 are level sensitive and may be used to awake the device from power down mode. The Port 1 interrupts can be initialized to either active HIGH or LOW via setting the Interrupt Polarity Register IX. The IRQ register contains the flags of Port 1 interrupts. Each flag in IRQ register will be set when an interrupt request is recognized but must be cleared by software. Note that the interrupt flags have to be cleared before the interrupt service routine is completed, or else another interrupt will be generated.
- 5 - Revision A3
; Timer 0,1; INT2 to INT9. Each interrupt
Publication Release Date: February 1999
Interrupt Enable Register 0
Bit: 7 6 5 4 3 2 1 0
EA - - - ET1 EX1 ET0 EX0
Mnemonic: IE Address: A8H
EA : Global enable. Enable/disable all interrupts. ET1: Enable Timer 1 interrupt EX1: Enable external interrupt 1 ET0: Enable Timer 0 interrupt EX0: Enable external interrupt 0
Interrupt Enable Register 1
Bit: 7 6 5 4 3 2 1 0
EX9 EX8 EX7 EX6 EX5 EX4 EX3 EX2
Mnemonic: IE1 Address: E8H
EX9: Enable external interrupt 9 EX8: Enable external interrupt 8 EX7: Enable external interrupt 7 EX6: Enable external interrupt 6 EX5: Enable external interrupt 5 EX4: Enable external interrupt 4 EX3: Enable external interrupt 3 EX2: Enable external interrupt 2
W78C801
Note: 0 = interrupt disabled, 1 = interrupt enabled.
Interrupt Priority Register 0
Bit: 7 6 5 4 3 2 1 0
- PS1 PT2 PS PT1 PX1 PT0 PX0
Mnemonic: IP0 Address: B8h
IP.7: Unused. PS1: This bit defines the Serial port 1 interrupt priority. PS = 1 sets it to higher priority level. PT2: This bit defines the Timer 2 interrupt priority. PT2 = 1 sets it to higher priority level. PS : This bit defines the Serial port 0 interrupt priority. PS = 1 sets it to higher priority level. PT1: This bit defines the Timer 1 interrupt priority. PT1 = 1 sets it to higher priority level. PX1: This bit defines the External interrupt 1 priority. PX1 = 1 sets it to higher priority level. PT0: This bit defines the Timer 0 interrupt priority. PT0 = 1 sets it to higher priority level. PX0: This bit defines the External interrupt 0 priority. PX0 = 1 sets it to higher priority level.
- 6 -
Loading...
+ 12 hidden pages