29.3Repairing soldered joints
30DEFINITIONS
31LIFE SUPPORT APPLICATIONS
32PURCHASE OF PHILIPS I2C COMPONENTS
P83Cx80; P87C380
(DACn; n = 0 to 3)
INTERFACE
interface
and sync separation
VERSION
CHARACTERISTICS
1997 Dec 122
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
1FEATURES
• 80C51 type core
• On-chip oscillator with a maximum frequency of 16 MHz
(maximum 0.75 µs instruction cycle)
• A DDC interface:
– That fully supports DDC1 with specific hardware
– That is DDC2B, DDC2B+, DDC2AB (ACCESS.bus)
compliant, based on a dedicated hardware I2C-bus
interface.
– Contains a specific AUX-RAM buffer with
programmable size (128 or 256 bytes) that can be
used for DDC operation and shared as system RAM
• Automatic mode detection by hardware to capture the
following information:
– HSYNC frequency with 12-bit resolution
– VSYNC frequency with 12-bit resolution
– HSYNC and VSYNC polarity
– HSYNC and VSYNC presence; needed for the VESA
Device Power Management Signalling (DPMS)
standard
The P83Cx80; P87C380 denotes the following types:
P83C880, P83C180, P83C280, P83C380 and P87C380,
hereafter referred to as the P83C880, are monitor
microcontrollers of the 80C51 family, with DDC (DDC1,
DDC2B, DDC2B+ and DDC2AB) interface to the PC host.
The internal hardware can separate composite sync
signals and detect the various display modes. The
digital/analog voltage outputs can be used to control the
video and deflection functions the monitor.
This data sheet details the specific properties of the
P83C880, P83C180, P83C280, P83C380 and P87C380.
The shared characteristics of the 80C51 family of
microcontrollers are described in
which should be read in conjunction with this data sheet.
(1)
“Data Handbook IC20”
TEMPERATURE
RANGE (°C)
,
Note
1. For emulation the package CLCC84 is used.
1997 Dec 124
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
4BLOCK DIAGRAM
8-bit
internal bus
P83C280
P83C380
P87C380
DDA
V
SSA
V
full pagewidth
(1)
SCL
(1)
SDA
(3)
ADC1
(3)
4
DAC0 to DAC3
SS
V
DD
V
C-BUS
2
SERIAL
I
SOFTWARE
ADC
4-BIT
DAC
4 × 8-BIT
DATA
MEMORY
512 BYTES
(4)
MEMORY
PROGRAM
I/O
RAM
P83C880
P83C180
(T2)
TIMER
WATCHDOG
PWM
14-BIT
PWM
10 × 8-BIT
DDC
INTERFACE
MODE
DETECTION
P83Cx80; P87C380
MGG021
RESET
internal reset
10
(1)
PWM10
;
(3)
(2)
PWM8 to PWM9
PWM0 to PWM7
(1)
SCL1
(1)
SDA1
in
in
(1)
VSYNC
in
HSYNC
CSYNC
(1)
out
(3)
(3)
HSYNC
PATOUT
CLAMP
(1)
out
VSYNC
Fig.1 Block diagram.
INT1INT1ADC0
XTAL1
CPU
(T0, T1)
TIMERS
TWO 16-BIT
XTAL2
core
80C51
excluding
ROM/RAM
1997 Dec 125
INT0
&
PARALLEL
I/O PORTS
EXTERNAL BUS
4
P3P2P1P0
(1) Alternative function of Port 1.
(2) Alternative function of Port 2.
(3) Alternative function of Port 3.
(4) ROM: 8 kbytes (P83C880); 16 kbytes (P83C180); 24 kbytes (P83C280); 32 kbytes (P83C380). EPROM: 16 kbytes only in the P87C180A.
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
5.2Pin description
Table 2 Pin description for SDIP42 (SOT270-1)
SYMBOLPINDESCRIPTION
PWM9/PATOUT/P3.141PWM9 to PWM0: 8-bit Pulse Width Modulation outputs 9 to 0. Pin 41 and 42 can
PWM8/CLAMP/P3.042
PWM7/P2.71
PWM6/P2.62
PWM5/P2.53
PWM4/P2.44
PWM3/P2.35
PWM2/P2.26
PWM1/P2.17
PWM0/P2.08
XTAL19Oscillator input pin for system clock.
XTAL210Oscillator output pin for system clock.
V
DD
V
SS
HSYNC
HSYNC
CSYNC
VSYNC
VSYNC
/PROG13Horizontal sync input pin. During OTP programming it is used as the program pulse
in
/P1.514Horizontal sync output pin; alternative function: general I/O port P1.5.
out
/P1.615Composite sync input pin; alternative function: general I/O port P1.6.
in
/OE16Vertical sync input pin. During OTP programming it is used as output strobe (OE).
in
/P1.417Vertical sync output pin; alternative function: general I/O port P1.4.
out
P0.7 to P0.018 to 25 Port 0: general I/O ports; capability to drive LED.
RESET26Reset input; active HIGH initializes the device.
DAC0 to DAC327 to 30 8-bit DAC analog voltage output pins; output range: 0 to 5 V.
V
SSA
V
DDA
ADC0/P3.233ADC analog input pins; alternative function: general I/O ports P3.2 and P3.3.
ADC1/P3.334
INT1/V
PP
SDA1/P1.336I
SCL1/P1.237I
SDA/P1.138I
SCL/P1.039I
PWM10/P1.74014-bit Pulse Width Modulation output 10; alternative function: general I/O port P1.7.
also be used as the output pin of the test pattern display PATOUT and clamping out
signal CLAMP respectively; PATOUT and CLAMP always have the higher priority.
Alternative function general I/O ports; Port 3: P3.1 to P3.0 and
Port 2: P2.7 to P2.0.
11Digital power supply (+5 V).
12Digital ground.
input (PROG).
31Analog ground for DAC and ADC.
32Analog power supply (+5 V) for DAC and ADC.
35External interrupt input pin. During OTP programming it is used as programming
supply voltage pin; VPP= 12.75 V.
2
C-bus serial data I/O port for the DDC2 interface; alternative function: general I/O
port P1.3.
2
C-bus serial clock I/O port for the DDC2 interface; alternative function: general I/O
port P1.2.
2
C-bus serial data I/O port; alternative function: general I/O port P1.1.
2
C-bus serial clock I/O port; alternative function: general I/O port P1.0.
1997 Dec 127
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
6FUNCTIONAL DESCRIPTION
This chapter gives a brief overview of the device.
Detailed functional descriptions are given in the following
chapters:
The P83C880, P83C180, P83C280, P83C380 and
P87C380 8-bit microcontrollers are manufactured in an
advanced CMOS process and are derivatives of the
80C51 microcontroller family. They have the same
instruction set as the 80C51.
They contain 512 bytes of data memory (RAM). ROM:
8 kbytes (P83C880); 16 kbytes (P83C180); 24 kbytes
(P83C280); 32 kbytes (P83C380) and 16 kbytes of
EPROM for the P87C180. The microcontrollers are
intended for use in monitors ranging from 14" to 21" that
can be controlled from the outside (e.g. by a PC) via the
external DDC interface.
In addition to the 80C51 standard functions, they provide a
number of dedicated hardware functions for monitor
application. Eight general I/O ports plus 20 functions
combined I/O ports cater for application requirements
adequately.
Ten sets of 8-bit PWM deliver the digital waveform for
analog control purposes. One 14-bit PWM can support
F to V application. The keyboard interface is achieved via
a 4-bit ADC. A Watchdog Timer with a maximum count
period of 5 s prevents the processor running out of control
due to malfunction. Four channels of linear DAC with 8-bit
resolution support more accurate analog controls.
One software I
connection. A DDC interface will cover all DDC protocols,
including DDC1, DDC2B, DDC2AB and DDC2B+.
A hardware mode detector will facilitate mode detection
even in power reduced modes, e.g. Idle mode.
The versatile HSYNC and VSYNC outputs can be
generated to serve the desired application. In the free
running mode, two display patterns can highlight the status
of the monitor. Accordingly, the following items will be
supported by these microcontrollers:
• Mode detection for:
• ACCESS.bus interfacing with external devices, e.g. PCs
• DDC1, DDC2B, DDC2AB and DDC2B+ protocols as
• Device Power Management Signalling (DPMS) as
Figure 1 shows the block diagram functions.
P83Cx80; P87C380
2
C-bus interface is dedicated for the internal
– Horizontal sync (HSYNC) frequencies from below
15 kHz up to 150 kHz
– Vertical sync (VSYNC) frequencies from below 40 Hz
up to 200 Hz
defined in the VESA DDC standard
described in VESA DPMS proposal.
1997 Dec 128
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
P83Cx80; P87C380
interface, auto-sync detection and sync proc.
7MEMORY ORGANIZATION
The Central Processing Unit (CPU) manipulates operands in two memory spaces. There are 512 bytes of internal data
memory, consisting of 256 bytes standard RAM and 256 bytes RAM buffer which is accessible as the Auxiliary RAM
(AUX-RAM) or addressed through DDCADR and RAMBUF. The memory map and address spaces are shown in Fig.3.
INDIRECT
ONLY
INDIRECT
overlapped space
SPECIAL
FUNCTION
REGISTERS
internal data memory area
255
AUX-RAM
BUFFER
INDIRECT
ONLY
0
MGG028
ndbook, full pagewidth
32767
24575
16383
8191
(1) P83C380 and P87C380.
(2) P83C280.
(3) P380C180.
(4) P83C880.
(1)
(2)
(3)
(4)
INTERNAL
0
program memory area
255
127
DIRECT AND
0
Fig.3 Memory map and address spaces.
7.1Program memory
The program memory consists of ROM: 8 kbytes (P83C880), 16 kbytes (P83C180), 24 kbytes (P83C280) and 32 kbytes
(P83C380). The program memory implemented in the P87C380 is a 16 kbytes EPROM (OTP).
7.2Internal data memory
The internal data memory is divided into three physically separated parts: 256 bytes of RAM, 256 bytes of AUX-RAM,
and a 128 bytes Special Function Registers (SFRs) area. These can be addressed each in a different way as described
in Sections 7.2.1 to 7.2.3 and Table 3.
Table 3 Internal data memory map
ADDRESS MODE
MEMORYLOCATION
POINTERS
DIRECTINDIRECT
RAM0 to 127
128 to 255
AUX-RAM 0 to 255−X
(1)
(2)
XXaddress pointers are R0 and R1 of the selected register bank
−X
(3)
address pointer DDCADR and RAMBUF
SFRs128 to 255X−−
Notes
1. RAM locations 0 to 127 can be addressed directly and indirectly as in the 80C51.
2. RAM locations 128 to 255 can only be addressed indirectly.
1997 Dec 129
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
3. Indirect-addressable via MOVX-Datapointer or
MOVX-Ri instructions.
7.2.1RAM
Four register banks, each 8 registers wide, occupy
locations 0 through 31 in the lower RAM area. Only one of
these banks may be enabled at a time. The next 16 bytes,
locations 32 through 47, contain 128 directly addressable
bit locations. The stack can be located anywhere in the
internal 256 bytes RAM. The stack depth is only limited by
the available internal RAM space of 256 bytes (see Fig.4).
7.2.2S
The SFRs can only be addressed directly in the address
range from 128 to 255 (see Fig.3). Figure 5 gives an
overview of the Special Function Registers space. Sixteen
address in the SFRs space are both byte and
bit-addressable. The bit-addressable SFRs are those
whose address ends in 0H and FH. The bit addresses in
this area are 80H to FFH
7.2.3AUX-RAM
AUX-RAM buffer 0 to 255 is indirectly addressable as
external data memory locations 0 to 255 via
MOVX-Datapointer instruction or via MOVX-Ri instruction.
Since the external access function is not available, any
access to AUX-RAM 0 to 255 will not affect the ports.
The 256 bytes of AUX-RAM buffer used to support DDC
interface is also available for system usage by indirect
addressing through the address pointer DDCADR and
data I/O buffer RAMBUF. The address pointer (DDCADR)
is equipped with the post increment capability to facilitate
the transfer of data in bulk (for details refer to Chapter 17).
However, it is also possible to address the AUX-RAM
buffer through MOVX command as usually used in the
internal RAM extension of 80C51 derivatives.
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
handbook, full pagewidth
BYTE ADDRESS
(HEX)
FFH
F8H
F0HF6F5F4F3F2F1F0
E8HEEEDECEBEAE9E8
E0HE6E5E4E3E2E1E0
D8H
(MSB)(LSB)
FF
FEFDFCFBFAF9F8
F7
EF
E7
DF
DEDDDCDBDAD9D8
BIT ADDRESS
(HEX)
P83Cx80; P87C380
BYTE ADDRESS
(DECIMAL)
255
MDCST
B
PWME2
ACC
S1CON
D0H
C8H
C0HC6C5C4C3C2C1C0
B8HBEBDBCBBBAB9B8
B0HB6B5B4B3B2B1B0
A8HAEADACABAAA9A8
A0HA6A5A4A3A2A1A0
98H9E9D9C9B9A9998
90H96959493929190
88H8E8D8C8B8A8988
80H86858483828180
D7D6D5D4D3D2D1D0
CFCECDCCCBCAC9C8
C7
BF
B7
AF
A7
9F
97
8F
87
MGG029
PSW
PWME1
DFCON
IP0
P3
IEN0
P2
not used
P1
TCON
P0
Fig.5 Special Function Registers bit addresses.
1997 Dec 1211
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
P83Cx80; P87C380
interface, auto-sync detection and sync proc.
7.3Additional Special Function Registers
The standard SFRs as used in 80C51 and the SFRs for some typical derivative functions like I2C-bus interface, Timer,
etc. are described in the
chapters. Some SFRs which are not mentioned or not dedicated to a certain function will be described in the following
sections.
All new additional SFRs used in the P83C880 are listed in Table 4. However, only some of them will be explained in detail
in Sections 7.3.1 to 7.3.7.
Table 4 Overview of additional SFRs
REGISTERDESCRIPTIONADDRESSRESET VALUE
RAMBUFRAM Buffer I/O Interface Register9CHXXXXXXXXB
DDCCONDDC Control Register9DHX00X0000UBBUBBBB
DDCADRDDC Address Pointer9EH00000000B
DDCDATData Shift Register for DDC19FH00000000B
DFCONMiscellaneous Control RegisterC0H10000000B
ADCDATADC Control RegisterC1HXX000000UUBBBBBR
PWM10HPWM High-byte Data LatchC6H00000000B
PWM10LPWM Low-byte Data LatchC7H10000000B
S1CONControl Register for DDC2D8H00000000B
S1STAStatus Register for DDC2D9H11111000R
S1DATData Shift Register for DDC2DAH00000000B
S1ADRAddress Register for DDC2DBH00000000B
PWME1PWM Output Control Register 1C8H00000000B
PWME2PWM Output Control Register 2E8H00000000B
PWM0 to PWM9Data Latches for 8-bit PWMsC9H to CFH,
DAC0 to DAC38-bit Data Latches for 8-bit DACsE9H to ECH00000000B
HFPFree run Control Register for HSYNC
HFPOPWFree run and Pulse width for HSYNC
MDCSTMode Detect Control and Status RegisterF8H1X000000BUBBRRRR
VFPFree run Control Register for VSYNC
VFPOPWFree run and Pulse width for VSYNC
PULCNTPulse Generation Control RegisterFBH00000000B
HFHIGHHorizontal Period Counting High-byte
VFHIGHVertical Period Counting High-byte RegisterFDH00000000R
VFLHFLVertical and Horizontal Period Counting
T2Watchdog Timer Data RegisterFFH00000000B
“Data Handbook IC20”
Register
Low-nibbles Register
. The specific SFRs for the P83C880 are introduced in the relevant
(1)
READ/WRITE
o
00000000B
EDH to EFH
out
out
out
out
F6H01100000B
F7H00011111B
F9H01000000B
FAHXX000101B
FCH00000000R
FEH00000000R
o
o
o
(2)
O
Notes
1. X = don’t care; even if it’s implemented.
2. B = both read/write and R
= read only; accessible for the entire byte or an individual bit. U = not implemented.
o
1997 Dec 1212
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
P83Cx80; P87C380
interface, auto-sync detection and sync proc.
7.3.1RAM BUFFER I/O INTERFACE REGISTER (RAMBUF)
RAMBUF is used as an I/O interface to the RAM buffer. If it is associated with the address pointer DDCADR which is
equipped with the capability of post increment, then it will be convenient to transfer the consecutive data stream. This
feature is useful to support the DDC/EDID data transfer.
7 to 0RAMBUF.7 to RAMBUF.08-bit data which is read from or to be written into RAM buffer
7.3.2M
This register is bit-addressable.
Table 7 Miscellaneous Control Register (SFR address C0H)
ISCELLANEOUS CONTROL REGISTER (DFCON)
76543210
EW2SOGESYNCEDDCES1EADCEP14LVLP8LVL
Table 8 Description of DFCON bits
BITSYMBOLDESCRIPTION
7EW2Watchdog Timer enable flag. This flag is associated with the flags, EW1 (SFR
PWM10H) and EW0 in (SFR PWM10L) to form the enable/disable control key for the
Watchdog Timer (see Chapter 9). The Watchdog Timer is only disabled by
EW2 to EW0 = 101, else it is kept enabled for the rest of the combinations.
6SOGECSYNC
enable for pin CSYNCin/P1.6. If SOGE = 1, the pin function is CSYNCin. If
in
SOGE = 0, the pin function is I/O port P1.6.
5SYNCESync separated signals output enable for pins VSYNC
If SYNCE = 1, the pins function as VSYNC
and HSYNC
out
/P1.4 and HSYNC
out
respectively.
out
out
If SYNCE = 0, the pins function as I/O ports P1.4 and P1.5 respectively.
4DDCEEnable for DDC interface pins SCL1/P1.2 and SDA1/P1.3. If DDCE = 1, the pins
function as SCL1 and SDA1 respectively for the DDC interface. If DDCE = 0, the pins
function as I/O ports P1.2 and P1.3 respectively.
3S1EEnable for I
2
C-bus interface pins SCL/P1.0 and SDA/P1.1. If S1E = 1, the pins
function as SCL and SDA respectively for the I2C-bus interface. If S1E = 0, the pins
function as I/O ports P1.0 and P1.1 respectively.
/P1.5.
1997 Dec 1213
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
P83Cx80; P87C380
interface, auto-sync detection and sync proc.
BITSYMBOLDESCRIPTION
2ADCEADC channel enable. This flag enables the ADC function and also switches the pins
ADC0/P3.2 and ADC1/P3.3 to the ADC inputs function. If ADCE = 1, the ADC function
is enabled and the pin functions are ADC0 and ADC1 respectively. If ADCE = 0, the
ADC function is disabled and the pin functions are I/O ports P3.2 and P3.3 respectively.
1P14LVLPolarity selection bit for the PWM10 output (14-bit PWM). If P14LVL = 1, PWM10
output is inverted. If P14LVL = 0, PWM10 output is not inverted.
0P8LVLPolarity selection bit for the PWM0 to PMM9 outputs (8-bit PWM). If P8LVL = 1,
PWM0 to PWM9 outputs are inverted. If P8LVL= 0, PWM0 to PWM9 outputs are not
inverted.
7.3.3ADC CONTROL REGISTER (ADCDAT)
Table 9 ADC Control Register (SFR address C1H)
76543210
−−DACHLDAC3DAC2DAC1DAC0COMP
Table 10 Description of ADCDAT bits
BITSYMBOLDESCRIPTION
7 to 6−Reserved.
5DACHLADC input channels selection. If DACHL = 1, then input channel
ADC1 is selected. If DACHL = 0, then input channel ADC0 is selected.
4 to 1DAC3 to DAC0Reference voltage level selection. The 4 bits select the analog output
voltage (V
0COMPComparison result; read only. If COMP = 1, then the ADC input
voltage is higher than the reference voltage. If COMP = 0, then the ADC
input voltage is lower than the reference voltage.
7.3.414-
Table 11 PWM High-byte Data Latch (PWM10H; SFR address C6H)
PWM outputs enable; n=7to0. If PWME1.n = 1, the corresponding PWM is enabled
and pins PWMn/P2.n are switched to PWMn outputs. If PWME1.n = 0, the
corresponding PWM is disabled and pins PWMn/P2.n are switched to I/O ports P2.n
function.
1997 Dec 1215
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
P83Cx80; P87C380
interface, auto-sync detection and sync proc.
7.3.6PWM OUTPUT CONTROL REGISTER 2 (PWME2)
Table 17 PWM Output Control Register 2 (SFR address E8H)
76543210
PATENADACE3DACE2DACE1DACE0PWME2.2PWME2.1PWME2.0
Table 18 Description of PWME2 bits
BITSYMBOLDESCRIPTION
7PATENAPATOUT (pattern output) enable. If PATENA = 1, the pin
PWM9/PATOUT/P3.1 is switched to the PATOUT (display test pattern)
output. If PATENA = 0, the PATOUT function is disabled. The PATOUT
function always overrides other alternative functions such as PWM9 and
P3.1.
6 to 3DACE3 to DACE0DAC outputs enable (n=3to0). If DACEn = 1, the corresponding
DACs: DAC3 to DAC0 are enabled. If DACEn = 0, the corresponding
DACs: DAC3 to DAC0 are disabled.
2 to 0PWME2.2 to PWME2.0PWM outputs enable; n = 2 to 0. If PWME2.n = 1, the corresponding
PWMs: PWM8, PWM9 and PWM10, are enabled by PWME2.2,
PWME2.1 and PWME2.0 respectively and pins PWM8/CLAMP/P3.0,
PWM9/PATOUT/P3.1 and PWM10/P1.7 are switched to PWM output. If
PWME2.n = 0, the corresponding PWM is disabled. Pins
PWM8/CLAMP/P3.0, PWM9/PATOUT/P3.1 and PWM10/P1.7 are
switched to I/O port functions P3.0, P3.1 and P1.7 respectively.
7.3.7D
Table 19 Data Latches for 8-bit PWMs (n = 0 to 9; SFR address C9H to CFH and EDH to EFH)
PWMn.7PWMn.6PWMn.5PWMn.4PWMn.3PWMn.2PWMn.1PWMn.0
Table 20 Description of PWM0 to PWM9 bits
ATA LATCHES FOR 8-BIT PWMS (PWM0 TO PWM9)
76543210
BITSYMBOLDESCRIPTION
7 to 0PWMn.7 to PWMn.08-bit data for PWM channel n (n = 0 to 9)
1997 Dec 1216
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
8INTERRUPTS
The P83C880 has 5 interrupt sources; these are shown in
Fig.6.
Interrupt INT1 is generated as in a normal 80C51 device.
By means of IT1 in SFR TCON this interrupt can be
selected to be:
• Level sensitive, when IT1 = LOW; INT1 must be inactive
before a return from interrupt instruction (RETI) is given,
otherwise the same interrupt will occur again.
• Edge sensitive, when IT1 = HIGH; the internal hardware
will reset the latch when the LCALL instruction is
executed for the vector address (see Table 21).
Interrupt
detector. Interrupt INT0 is selected as edge or level
sensitive by the state of the IT0 bit in the SFR TCON.
However, it is recommended to always set IT0 to HIGH
(edge sensitive) so that IE0 will be reset by the internal
hardware when the LCALL instruction is executed for the
vector address.
Timer 0 and Timer 1 interrupts are generated by TF0 and
TF1 which are set by an overflow of their respective
Timer/Counter registers (except for Timer 0 in Mode 3;
see
Timer/Counters”
interrupt flag is cleared by the internal hardware when the
LCALL instruction is executed for the vector address.
The DDC interrupt is generated either by bit SI (SFR
S1CON) for DDC2B/DDC2AB/DDC2B+ protocols or by bit
DDC_int (SFR DDCCON) or by bit SWHINT (SFR
DDCCON). These flags must be cleared by software.
All bits that generate interrupts can be set or cleared by
software, with the same result as though it had been set or
cleared by hardware. That is, interrupts can be generated
or pending interrupts can be cancelled in software.
INT0 is generated by the mode change of mode
“Data Handbook IC20; 80C51 Family; Chapter
). When a timer interrupt is generated, the
Each of these interrupts sources can be individually
enabled or disabled by setting or clearing the bit in Special
Function Register IE (see Table 23). IE also contains a
global disable bit EA, which disables all interrupts at once.
8.1Priority level structure
The priority level of each interrupt source can be
individually programmed by setting or clearing a bit in
Special Function Register IP (see Table 25). A low priority
interrupt can itself be interrupted by a high priority
interrupt, but not by another low priority interrupt. A high
priority interrupt can not be interrupted by another interrupt
source.
If two requests of different priority levels are received
simultaneously, the request of higher priority level is
serviced. If request of the same priority level is received
simultaneously, an internal polling sequence determines
which request is serviced. Thus within each priority level
there is a second priority structure determined as shown in
Table 21. The IP register contains a number of reserved
(in 80C51) bits: IP.7, IP.6 and IP.4. User software should
not write logic 1s to these positions, since they may be
used in other 80C51 family products.
Table 21 Priority within levels
Note
1. The ‘Priority within level’ structure is only used to
P83Cx80; P87C380
SOURCEPRIORITY WITHIN LEVEL
IE0′1 (highest)
SI2
TF03
IE1′4
TF15 (lowest)
resolve simultaneous requests of the same priority
level.
(1)
1997 Dec 1217
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
handbook, full pagewidth
mode change interrupt
SWITCH interrupt
DDC1 interrupt
DDC2 (DDC2B/DDC2AB/DDC2B+) interrupt
Timer 0 overflow
CHREQ
INT0
'0'
IT0
'1'
IE0
SWH INT
DDC INT
S12
TF0
P83Cx80; P87C380
MUX
IE0´
SI
interrupt
sources
TF0
external interrupt INT1
Timer 1 overflow
'0'
INT1
IT1
'1'
Fig.6 Interrupt sources.
TF1
IE1
MUX
IE1´
TF1
MGG024
1997 Dec 1218
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
8.2How interrupts are handled
The interrupt flags are sampled at the S5P2 state of every
machine cycle. The samples are polled during the
following machine cycle. If one of the flags was in a set
condition at S5P2 of the preceding cycle, the polling cycle
will find it and the interrupt system will generate an LCALL
to the appropriate service routine, provided this hardware
generated LCALL is not blocked by any of the following
conditions:
1. An interrupt of equal priority or higher priority level is
already in progress.
2. The current (polling) cycle is not the final cycle in the
execution of the instruction in progress.
3. The instruction in progress is RETI or any write to the
IE or IP registers.
Any of these conditions will block the generation of the
LCALL to the interrupt service routine. Condition 2
ensures that the instruction in progress will be completed
before vectoring to any service routine.
Condition 3 ensures that if the instruction in progress is
RETI or any access to IE or IP, then at least one more
instruction will be executed before the interrupt is vectored
to.The polling cycle is repeated with each machine cycle,
and the values polled are the values that were present at
S5P2 of the previous machine cycle. Note that if an
interrupt flag is active but not being responded to for one
of the above mentioned conditions, and if the flag is still
inactive when the blocking condition is removed, then the
denied interrupt will not be serviced. In other words, the
fact that the interrupt flag was once active but not serviced
is not remembered. Every polling cycle is new.
The polling cycle/LCALL sequence is illustrated in
accordance with the above rules it will be vectored to
during C5 and C6, without any instruction of the lower
priority routine having been executed. Thus the processor
acknowledges an interrupt request by executing a
hardware generated LCALL to the appropriate servicing
routine. The hardware generated LCALL pushes the
contents of the Program Counter on to the stack (but it
does not save the PSW) and reloads the PC with an
address that depends on the source of the interrupt being
vectored to as shown in Table 22.
Execution proceeds from that location until the RETI
instruction is encountered. The RETI instruction informs
the processor that the interrupt routine is no longer in
progress, then pops the top two bytes from the stack and
reloads the Program Counter. Execution of the interrupted
program continues from where it left off.
Note that a simple RET instruction would also return
execution to the interrupted program, but it would have left
the interrupt control system thinking an interrupt was still in
progress, making future interrupts impossible.
7EADisable all interrupts. If EA = 0, then no interrupt will be acknowledged. If EA = 1, then
each interrupt source is individually enabled or disabled by setting or clearing its enable
bit.
6−Reserved.
5ES1Enable DDC interface interrupt. If ES1 = 1, then DDC interface interrupt is enabled.
If ES1 = 0, then DDC interface interrupt is disabled.
4−Reserved.
3ET1Enable Timer 1 overflow interrupt. If ET1 = 1, then the Timer 1 interrupt is enabled.
If ET1 = 0, then the Timer 1 interrupt is disabled.
2EX1Enable external interrupt 1. If EX1 = 1 then the External 1 interrupt is enabled.
If EX1 = 0 then the External 1 interrupt is disabled.
1ET0Enable Timer 0 overflow interrupt. If ET0 = 1 then the Timer 0 interrupt is enabled.
If ET0 = 0 then the Timer 0 interrupt is disabled.
0EX0Enable mode change. If EX0 = 1 then the mode change interrupt is enabled.
If EX0 = 0 then the mode change interrupt is disabled.
5PS1DDC interface Interrupt priority level. When PS1 = 1, DDC interface Interrupt is
assigned a high priority level.
4−Reserved.
3PT1Timer 1 overflow interrupt priority level. When PT1 = 1, Timer 1 Overflow Interrupt is
assigned a high priority level.
2PX1External interrupt 1 priority level. When PX1 = 1, External Interrupt 1 priority is
assigned a high priority level.
1PT0Timer 0 overflow interrupt priority level. When PT0 = 1, Timer 0 Overflow Interrupt is
assigned a high priority level.
0PX0Mode change interrupt priority level. When PX0 = 1, Mode change Interrupt is
assigned a high priority level.
1997 Dec 1220
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
9WATCHDOG TIMER
In addition to the standard timers, a Watchdog Timer
consisting of an 10-bit prescaler and an 8-bit timer is also
incorporated. The timer is increased every 19.5 ms for an
oscillator frequency of 16 MHz; this is derived from the
oscillator frequency (f
f
f
timer
=
clk
----------------------------304 1024×
) by the formula:
clk
When a timer overflow occurs, the microcontroller is reset.
To prevent a system reset, the timer must be reloaded
before an overflows occurs, by the application software.
If the processor suffers a hardware/software malfunction,
the software will fail to reload the timer. This failure will
produce a reset upon overflow thus preventing the
processor running out of control.
The Watchdog Timer can only be reloaded if the condition
flag WLE (PCON.4) has been previously set by software.
At the moment the counter is loaded the condition flag is
automatically cleared.
In the Idle mode the Watchdog Timer and reset circuitry
remain active.
The time interval between timer reloading and the
occurrence of a reset, depends on the reloaded value.
The Watchdog Timer’s time interval is:
tt
Where T2 = decimal value of the T2 register contents and
t
1
and t1=19µs (f
For example, this may range from 19.5 ms to 5.0 s when
using an oscillator frequency of 16 MHz.
Table 27 lists the resolution and the maximum time interval
of the Watchdog Timer using different system clocks.
The Watchdog Timer is controlled by the Watchdog control
bits:
• EW2; DFCON.7 (SFR address C0H)
• EW1; PWM10H.7 (SFR address C6H)
• EW0; PWM10L.7 (SFR address C6H).
Only when EW2 to EW0 = 101 the Watchdog Timer is
disabled and allows the Power-down mode to be enabled.
The rest of pattern combinations will keep the Watchdog
Timer enabled and disable the Power-down mode.
This security key with multiple flags split in two SFRs will
prevent the Watchdog Timer from being terminated
abnormally when the function of the Watchdog Timer is
needed.
1024
×=
-----------------------------
1
256 T2–()
= 15.2 µs (f
P83Cx80; P87C380
= 10 MHz); t1= 12.7 µs (f
clk
= 16 MHz).
clk
= 12 MHz)
clk
Table 27 Resolution and the maximum time interval of the WDT
f
clk
(MHz)
PRESCALER FACTOR
RESOLUTION
1015215.564.0
1212.973.3
1630419.465.0
(ms)
MAXIMUM TIME INTERVAL
(s)
1997 Dec 1221
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
10 INPUT/OUTPUT (I/O)
The P83C880 has three 8-bit ports. Ports 0 to 2 are the
same as in the 80C51, with the exception of the additional
functions of Port 1 and Port 2. Port 3 only contains 4 bits.
Port 3 also has alternative functions.
All ports are bidirectional. Pins of which the alternative
function is not used may be used as normal bidirectional
I/Os.
The use of Port 1, Port 2 and Port 3 pins as an alternative
function is carried out automatically by the P83C880
provided the associated Special Function Register bit is
set HIGH.
The quasi-bidirectional type of port is applied for Port 1,
Port 2 and Port 3. Port 0 is an open-drain I/O port with the
capability to drive LED. However, for any port with an
alternative function, while the alternative function is
performed, the port type will be switched to the appropriate
type against a specific function. The port types:
quasi-bidirectional, pull-up and open-drain are shown in
Figs 7, 8 and 9 respectively.
10.1The alternative functions for Port 0, Port 1,
Port 2 and Port 3
Port 0 Provides the low-order address in
programming/verify mode for the P87C380.
Port 1 Used for a number of special functions:
• 2 I/O pins for I
2
C-bus interface: SCL/P1.0 and
SDA/P1.1. The port type in this situation is set as
open-drain.
• 2 I/O pins for DDC interface: SCL1/P1.2 and
SDA1/P1.3. The port type in this situation is set
as open-drain.
• 2 I/O pins for the outputs of sync separation:
VSYNC
/P1.4 and HSYNC
out
/P1.5. The port
out
type in this situation is set as push-pull.
• One pin for the composite sync input of sync on
green mode: CSYNCin/P1.6. There is no pull-up
protection diode for this input pin.
• One pin for the 14-bit PWM output:
PWM10/P1.7. As PWM function, the port type is
open-drain.
Port 2 Two alternative functions are provided:
Port 3 Two alternative functions are provided:
10.2EMI (Electromagnetic Interference) reduction
In order to reduce EMI (Electromagnetic Interference) the
following design measures have been taken:
• Slope control is implemented on all the I/O lines with
• Placing the VDD and VSS pins next to each other
• Double bonding of the VDD and VSS pins,
• Limiting the drive capability of clock drivers and
• Applying slew rate controlled output drivers
• Internal decoupling of the supply of the CPU core.
P83Cx80; P87C380
• High-order address in Programming/Verify mode
for P87C380.
• 8 channels of PWM outputs:
PWM0/P2.0 to P2.7/PWM7. The port type in this
situation is set as open-drain.
• Two channels of PWM output:
PWM8/CLAMP/P3.0 and PWM9/PATOUT/P3.1.
The port type in this situation is set as
open-drain. PATOUT and CLAMP functions
always override PWM or port function even if
they are enabled. For the PATOUT (pattern
output) and CLAMP (clamping output)
application, the port type is defined as push-pull.
• Two pins for the software ADC input: ADC0/P3.2
and ADC1/P3.3. They are analog inputs.
alternative functions of the PWM, I2C-bus and DDC
interface. For port pins P1.4 and P1.5, since the
alternative functions VSYNC
incorporated, the driving capability is made as small as
possible to reduce radiation and the slope control
function is disabled to have a sharp output. Rise and fall
time (10% to 90%) for slope control are:
t
< rise/fall time < t
rf(min)
rf(max)
Refer to Chapter 27 for the detailed figures.
i.e. 2 bondpads for each pin
prechargers
and HSYNC
out
.
out
are
1997 Dec 1222
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
handbook, full pagewidth
from port latch
read port pin
handbook, full pagewidth
input data
2 oscillator
periods
Q
Fig.7 Standard output with quasi-bidirectional port.
2 oscillator
'1'
periods
strong pull-up
INPUT
BUFFER
strong pull-up
p1
n
p1
P83Cx80; P87C380
V
DD
p2
p3
I/O PIN
I1
MGG025
V
DD
p2
p3
from port latch
read port pin
handbook, full pagewidth
from port latch
read port pin
input data
input data
I/O PIN
Q
INPUT
BUFFER
n
I1
MGG026
Fig.8 Standard output with the pull-up current source.
strong pull-up
2 oscillator
'0'
Q
periods
INPUT
BUFFER
p1
n
p2
I1
V
DD
I/O PIN
MGG027
Fig.9 Standard output with the open-drain port.
1997 Dec 1223
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
11 REDUCED POWER MODES
Two software selectable modes of reduced power
consumption are implemented. These are the Idle mode
and the Power-down mode.
11.1Power Control Register (PCON)
The Idle mode and Power-down mode are activated by
software via the Power Control Register (SFR PCON).
Its hardware address is 87H. PCON is not bit addressable.
The reset value of PCON is 00H.
11.2Idle mode
Idle mode operation permits the interrupts, I
interface, DDC interface, mode detection and timer blocks
T0, T1 and T2 (Watchdog Timer) to function while the CPU
is halted. The following functions are switched off when the
microcontroller enters the Idle mode:
• CPU (halted)
• PWM0 to PWM10 (reset, output = HIGH)
• 4-bit ADC (aborted if conversion is in progress)
• DAC0 to DAC3 (output = indeterminate or frozen at the
final value prior to the Idle instruction; decided by
software).
The following functions remain active during Idle mode;
these functions may generate an interrupt or reset and
thus terminate the Idle mode:
• Timer 0, Timer 1 and Timer 2 (Watchdog Timer)
• The DDC interface
• External interrupt
• Mode detection.
The instruction that sets PCON.0 is the last instruction
executed in the normal operating mode before Idle mode
is activated. Once in the Idle mode, the CPU status is
preserved in its entirety: the Stack Pointer, Program
Counter, Program Status Word, Accumulator, RAM and all
other registers maintain their data during Idle mode.
The status of external pins during Idle mode is shown in
Table 28.
There are three ways to terminate the Idle mode:
• Activation of any enabled interrupt X0, T0, X1, T1 or S1
will cause PCON.0 to be cleared by hardware
terminating Idle mode. The interrupt is serviced, and
following return from interrupt instruction RETI, the next
instruction to be executed will be the one which follows
the instruction that wrote a logic 1 to PCON.0.
2
C-bus
• The second way of terminating the idle mode is with an
• The third way of terminating the Idle mode is by an
In all cases the microcontroller restarts after 3 machine
cycles.
11.3Power-down mode
In Power-down mode the system clock is halted. The
oscillator is frozen after setting the bit PD in the PCON
register.
The instruction that sets PCON.1 is the last executed prior
to going into the Power-down mode. Once in Power-down
mode, the oscillator is stopped.The content of the on-chip
RAM and the Special Function Registers are preserved.
Note that Power-down mode can not be entered when the
Watchdog Timer has been enabled.
The Power-down mode can be terminated by an external
reset in the same way as in the 80C51 (but the SFRs are
cleared due to RESET) or in addition by the external
interrupt, INT1.
A termination with INT1 does not affect the internal data
memory and the Special Function Registers. This gives
the possibility to exit from Power-down without changing
the port output levels. To terminate the Power-down mode
with an external interrupt, INT1 must be switched to be
level-sensitive and must be enabled. The external interrupt
input signal INT1 must be kept LOW till the oscillator has
restarted and stabilized. The instruction following the one
that put the device into the Power-down mode will be the
first one which will be executed after the wake-up.
P83Cx80; P87C380
The flag bits GF0 and GF1 may be used to determine
whether the interrupt was received during normal
execution or during Idle mode. For example, the
instruction that writes to PCON.0 can also set or clear
both flag bits. When Idle mode is terminated by an
interrupt, the service routine can examine the status of
the flag bits.
external hardware reset. Since the oscillator is still
running, the hardware reset is required to be active for
two machine cycles (24 oscillator periods) to complete
the reset operation.
internal watchdog reset.
1997 Dec 1224
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
P83Cx80; P87C380
interface, auto-sync detection and sync proc.
11.4Status of external pins
• If the HSYNC
, VSYNC
out
, PATOUT or CLAMP output
out
is selected (for selection see description in Tables 8
and 18) in Idle or Power-down mode, since sync
separation is still alive in Idle mode, HSYNC
VSYNC
, PATOUT or CLAMP output will be operating
out
as normal. In Power-down mode: HSYNC
out
, VSYNC
out
,
out
PATOUT or CLAMP output are pulled HIGH.
• In Idle or Power-down mode, if bit DDCE (SFR DFCON)
is set, the function of P1.2 and P1.3 will be switched to
Table 28 Status of external pins during Idle and Power-down modes
the DDC interface pins SCL1 and SDA1 respectively. In
Idle mode SCL1 and SDA1 can be active only if DDC1
or DDC2 is enabled; otherwise these pins are in the
high-impedance (High-Z) state.
• If bit PWME.n (SFR PWME1/PWME2) is set, the
function of P1.7, P2.n, P3.0 and P3.1 will be switched to
the PWM output function. However, in both Idle and
,
Power-down modes, the output of those PWM pins are
pulled HIGH.
SCL
AND
SDA
SCL1
AND
SDA1
PWM0
TO
PWM10
DAC0
TO
DAC3
1997 Dec 1225
Philips SemiconductorsProduct specification
Microcontrollers for monitors with DDC
interface, auto-sync detection and sync proc.
12 OSCILLATOR
The oscillator circuit of the P83C880 is a single-stage
inverting amplifier in a Pierce oscillator configuration. The
circuitry between XTAL1 and XTAL2 is basically an
inverter biased to the transfer point. Either a crystal or
ceramic resonator can be used as the feedback element to
complete the oscillator circuit. Both are operated in parallel
resonance.
handbook, halfpage
XTAL1XTAL2
MBE311
a. Crystal oscillator; C = 20 pF.
XTAL1 is the high gain amplifier input, and XTAL2 is the
output (see Fig.10a). To drive the P83C880 externally,
XTAL1 is driven from an external source and XTAL2 left
open-circuit (see Fig.10b).
handbook, halfpage
P83Cx80; P87C380
XTAL1XTAL2
n.c.
external clock
(not TTL compatible)
b. External clock drive.
MBE312
handbook, halfpage
XTAL1XTAL2
external clock
(not TTL compatible)
MLC930 - 1
c. External clock drive for P87C380.
Fig.10 Oscillator configurations.
1997 Dec 1226
Loading...
+ 58 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.