Summary of Connect ADC with PIC16F877
The article describes an ADC library for PIC microcontrollers, enabling analog-to-digital conversion using internal RC clocks. It details three core routines: `ADC_Init` to configure the module, and `ADC_Get_Sample` or `ADC_Read` to acquire 10 or 12-bit values from specific channels. The library requires MCUs with built-in ADCs, proper TRISx pin configuration, and relies solely on internal voltage references rather than external ones.Parts used in PIC MCU ADC Library:
- PIC Microcontroller Unit (MCU) with built-in ADC module
- Internal RC Clock
- Analog Input Channels
- TRISx Configuration Bits
- Internal Voltage Reference Source
Library Routines
ADC_Init
| Prototype | void ADC_Init(); |
|---|---|
| Returns | Nothing. |
| Description | This routine initializes PIC’s internal ADC module to work with RC clock. Clock determines the time period necessary for performing AD conversion (min 12TAD). |
| Requires |
|
| Example |
Code listing
|
ADC_Get_Sample
| Prototype | unsigned ADC_Get_Sample(unsigned short channel); |
|---|---|
| Returns | 10 or 12-bit unsigned value read from the specified channel (MCU dependent). |
| Description | The function aquires analog value from the specified channel. Parameter channel represents the channel from which the analog value is to be acquired. Refer to the appropriate datasheet for channel-to-pin mapping.
|
| Requires |
|
| Example |
C source (2)
|
ADC_Read
| Prototype | unsigned ADC_Read(unsigned short channel); |
|---|---|
| Returns | 10 or 12-bit unsigned value read from the specified channel (MCU dependent). |
| Description | Initializes PIC’s internal ADC module to work with RC clock. Clock determines the time period necessary for performing AD conversion (min 12TAD). Parameter channel represents the channel from which the analog value is to be acquired. Refer to the appropriate datasheet for channel-to-pin mapping.
|
| Requires |
|
| Example |
C source (3)
|
For more detail: Connect ADC with PIC16F877
Quick Solutions to Questions related to PIC MCU ADC Library:
-
What is the primary function of the ADC library?
The library provides routines to work comfortably with the ADC module that converts continuous signals to discrete digital numbers. -
How does the ADC_Init routine configure the module?
This routine initializes the internal ADC module to work with the RC clock, which determines the time period necessary for AD conversion. -
What data type does ADC_Get_Sample return?
It returns a 10 or 12-bit unsigned value read from the specified channel, depending on the MCU. -
Can ADC_Get_Sample use an external voltage reference source?
No, this function does not work with the external voltage reference source; it only works with the internal voltage reference. -
What must be done before using ADC_Get_Sample or ADC_Read?
You must ensure the ADC module is initialized and configure the appropriate TRISx bits to designate pins as inputs. -
Does ADC_Read perform initialization internally?
Yes, the description states that ADC_Read initializes the PIC internal ADC module to work with the RC clock. -
Where can I find information about channel-to-pin mapping?
You should refer to the appropriate datasheet for channel-to-pin mapping when specifying a channel parameter. -
What is the minimum time period required for AD conversion?
The clock determines the time period necessary for performing AD conversion, with a minimum requirement of 12TAD.
Related projects
PIC16F877 Driving LCD in 4-Bit Mode using PIC16F877 with Proteus Simulation
Introduction This microcontroller project shows how a PIC16F877 can drive an LCD display using 4-bit mode inside a Proteus simulation.The project demonstrates...
Programmers & ICSP · PIC16F877AEPE PIC/LCD Demo using PIC16F877 with Proteus Simulation
IntroductionThe EPE PIC/LCD Demo is a classic microcontroller project that demonstrates how a PIC16F877 can fully control a PG12864F graphical LCD.Designed as...
Motors & Robotics · PIC16F877AEfficient Sun-Following Robot: A Solar Tracker with Microcontroller Control
Abstract The impending global challenge of dwindling non-renewable fuel resources underscores the urgency of transitioning towards renewable energy alternatives like solar power....
Meters & Test Instruments · PIC16F688Determine capacitance by measuring the charging time using PIC16F688
When TEST botton is pressed, RA3 pin is set to "1". R2 and R3 are divide the voltage to 1/2 Vra3 which...
Meters & Test InstrumentsFrequency Meter Using Microcontroller
This tutorial simply states how to calculate frequency of a pulse source using a microcontroller. Story https://youtu.be/NAoj-HLRIro This tutorial simply states how...
Meters & Test Instruments · PIC16F84ADigital thermometer with PIC16F84 circuit
This electronic project is a very simple thermometer that is based on the PIC16F84A microcontroller, designed by Microchip. Why to use a...

