
Functional Description
MC68HC908GT16 MC68HC908GT8 Data Sheet, Rev. 3
Freescale Semiconductor
107
Figure 9-2. Keyboard Module Block Diagram
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 (INTKBSCR). 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 logic 0, the keyboard interrupt remains set.
Addr.
Register Name
Bit 7
6
5
4
3
2
1
Bit 0
$001A
Keyboard Status
and Control Register
(INTKBSCR)
See page 109.
Read:
0
0
0
0
KEYF
0
IMASKK
MODEK
Write:
ACKK
Reset:
0
0
0
0
0
0
0
0
$001B
Keyboard Interrupt Enable
Register
(INTKBIER)
See page 110.
Read:
KBIE7
KBIE6
KBIE5
KBIE4
KBIE3
KBIE2
KBIE1
KBIE0
Write:
Reset:
0
0
0
0
0
0
0
0
= Unimplemented
Figure 9-3. I/O Register Summary
KB0IE
KB7IE
.
.
.
KEYBOARD
INTERRUPT
REQUEST
D
Q
CK
CLR
V
DD
MODEK
IMASKK
VECTOR FETCH
DECODER
ACKK
INTERNAL BUS
RESET
TO PULLUP ENABLE
KBD7
KBD0
TO PULLUP ENABLE
SYNCHRONIZER
KEYF