Philips 8-bit microcontroller with two-clock 80C51 core UM10109 Manual De Usuario

Descargar
Página de 133
 
© Koninklijke Philips Electronics N.V. 2005. All rights reserved.
User manual
Rev. 02 — 23 May 2005 
97 of 133
Philips Semiconductors
UM10109
P89LPC932A1 User manual
 
14. Keypad interrupt (KBI)
The Keypad Interrupt function is intended primarily to allow a single interrupt to be 
generated when Port 0 is equal to or not equal to a certain pattern. This function can be 
used for bus address recognition or keypad recognition. The user can configure the port 
via SFRs for different tasks.
There are three SFRs used for this function. The Keypad Interrupt Mask Register 
(KBMASK) is used to define which input pins connected to Port 0 are enabled to trigger 
the interrupt. The Keypad Pattern Register (KBPATN) is used to define a pattern that is 
compared to the value of Port 0. The Keypad Interrupt Flag (KBIF) in the Keypad Interrupt 
Control Register (KBCON) is set when the condition is matched while the Keypad 
Interrupt function is active. An interrupt will be generated if it has been enabled by setting 
the EKBI bit in IEN1 register and EA = 1. The PATN_SEL bit in the Keypad Interrupt 
Control Register (KBCON) is used to define equal or not-equal for the comparison. 
In order to use the Keypad Interrupt as an original KBI function like in the 87LPC76x 
series, the user needs to set KBPATN = 0FFH and PATN_SEL = 0 (not equal), then any 
key connected to Port0 which is enabled by KBMASK register is will cause the hardware 
to set KBIF = 1 and generate an interrupt if it has been enabled. The interrupt may be 
used to wake-up the CPU from Idle or Power-down modes. This feature is particularly 
useful in handheld, battery powered systems that need to carefully manage power 
consumption yet also need to be convenient to use.
In order to set the flag and cause an interrupt, the pattern on Port 0 must be held longer 
than 6 CCLKs
Table 80:
Keypad Pattern register (KBPATN - address 93h) bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
KBPATN.7
KBPATN.6
KBPATN.5
KBPATN.4
KBPATN.3
KBPATN.2
KBPATN.1
KBPATN.0
Reset
1
1
1
1
1
1
1
1
Table 81:
Keypad Pattern register (KBPATN - address 93h) bit description
Bit  Symbol
Access Description
0:7 KBPATN.7:0
R/W
Pattern bit 0 - bit 7
Table 82:
Keypad Control register (KBCON - address 94h) bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
-
-
-
PATN_SEL
KBIF
Reset
x
x
x
x
x
x
0
0
Table 83:
Keypad Control register (KBCON - address 94h) bit description
Bit  Symbol
Access Description
0
KBIF
R/W
Keypad Interrupt Flag. Set when Port 0 matches user defined conditions specified in KBPATN, 
KBMASK, and PATN_SEL. Needs to be cleared by software by writing logic 0.
1
PATN_SEL
R/W
Pattern Matching Polarity selection. When set, Port 0 has to be equal to the user-defined 
Pattern in KBPATN to generate the interrupt. When clear, Port 0 has to be not equal to the 
value of KBPATN register to generate the interrupt.
2:7 -
-
reserved