Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use PIC16F72: Examples, Pinouts, and Specs

Image of PIC16F72
Cirkit Designer LogoDesign with PIC16F72 in Cirkit Designer

Introduction

The PIC16F72 is an 8-bit microcontroller manufactured by SDR, based on Microchip Technology's architecture. It features a 14-bit instruction set, 2K words of program memory, 128 bytes of RAM, and 128 bytes of EEPROM. Designed for low-power applications, the PIC16F72 is equipped with versatile peripherals, including timers, comparators, and an integrated 8-channel, 8-bit ADC (Analog-to-Digital Converter). Its compact design and robust functionality make it ideal for a wide range of embedded systems.

Explore Projects Built with PIC16F72

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ATMEGA328 Battery-Powered LED Blinker with FTDI Programming
Image of Homemade Arduino using ATmega328: A project utilizing PIC16F72 in a practical application
This circuit is a basic microcontroller setup using an ATMEGA328, powered by a 5V battery, and includes an FTDI programmer for serial communication. It features a pushbutton for reset functionality and two LEDs controlled by the microcontroller, with one LED blinking at a 1-second interval as programmed.
Cirkit Designer LogoOpen Project in Cirkit Designer
RTL8720DN-Based Interactive Button-Controlled TFT Display
Image of coba-coba: A project utilizing PIC16F72 in a practical application
This circuit features an RTL8720DN microcontroller interfaced with a China ST7735S 160x128 TFT LCD display and four pushbuttons. The microcontroller reads the states of the pushbuttons and displays their statuses on the TFT LCD, providing a visual feedback system for button presses.
Cirkit Designer LogoOpen Project in Cirkit Designer
Teensy 4.0 and MAX7219-Based 7-Segment Display Counter
Image of dispay: A project utilizing PIC16F72 in a practical application
This circuit uses a Teensy 4.0 microcontroller to control a MAX7219 LED driver, which in turn drives three 7-segment displays. The microcontroller runs code to display numbers from 0 to 999 on the 7-segment displays, with the SN74AHCT125N buffer providing signal integrity and the necessary capacitors and resistors ensuring stable operation.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
Image of ColorSensor: A project utilizing PIC16F72 in a practical application
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with PIC16F72

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Homemade Arduino using ATmega328: A project utilizing PIC16F72 in a practical application
ATMEGA328 Battery-Powered LED Blinker with FTDI Programming
This circuit is a basic microcontroller setup using an ATMEGA328, powered by a 5V battery, and includes an FTDI programmer for serial communication. It features a pushbutton for reset functionality and two LEDs controlled by the microcontroller, with one LED blinking at a 1-second interval as programmed.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of coba-coba: A project utilizing PIC16F72 in a practical application
RTL8720DN-Based Interactive Button-Controlled TFT Display
This circuit features an RTL8720DN microcontroller interfaced with a China ST7735S 160x128 TFT LCD display and four pushbuttons. The microcontroller reads the states of the pushbuttons and displays their statuses on the TFT LCD, providing a visual feedback system for button presses.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of dispay: A project utilizing PIC16F72 in a practical application
Teensy 4.0 and MAX7219-Based 7-Segment Display Counter
This circuit uses a Teensy 4.0 microcontroller to control a MAX7219 LED driver, which in turn drives three 7-segment displays. The microcontroller runs code to display numbers from 0 to 999 on the 7-segment displays, with the SN74AHCT125N buffer providing signal integrity and the necessary capacitors and resistors ensuring stable operation.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ColorSensor: A project utilizing PIC16F72 in a practical application
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Home automation systems
  • Industrial control systems
  • Sensor interfacing and data acquisition
  • Motor control applications
  • Low-power IoT devices

Technical Specifications

Key Features

