English
Language : 

MC68HC908JL3 Datasheet, PDF (118/180 Pages) Freescale Semiconductor, Inc – Microcontrollers
Keyboard Interrupt Module (KBI)
12.4 Functional Description
INTERNAL BUS
KBI0
.
KBIE0
.
TO PULLUP ENABLE
.
KBI6
VDD
D CLR Q
CK
ACKK
RESET
KEYBOARD
INTERRUPT FF
VECTOR FETCH
DECODER
KEYF
SYNCHRONIZER
KEYBOARD
INTERRUPT
REQUEST
IMASKK
KBIE6
MODEK
TO PULLUP ENABLE
Figure 12-2. Keyboard Interrupt Block Diagram
Writing to the KBIE6–KBIE0 bits in the keyboard interrupt enable register independently enables or
disables each port A pin as a keyboard interrupt pin. Enabling a keyboard interrupt pin in port A also
enables its internal pull-up device irrespective of PTAPUEx bits in the port A input pull-up enable register
(see 10.2.3 Port A Input Pull-up Enable Register (PTAPUE)). A logic 0 applied to an enabled keyboard
interrupt pin latches a keyboard interrupt request.
A keyboard interrupt is latched when one or more keyboard pins goes low after all were high. The MODEK
bit in the keyboard status and control register controls the triggering mode of the keyboard interrupt.
• If the keyboard interrupt is edge-sensitive only, a falling edge on a keyboard pin does not latch an
interrupt request if another keyboard pin is already low. To prevent losing an interrupt request on
one pin because another pin is still low, software can disable the latter pin while it is low.
• If the keyboard interrupt is falling edge- and low level-sensitive, an interrupt request is present as
long as any keyboard pin is low.
If the MODEK bit is set, the keyboard interrupt pins are both falling edge- and low level-sensitive, and both
of the following actions must occur to clear a keyboard interrupt request:
• Vector fetch or software clear — A vector fetch generates an interrupt acknowledge signal to clear
the interrupt request. Software may generate the interrupt acknowledge signal by writing a 1 to the
ACKK bit in the keyboard status and control register KBSCR. The ACKK bit is useful in applications
that poll the keyboard interrupt pins and require software to clear the keyboard interrupt request.
Writing to the ACKK bit prior to leaving an interrupt service routine can also prevent spurious
interrupts due to noise. Setting ACKK does not affect subsequent transitions on the keyboard
interrupt pins. A falling edge that occurs after writing to the ACKK bit latches another interrupt
request. If the keyboard interrupt mask bit, IMASKK, is clear, the CPU loads the program counter
with the vector address at locations $FFE0 and $FFE1.
• Return of all enabled keyboard interrupt pins to logic 1 — As long as any enabled keyboard
interrupt pin is at 0, the keyboard interrupt remains set.
MC68HC908JL3E Family Data Sheet, Rev. 4
118
Freescale Semiconductor