Projects   /   LCD & Display Projects   /   PIC16C84

Build a PIC controlled DDS VFO, 0 to 6 MHz using pic microcontroller

Files contained in MINIDDS.ZIP: Download MINIDDS.ZIP (186K) Download MINIDDS.PDF (209K) If you prefer to control the DDS module from a PC (instead of using...

Published
Updated

At a glance

CategoryLCD & Display Projects
PIC modelPIC16C84, PIC16F84A
IncludesCode · Download files
Reading time~3 min
Jump to a section
  1. Are you looking for a DDS based 136 kHz longwave transmitter exciter?
  2. Schematic and source code for the PIC controller is available here:
  3. Quick Solutions to Questions related to PIC Controlled DDS VFO:
  4. Related projects

Summary of Build a PIC controlled DDS VFO, 0 to 6 MHz using pic microcontroller

This article describes a PIC-controlled Direct Digital Synthesis (DDS) Variable Frequency Oscillator (VFO) project capable of generating frequencies between 135.7 kHz and 137.8 kHz with high precision. It provides downloadable schematics, PCB layouts, assembly source code for PIC16F84/C84 microcontrollers, and compiled hex files. The system features an LCD display, rotary encoder, and momentary pushbuttons for calibration and locking functions.

Parts used in the PIC Controlled DDS VFO:

  • PIC16F84 or PIC16C84 microcontroller
  • Hitachi HD44780 controller chip LCD module
  • AD9832 DDS component
  • Lowpass filter
  • EEPROM for calibration storage
  • Momentary pushbuttons (LOCK, DFCW, CAL)
  • Rotary encoder
  • CC5X C compiler software

Files contained in MINIDDS.ZIP:

Code listing
  readme.txt      Read this first!
  compplac.pdf    Component placement in PDF format
  schema.pdf      Schematic diagram in PDF format
  top.ps          PCB top copper layer in Postscript format
  bottom.ps       PCB bottom copper layer in Postscript format
  ad9832_4.asm    PIC assembly source code
  p16f84.inc      Needed for assembly of ad9832_4.asm (for 'F84)
  p16c84.inc      As above but for 'C84
  vfo5x7f.hex     PIC16F84 program for LCD with 5x7 font
  vfo5x10f.hex    PIC16F84 program for LCD with 5x10 font
  vfo5x7c.hex     PIC16C84 program for LCD with 5x7 font
  vfo5x10c.hex    PIC16C84 program for LCD with 5x10 font
  filtresp.pcx    Computed frequency response of lowpass filter

Build a PIC controlled DDS VFO, 0 to 6 MHzDownload MINIDDS.ZIP (186K)

Download MINIDDS.PDF (209K)

If you prefer to control the DDS module from a PC (instead of using a PIC), try this:

Download PCVFO.ZIP (18K)

The zip archive contains a single file, VFO.EXE. It is a DOS program but it runs fine in a Windows 95/98 "DOS bubble" as well (see screenshots above).

 

Are you looking for a DDS based 136 kHz longwave transmitter exciter?

 

Have a look at G0MRF's page

 

Specifications:

  • Start-up frequency: 137.00000 kHz
  • Tuning range: 135.70000 to 137.80000 kHz in 0.25 Hz steps
  • DFCW offset: 0 to 50 Hz adjustable in 0.25 Hz steps
  • The dial can be locked to prevent inadvertent QSY
  • Calibration: +/- 200 ppm, stored in EEPROM.
  • Actual DDS output frequency is 4 * dial frequency

 

Schematic and source code for the PIC controller is available here:

 

Download the PIC program lwex.zip

The PIC program is written for the free version of the CC5X C compiler which is available at www.bknd.com
Build a PIC controlled DDS VFO, 0 to 6 MHzAlmost any 2x16 character LCD module with Hitachi HD44780 controller chip will work. The LCD pin numbers on the schematic are not valid for all LCD modules. Please check the actual signal names on your particular LCD module.
The selected DFCW frequency offset will be added to the output frequency when the DFCW input is grounded. This input has a weak pull-up in the PIC.
The encoder inputs also have internal pull-ups in the PIC.

The switches "LOCK", "DFCW" and "CAL" are momentary pushbuttons.

 

For more detail: Build a PIC controlled DDS VFO, 0 to 6 MHz

 

  • What is the start-up frequency of this DDS VFO?
    The start-up frequency is set to 137.00000 kHz.
  • Can I control the DDS module from a PC instead of using a PIC?
    Yes, you can use the PCVFO.ZIP download which contains a DOS program called VFO.EXE that runs in Windows 95/98.
  • Does the selected DFCW frequency offset get added automatically?
    The selected DFCW frequency offset will be added to the output frequency when the DFCW input is grounded.
  • What type of LCD module works with this project?
    Almost any 2x16 character LCD module with a Hitachi HD44780 controller chip will work.
  • How precise are the tuning steps for this device?
    The tuning range covers 135.70000 to 137.80000 kHz in 0.25 Hz steps.
  • Is there a way to prevent accidental frequency changes?
    The dial can be locked to prevent inadvertent QSY.
  • What is the relationship between the actual DDS output and the dial frequency?
    The actual DDS output frequency is 4 times the dial frequency.
  • Where is the calibration data stored?
    Calibration data with +/- 200 ppm accuracy is stored in EEPROM.
Beginner Tutorials · PIC16F84A

PIC Stepper Motor Controller using PIC16F84A with Proteus Simulation

Introduction Stepper motors are widely used in embedded systems and DIY electronics projects where precise position control is required. This PIC Stepper...

Programmers & ICSP · PIC16F84A

PIC Musical Doorbell using PIC16F84A with Proteus Simulation

IntroductionThis microcontroller project demonstrates a musical doorbell built around a PIC16F84A and a simple piezo sounder.Using two push buttons, the system allows...

Beginner Tutorials · PIC16C84

Exploring the World of PIC Microcontrollers: An Architectural Overview

A Peripheral Interface Microcontroller (PIC), developed by General Instruments Microcontrollers in 1993, operates under software control and is programmed to execute various...

LCD & Display Projects

Leveraging Blockout Banners for Effective Electronics and Tech Product Displays

Blockout banners have become a popular and effective tool for displaying electronics and tech products in various settings, from trade shows and...

LCD & Display Projects · PIC18F4520

Interfacing PIC18F4520 microcontroller with an HD44780 LCD

Introduction Being able to display data from a microcontroller visually has many advantages. It allows for menus, status indicators, and instructions to...

LCD & Display Projects

Video Project Development in the Midst of an Impromptu Online Semester

Receiving robot parts in the mail was an unexpected conclusion to the Winter 2020 semester for students. However, when faced with a...

Ibrar Ayyub

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough...