PIC Microcontrollers

PIC Special I/O Lines Cross Reference table listing the I/O pins allocated for the peripherals on a range of popular devices.

AD9850.ZIP Source code for controlling AD9850 and AD9851 DDS chips.
Includes RS232 control and rotary encoder / LCD support.

9852SW.ZIP Code for the AD9852 DDS module. Two versions are included: use 9852DDS with a 16C84 or 16F84 PIC controller, or 9852DDSX for the more up-to-date (and cheaper) 16F628 device. Source code can be found in the .ASM files, binary in the .HEX files

SYNTHBLB.ASM Control an LMX1501 Synthesiser chip. Interface via RS232 for CW or stepped sweep. Frequency stored in EE for standalone operation. Minimal changes needed for later generation devices such as LMX23xx / LMX24xx
Circuit Diagram


DTMFREM.ZIP DTMF Remote controller published in RadCom August 2001. The source code(.ASM) for a later version with three priority PINs is also included

VertiCom Synthesizer Controller and utilities Control these microwave synthesizer modules using ASCII HEX commands over a serial RS232 link.


VHFBCN05.ASM Code for driving VHF Beacons such as GB3VHF. Includes the code for generating JT65 from prestored data generated by JT65CODE.ZIP and reading Motorola compatible binary data from Oncore GPS modules and some Jupiter-T ones

DDSBeacons.zip Utilities for programming DDS soures for use in beacons - calculating frequency codes, formatting JT65 symbols from JT65CODE.

HFBCN02.ASM The code used for controlling the 5MHz beacons GB3WES and 'ORK
Includes the source code for reading NMEA data from various GPS modules.

NEWHFBCN.ASM Controls an AD9852 DDS for a self-contained HF beacon driver, and was used for GB3SSS on 1960kHz. This was a propagation test beacon operating from Poldhu, Cornwall from Nov 2006 to Feb 2007. Transmits a sequence of callsign and power steps similar to GB3RAL/WES/ORK, but with the pulsed sounder sequence replaced by a PSK31 message. All generated by reprogramming the DDS chip. From November 2007, GB3SSS is back on using the same hardware, but this time on 3579kHz

BCNKEYER.ZIP Beacon keyer module. Includes CW messages, Programmable pauses, Tx/Rx control. The module can be re-programmed over an RS232 link so no PIC programmer is needed to change the data.
... and now ... One with an analogue input line. The voltage in the range 0 - 5V is measured and can be sent back in the CW message in a number of different formats offering different accuracies and complexity. Use, for example, to allow a beacon to sends its own measured RF power as a user confidence check.

QRSKEYER.ZIP Version of BCNKEYER for SLOWCW (QRS) keying of LF Beacons. CW Dot lengths programmable from 1 to 20 seconds, delays 20 - 400 seconds. See .ASM file for details

Beacon Timestamp
Adding a timestamp to beacon transmissions to allow automatic QSLing and verification of reception.
Supporting software BCTMSTMP.ZIP


PLSDNMEA.ASM Read the serial data from the OEM Trimble Palisade GPS Timing units (Field 10-8F-AE).
Outputs the date and time as an NMEA $GPRMC string.
Palisade Data Format Description of the 8F-AE extended Packet sent from this module, as used in PLSDNMEA.ASM

GPLOCDIS.ZIP Reads the NMEA data (GPRMC string) from a GPS module and displays on a standard (Hitachi compatible) LCD. The code is optimised for a 2 line 16 character LCD, but source code is supplied for customisation. Display can be cycled through Date, Time, 8 digit Locator, Lat/Long, Speed (in m/s & mph). Latest version (2010/04/02) includes a routine for initialising Motorola GPS moduules)

Back to Index