This sample application is a digital frequency synthesizer that 
generates frequencies in the range of 0 to 20 MHz in 0.1 Hz steps.  
The frequency is set with a rotary encoder and displayed on an LCD.  
In addition there is an RS-232 serial port input which accepts commands 
from a PC.  Accompanying PC applications implement more advanced 
features such as a sweep generator.

It's well documented and contains a wide variety of programming
techniques including:

        Rotary encoder input, including debouncing.
        Receive half of a software UART, with a queue
                in case processing falls behind.
        Driving standard LCD display.
        Driving a digital frequency synthesizer chip.
        Driving a quad D/A converter.
        Use of data EEPROM memory.
        BCD arithmetic.
        Binary arithmetic with more than 4 bytes.
        Timer interrupts.

Remarkably, it all fits inside a PIC 16F84.

The files in this package:

	README.TXT	- This overview file.

	DDS.PRJ		- Project file used by Compiler IDE.

	DDS.C		- The PIC application.
	SG_CMD.H	- Commands sent thru serial port.
		 	  Used by DDS.C and others below.

	WEIGHT.C	- Generates WEIGHT.H, depending on 
			  the clock frequency.
	WEIGHT.EXE

	WEIGHT.H	- Mapping from BCD display to binary codes
			  sent to the frequency synthesizer chip.

    These run on PC and send commands to PIC thru serial port:

	MESSAGE.C	- Display message on LCD.
	MESSAGE.EXE

	FREQ.C		- Set frequency.
	FREQ.EXE

	DAC.C		- Set D/A converter.
	DAC.EXE
	
	SWEEP.C		- Sweep generator.
	SWEEP.EXE

