PIC Push Button Processor


The simplified circuit to the right shows a twelve push button module with two examples of control outputs as described in the notes.

The PIC program is written in about 150 lines of assembler code and handles scanning the push button matrix, debouncing and processing the resulting key presses.

The PIC processor runs with a clock speed of about 80KHz using the internal RC oscillator and two external timing components (not shown).

The low clock speed should result in low spurious responses in the associated transceiving equipment.

The upper picture on the right shows the front of the unit which mounts behind the equipment front panel on spacers with the push buttons protruding though the panel. Support is provided by a sheet of hard aluminium mounted on some of the front panel controls.

Each button has a sub-miniature green LED mounted underneath the top cap which is controlled by the associated 2N7000 FET on the rear PCB.

The lower picture shows the rear PC board containing the PIC processor and output control line 2N7000 switches. No attempt was made to cram everything onto one PC board.

One improvement in construction would be to re-organise the PCB track layouts so that the two PC boards could be linked together with back to back connectors.

Each push button is illuminated when its associated circuit is active and most are push once for ‘on’ and push again for ‘off’.

One button controls a circuit with four possible states, one of which is ‘Off’ so four button presses are required to cycle though the options. To reduce the number of interconnecting wires the four options are binary encoded into two lines and the counting logic is handled by the PIC program. In this case the two control lines provide active high, current limited outputs as shown in the circuit above - decoding is carried out in the external circuit.