Sunday, January 9, 2022

reZet80 PIONEER - 20-key keypad with 74C923 key encoder

This is a 20-key keypad connected via the 74C923 chip and the KEYPAD bus (see specs below).
It provides the keys '0' to 'F' plus 4 special keys (ENTER, BACK, ESC and SHIFT).
This 74C923 chip simplifies the circuit.
It is LPTTL compatible and supports key debouncing and interrupts.
It triggers /NMI once a key is pressed (I use the non-maskable interrupt because it has the fastest interrupt response time).
The card uses one I/O port in the 8-bit I/O space (see IO decoding specs).
An alternative circuit without the 74C923 can be constructed using LSTTL chips (I will post a changed reZet80 DEV keypad soon). But the circuit requires polling the keys.
Bill of materials:
- reZet80 PIONEER keypad card (prototype)
- 10-pin right-angled male connector
- 2x 10-pin male socket
- 10-wire cable female/female
- DIP-14 socket
- DIP-20 socket
- 74HC04 inverter
- 74C923 key encoder
- 20 key switches (FUTABA MA41)
- 3x capacitor 100 nF
- capacitor 1 uF

The KEYPAD bus spec:
KEYB01: D4
KEYB02: D3
KEYB03: D2
KEYB04: D1
KEYB05: D0
KEYB06: /IOSEL_5X
KEYB07: /IOSEL_6X
KEYB08: /NMI
KEYB09: GND
KEYB10: +5V