beautypg.com

Keyboard interface, Description – Rainbow Electronics AT89C5132 User Manual

Page 134

background image

134

AT8xC5132

4173A–8051–08/02

Keyboard Interface

The AT8xC5132 implement a keyboard interface allowing the connection of a 4 x n
matrix keyboard. It is based on 4 inputs with programmable interrupt capability on both
high or low level. These inputs are available as alternate function of P1.3:0 and allow
exit from idle and power down modes.

Description

The keyboard interfaces with the C51 core through two special function registers:
KBCON, the keyboard control register (see Table 122); and KBSTA, the keyboard con-
trol and status register (see Table 123).

The keyboard inputs are considered as 4 independent interrupt sources sharing the
same interrupt vector. An interrupt enable bit (EKB in IEN1 register) allows global
enable or disable of the keyboard interrupt (see Figure 110). As detailed in Figure 111
each keyboard input has the capability to detect a programmable level according to
KINL3:0 bit value in KBCON register. Level detection is then reported in interrupt flags
KINF3:0 in KBSTA register.

A keyboard interrupt is requested each time one of the four flags is set, i.e. the input
level matches the programmed one. Each of these four flags can be masked by soft-
ware using KINM3:0 Bits in KBCON register and is cleared by reading KBSTA register.
This structure allows keyboard arrangement from 1 by n to 4 by n matrix and allow
usage of KIN inputs for any other purposes.

Figure 110. Keyboard Interface Block Diagram

Figure 111. Keyboard Input Circuitry

Power Reduction Mode

KIN3:0 inputs allow exit from idle and power down modes as detailed in Section “Power
Management”, page 46.
To enable this feature, KPDE bit in KBSTA register must be set
to logic 1.

Due to the asynchronous keypad detection in power down mode (all clocks are
stopped), exit may happen on parasitic key press. In this case, no key is detected and
software must enter power-down again.

KIN0

Keyboard Interface

Interrupt Request

EKB

IEN1.4

Input Circuitry

KIN1

Input Circuitry

KIN2

Input Circuitry

KIN3

Input Circuitry

KIN3:0

KINM3:0

KBCON.3:0

KINF3:0

KBSTA.3:0

KINL3:0

KBCON.7:4

0

1