Universal HAM radio/generator DDS Unit with AD9850 or AD9851

To demonstrate power of both PIC16F84 and AD9850(1) it was created probably the most compact generator unit in the world which is usable for both HAM radio equipment and universal signal generator.
It is using ideas described in my DDS project and in my LCD frequency meter.

The algorithm of the device is simple:

  1. Display frequency at the LCD display.
  2. Calculate tuning word from the value displayed and send it to DDS.
  3. Check band selector. If actual status differs from that one in the memory than read 7 bytes of the new band frequency. Goto 1
  4. Check optosensor for '00' (both chanels closed). If yes, start counter (if it isn't started already), else check for '01' (down) or '10' (up). If detected stop counter, analyse counter and increase or decrease actual frequency according it's status (slow, medium or fast). Go to 1.
  5. Go to 3.

The LCD display works in 4 bite data transfer mode. 2 of 3 control lines are shared with DDS unit. To allow maximum performance at the band reading inputs there is a diode logic to recode band 1 to 8 into binary logic. The resistors at the band inputs should be set according the voltage from band switch. In my case it is 8 V, so there are 1k2 resistors.

You can download complete source code for both HAM radio and universal generator.
The schematics is slightly different from standard (older) project. There are different details, which were required by the fact, that it now contains LCD display - it doesn't need extra digital scale any more.

The following picture is only application of that one for concrete case. The original PCB can be used, but it requires quite careful checking of all changes! (Sorry, I don't have time to draw new PCB, my experimental design I created with old PCB and "bird nest" approach...;-)))).