Feature Specification
Architecture 8-bit
Instruction Set 14-bit
Program Memory 2K words
Data Memory (RAM) 128 bytes
EEPROM 128 bytes
Operating Voltage Range 2.0V to 5.5V
Clock Speed Up to 20 MHz (with external clock)
ADC 8-channel, 8-bit resolution
Timers 3 (Timer0, Timer1, Timer2)
Comparators 2
I/O Pins 22
Package Options 28-pin DIP, SOIC, SSOP

Pin Configuration

The PIC16F72 is available in a 28-pin package. Below is the pin configuration and description:

Pin Number Pin Name Type Description
1 RA2/AN2 Analog/Digital I/O Analog input 2 or digital I/O pin
2 RA3/AN3/VREF Analog/Digital I/O Analog input 3 or voltage reference
3 RA4/T0CKI Digital I/O Timer0 clock input or digital I/O
4 RA5/AN4 Analog/Digital I/O Analog input 4 or digital I/O pin
5 VSS Power Ground
6 OSC1/CLKIN Input Oscillator input or external clock
7 OSC2/CLKOUT Output Oscillator output
8 RC0/T1OSO Digital I/O Timer1 oscillator output or digital I/O
9 RC1/T1OSI Digital I/O Timer1 oscillator input or digital I/O
10 RC2/CCP1 Digital I/O Capture/Compare/PWM module 1
... ... ... ...
28 RA0/AN0 Analog/Digital I/O Analog input 0 or digital I/O pin

Note: For the full pinout, refer to the official datasheet.

Usage Instructions

Using the PIC16F72 in a Circuit

  1. Power Supply: Connect the VDD pin to a 5V power source and the VSS pin to ground.
  2. Oscillator Configuration: Use an external crystal oscillator (up to 20 MHz) connected to the OSC1 and OSC2 pins. Alternatively, use an RC oscillator for low-cost applications.
  3. Programming: Use an ICSP (In-Circuit Serial Programming) tool to program the microcontroller. Ensure the MCLR pin is connected to a pull-up resistor.
  4. I/O Configuration: Configure the I/O pins as input or output using the TRIS registers. For analog inputs, enable the ADC module and configure the ANSEL register.
  5. Peripherals: Utilize the built-in peripherals (timers, ADC, comparators) by configuring the respective control registers.

Example: Interfacing with an Arduino UNO

The PIC16F72 can communicate with an Arduino UNO via UART. Below is an example of Arduino code to send data to the PIC16F72:

// Arduino UNO UART Communication with PIC16F72
void setup() {
  Serial.begin(9600); // Initialize UART at 9600 baud rate
}

void loop() {
  Serial.println("Hello, PIC16F72!"); // Send data to PIC16F72
  delay(1000); // Wait for 1 second
}

On the PIC16F72 side, configure the UART module to receive data. Refer to the datasheet for UART register settings.

Best Practices

  • Use decoupling capacitors (0.1 µF) near the power pins to reduce noise.
  • Avoid leaving unused pins floating; configure them as outputs or connect to ground.
  • For ADC applications, ensure the reference voltage is stable and within the specified range.

Troubleshooting and FAQs

Common Issues and Solutions

Issue Possible Cause Solution
Microcontroller not powering on Incorrect power supply connection Verify VDD and VSS connections
Program not running after upload Incorrect oscillator configuration Check oscillator circuit and settings
ADC not providing accurate results Noisy reference voltage or input signal Use a stable reference voltage and filter the input signal
UART communication failure Baud rate mismatch Ensure both devices use the same baud rate

FAQs

  1. Can the PIC16F72 operate at 3.3V?
    Yes, the PIC16F72 can operate at voltages as low as 2.0V, but ensure the clock speed is adjusted accordingly.

  2. How do I reset the microcontroller?
    Connect the MCLR pin to a pull-up resistor and momentarily pull it to ground to reset the device.

  3. What is the maximum clock speed?
    The PIC16F72 supports a maximum clock speed of 20 MHz with an external oscillator.

For further assistance, refer to the official datasheet or contact SDR technical support.