- Reload/refresh this page/frame to see the latest information! -

Software for PIC 16F876 Microcontroller

gpda100m.hex  (.asm)   -  8 November 2005

Build the hardware, load the hex file into the PIC and you are ready to remote control your MD player (see below). By changing the operating mode, other devices can be used remotely.

This latest software update adds the transmission of <AKU> signal (All Keys Up) on the UART port so that the PC driver is able to output the 200 shortcuts
(Required also: PC driver version 22 up and PC interface PIC software version 0.999 up).

It has 'Keyboard as Mouse' transmission in GKOS Chord IR mode, and has mouse functions also when used as a GKOS IR receiver (GKOS IR mouse packets in => UART mouse Keycodes out for the PC GKOS driver). It has 59 Shortcut Words (of the planned 219). Those shortcuts that only have dark and grey buttons on the shortcuts table are in the PIC code. The PC driver implements the rest of the shortcuts (
those with a '-' mark on a button

This software, in the default mode, sends the key codes through the UART serial port as defined, as well as Sony IR code (SIRCS) for MD players/recorders at the infrared output.
For example, entering MiniDisc titles is now possible (to MD players capable of receiving also 20-bit SIRCS code).

It includes also IrDA frame structure (9600 bit/s 8-bit frames, but not the IrDA protocols) for devices like PDA or PC. There are no drivers yet for receiving these IrDA frames, but...

There are drivers available for the PC to receive Keycodes. Keycodes or Chord values are sent in GKOS specific SIRCS-type 11-bit frames called GKOS Keycode IR packets (one packet per character) or GKOS Chord IR packets (keyboard status continuously, more robust to interference).

The IR code can then be received by the GKOS PS/2 PC interface or the PC Serial Port interface (recommended, also WinXP). This way it is possible to fully operate a PC using the GKOS IR keyboard.

Features  -  (see also the Definitions Page)

Default mode is SIRCS IR code for MD  for the gpdaXXXm.hex file above. It is possible to easily change operating modes:

[SYMB] [Ctrl]  c [ENTER]  GKOS Chord IR mode**
[SYMB] [Ctrl]  g [ENTER]  GKOS Keycode IR mode
[SYMB] [Ctrl] m [ENTER]  SIRCS MD remote control
[SYMB] [Ctrl]  i  [ENTER]   IrDA frame mode
[SYMB] [Ctrl]  u [ENTER]  UART output mode
** Recommended mode for sending IR to the
PC driver (
gpda100c.hex has this as the default mode)

Different default modes are defined by setting parameters in the .asm file before assembling it to a .hex file (See comments in the asm file, around line 750).

Note also that the SIRCS mode should not be chosen for the IR output if you are just using the UART ('RS232') output because sending SIRCS IR code takes considerable time (repeated packets) and consequently key scanning cannot take care of very fast entering of text, especially chordons (chord sequencies). Choose GKOS Keycode mode instead. This is valid also when using the PIC for IR reception.

GKOS IR keyboard with all GKOS-specific functions included in the transmitting side


The purpose of this project is to develop PIC 16F876 software that can be used to implement a GKOS keyboard for a variety of devices using either a wireless infrared (IR) link or an RS232 serial port connection.

The basic difference to the previous GKOS IR keyboards is that this one can send the final key codes as single bytes, not just the keyboard status repeatedly (GKOS IR format).

In addition, this software can implement all GKOS-specific things at the transmitting side, like the intelligent key scanning so that e.g. typing chordons is possible (already). 59 shortcuts based on chordons have also been included in the PIC code (e.g. typing ?w as a chordon will output a complete word 'what '  -   capacity is more than 200 words).

The GKOS keyboard is turned into 'Keyboard as Mouse' mode of operation when [SHIFT] [123-abc] is pressed. Return by

The driver on the receiving device (PC, PDA...) has not much more to do than just convert the received Keycodes
(using IR link or UART) into character codes, one by one. The PC driver may also support mouse operation.

Audio/video equipment can be operated directly (SIRCS).

How to type:

The character set.

How to remote control:

Remote control functions.
  8 Nov 2005