For signal lower than 5V use high speed comperator: eBay
TFT 8MHz FREQUENCY COUNTER PIC16F1827
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 PIC16F1827 drives the TFT SPI.
Included C code and circuit diagram. The LCD TFT module is a 1.8" 128 X160 pixel and has the driver ST7735
The frequency is displayed by 7 digits with leading zeros removed down to 3 digits. The picture displayed is based on universal text. 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 MHz crystal oscillator increased to 32MHz by the internal PLL. The max counting is 7 digits
(8MHz) with resolution of 1Hz. Period of 1 sec is generated by TMR1 and CCP1.
TFT FREQUENCY COUNTER PIC16F628A
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 PIC16F628A drives the TFT with software SPI (slower SPI).
Included C code and circuit diagram. The LCD TFT module is a 1.8" 128 X160 pixel and has the driver ST7735
The frequency is displayed by 7 digits with leading zeros removed down to 3 digits. The picture displayed is based on universal text. 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 16 MHz crystal oscillator. The max counting is 7 digits
(4MHz). I tested the counter at up to 2MHz. Period of 1 sec is generated by TMR1 and CCP1.
Code is for MPLABX v3.10 and compilers XC8 (ver1.45).
You are free to use the circuit diagram and the software with no limitations.
TFT FREQUENCY COUNTER PIC16F690
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.
The TFT is driven by hardware SPI.
Included C code and circuit diagram. The LCD TFT module is a 1.8" 128 X160 pixel and has the driver ST7735
The frequency is displayed by 7 digits with leading zeros removed down to 1 digit. 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 16 MHz crystal oscillator. The max counting is 7 digits
(4MHz). Period of 1 sec is generated by TMR1 and CCP1.
Code is for MPLAB, MPLABX and compilers HI TECH or XC8 (ver1.45).
TFT FREQUENCY COUNTER PIC16F876A
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.
The TFT is driven by hardware SPI.
Included C code and circuit diagram. The LCD TFT module is a 1.8" 128 X160 pixel and has the driver ST7735
The frequency is displayed by 7 digits with leading zeros removed down to 1 digit. The picture displayed is based on 7 segment. 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 MHz crystal oscillator. The max counting is 7 digits
(4MHz). Period of 1 sec is generated by TMR1 and CCP1.
Code is for MPLABX and compiler XC8 (ver1.45).
OLED FREQUENCY COUNTER FOR ARDUINO
Counter using Arduino Uno or Nano. Included ino file, C file for font, keep the ino file and C file in the same folder. 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 3 digits. 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). 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 PIC16F628A
Counter using PIC16F628A. 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.
PIC16F628A uses software (bit banging) I2C.
The frequency is displayed with leading zeros removed down to 3 digits. The
font used is 8x5 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 7 digits
(4MHz). Period of 1 sec is generated by TMR1 and CCP1.
Code is in MPLAB X and compilers XC8 (ver1.45).
You are free to use the circuit diagram and the software with no limitations.
OLED FREQUENCY COUNTER FOR PIC16F876A
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.
PIC16F876A drives the oled using hardware I2C.
The frequency is displayed with leading zeros removed down to 3 digits. 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 16 MHz crystal oscillator. The max counting is 7 digits
(4MHz). Period of 1 sec is generated by TMR1 and CCP1.
Code is in MPLAB X and compilers XC8 (ver1.45).
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
OLED module can be bought from ebay:
https://www.ebay.co.uk/itm/0-96-I2C |