TFT FREQUENCY COUNTER
Updated on 28.12.2019.
LCD TFT is digital display at its best, it displays versatile clear picture. The picture is built by entering the address and the color of a pixel or rectangle, so it's simple to use too.
Counter using PIC16F876A or PIC16F690. Included C code and circuit diagram. The LCD TFT module is a 1.8" 128 X160 pixel. The LCD is driven by SPI.
The frequency is displayed by 7 digits with leading zeros removed down to 1 digit. The picture displayed is based on 7 segment
for the PIC16F876A and universal text for the PIC16F690. The period is calculated. When input frequency is less than 1000Hz the period is displayed in us.
The counting is over a period of 1 second, generated by the 8/16 MHz crystal oscillator. The max counting is 7 digits
(10MHz). I tested the counter at up to 2MHz. Period of 1 sec is generated by TMR1 and CCP1.
LCD TFT modules vary depending on the drive IC. The module in the project has the driver ST7735, I bought this module directly from China because the price was more sensible.
Code is for MPLAB, MPLABX and compilers HI TECH or XC8
You are free to use the circuit diagram and the software with no limitations.
OLED FREQUENCY COUNTER FOR ARDUINO
Counter using Arduino Uno or Nano. Included ino file and circuit diagram. The
OLED module is a 0.96" 128 X 64 pixel driven by I2C interface and using
SSD1306 driver IC. The OLED display uses low power LEDs and suitable for
battery operated frequency counter. Power can be reduced farther by
reducing contrast.
The frequency is displayed with leading zeros removed down to 1 digit. The
font used is 5x7 pixels universal font. The period is calculated. When input frequency is less than 1000Hz the period is displayed in us.
The counting is over a period of 1 second,
divided from the 16 MHz crystal oscillator. The max counting is 6MHz
(Atmel specs). I tested the counter at up to 2MHz. Period of 1 sec is generated by
the 3 internal timers.
Code is mostly in C and includes setting up the timers and counter, font
5x7 and oled initializing (no library for oled needed).
OLED FREQUENCY COUNTER FOR PIC
Counter using PIC16F876A. Included C code and circuit diagram. The
OLED module is a 0.96" 128 X 64 pixel driven by I2C interface and using
SSD1306 driver IC. The OLED display uses low power LEDs and suitable for
battery operated frequency counter. Power can be reduced farther by
reducing contrast.
The frequency is displayed with leading zeros removed down to 1 digit. The
font used is 8x8 pixels universal font. The period is calculated. When input frequency is less than 1000Hz the period is displayed in us.
The counting is over a period of 1 second,
divided from the 8 MHz crystal oscillator. The max counting is 7 digits
(10MHz). I tested the counter at up to 2MHz. Period of 1 sec is generated by TMR1 and CCP1.
Code is in MPLAB X and compilers XC8.
You are free to use the circuit diagram and the software with no limitations.


Circuit Description
See also Technical Tips
Supply is 5V +/-10%. Frequency input signal is TTL
levels, 5V max.
The TFT module has the driver ic ST7735, The inputs of the ic tolerate 5V,
one source is:
https://www.ebay.co.uk/itm/1-8-inch-1-8-TFT-LCD-Display-module-ST7735S-128x160-51-AVR-STM32-ARM-8-16-bit/191786659555?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649
OLED module can be bought from ebay:
https://www.ebay.co.uk/itm/0-96-I2C-IIC-Serial-128X64-White-OLED-LCD-LED-Display-Module-for-Arduino-UK/192294699203?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649 |