16F84 Frequency counter

In elektronika.lt and in original pages at sprut.de there is placed simple frequency counter schematics. It consists only from Microchip PIC 16F84 cpu and LCD text module. Author states that this counter is capable metering frequencies from 400Hz to 50MHz. I used faster, 20MHz version of 16F84A-20I/P, and it managed to count 80MHz oscillator output.

Frequency counter on PIC MCU

It is made on testing breadboard and uncalibrated. I made it just for testing. And the schematics is almost unmodified.

frequency counter schematics
Circuit diagram for printing.

I used small TTL oscilators for testing. These devices are much more precise that cheap quartz crystal used in schematics. It is possible to adjust 10MHz and so you can calibrate your counter. Here is my testing readings- the device is uncalibrated.

Quartz Freq readings
12.000000 MHz 12000112 Hz
25.175000 MHz 25175456 Hz
28.322000 MHz 28322656 Hz
80.000 MHz 79999616 Hz

About Administrator

I am owner of this site.
This entry was posted in Anything. Bookmark the permalink.

10 Responses to 16F84 Frequency counter

  1. kawiss says:


  2. Şamil says:


    Hex Kodu + Şema Olarak Rica Ede bilir miyim.

    From Editor: Galvoji aš čia labai supratau ką čia prikomentavai?

  3. javier says:

    I would like to set the frequency counter and I need the hex or asm, what is its cost.
    I’m from Argentina

  4. Read Lithuanian version :), at the end of article there are links.

  5. John Nix says:

    An 80MHz counter from a PIC16F84a. That is the best I have seen. Your closest rivals were 60MHz and 50MHz.
    Now if you were to include a permantly installed MC12080 prescaler that switches from divide by 2 to divide by 20 on command from the PIC16F84a it could go to 120MHz/1200MHz.
    Have you considered making and selling boards for your counter?

  6. It is very old post. The high reading frequency is because I am using 20MHz version of PIC MCU, not slow speed ones.
    I am not interested in selling this PCB because there are lots of PCBs on eBay.
    I am selling surplus PCB of my current projects on my site:

  7. yalect says:

    thank you for your project frequency counter
    I would like to ask you, some other authors have used prescallers to measure frequency up of 50Mhz maybe to 1Ghz, I am trying to connect prescaller to your circuit to measure vast range of frequencies maybe from 5Hz to 1Ghz but the problem is the format of displaying Hz for example in Ghz range I think that the best format is “1000.000.000”Hz and resolution can’s differ from range to range
    Have you an Idea, or can you provide me circuit?

  8. Hi, this is not my project. But I understand your idea. The only possible way to add this mode is to change software and add additional pin to inform MCU about prescaller mode.
    As software is not written by me, I can not give you help. Maybe it is possible to modify source code by yourself? I am not PIC MCU fan.

  9. Ludwig63 says:

    Ich suche den asm code für den pic16F84 Frequency

Leave a Reply

Your email address will not be published. Required fields are marked *