SIMPLE 80 MHz FREQUENCY
COUNTER FOR PC (DOS)

(1995)

Low budget frequency counter with only two chips.
Connect it to the printer port. It works only in DOS mode, not in Windows!

Only two simple chips and a few components
This is a design of a simple frequency counter up to 80 MHz. It can use it's own internal crystal oscillator or an external reference frequency. It works from 100 kHz to 80 MHz, for square wave signals it goes down to frequencies of 20 Hz. So if you want to use it for LF, then add an op-amp amplifier / comparator to make a square wave of the sine wave.

Circuit diagram
big diagram

Working principle
Normally, frequency counters count the number of periods during for example 1 second. This counter is different. It measures the exact time of a number of periods and the frequency is calculated. This has the advantage that the accuracy is the same for all frequencies. It is possible to measure the frequency of a 1 kHz LF signal with an accuracy of 0.01 Hz when using a measuring period of 1 second. For normal frequency counters the accuracy is 1 period or 1 Hz.
The PC measures frequencies using its internal timer. However, the accuracy of the timer of the PC is not good enough. Therefore, the first step of the test is to measure a reference source (the internal crystal oscillator or external reference oscillator) and calculate the required correction for the PC timer inaccuracy. Then the actual frequency measurement is carried out and corrected with the correction factor for the PC timer inaccuracy.
As only LF frequencies can be measured with the PC, RF frequencies are prescaled to LF frequencies with use of a simple preamplifier / prescaler, a 74 HC4060 chip.

Running the program
Connect the counter to LPT1 via a Centronics printer cable.
For accurate results, your PC should run in DOS mode, not in Windows. Start the program by typing FREQPC.EXE REFERENCE_FREQUENCY. In my case FREQPC.EXE 3578880, as the exact frequency of the crystal oscillator of my counter is 3578880 Hz. When I use my 10 MHz reference standard, the command is FREQPC.EXE 10000000 or FREQPC.EXE 1e7.

No time out
For maximum accuracy, there is no timeout during the measurement. Therefore it is possible that the program halts if the input signal is removed. So the procedure is: Stop the program and then remove the input signal. Before the measurement begins, the program checks if there is an input signal. Although the circuit could get it's supply from the printer port, I use a separate 5 V supply for better performance.

• FREQPC.ZIP (35k) containing FREQPC.EXE DOS Program and FREQPC.C Source code.

Performance

 Frequency (MHz) Sensitivity (mV RMS) 0.1 1 10 30 50 80 100 120 10 3 10 30 100 150 200 500 Accuracy: 1e-6

Inside view

The PC program, here opened in Windows, but use it only with DOS for accurate results!
Use the up-down cursor keys to select, right cursor key to activate a menu choice and left cursor key to return.