Difference between revisions of "ADC"
Line 7: | Line 7: | ||
==ADC_Init== | ==ADC_Init== | ||
− | {| class="wikitable" style="colspan:1; background-color:# | + | {| class="wikitable" style="colspan:1; background-color:#E0EBEB;" |
{{#Widget:LibTable}} | {{#Widget:LibTable}} | ||
|- | |- |
Revision as of 11:21, 21 December 2014
ADC
This library provides the functions for initializing the adc and to get the raw adc values. In case of AVR/PIC/ARM or other high end controllers the inbuilt adc is used. In case of 8051/8052 as it doesn't have an inbuilt adc, ADC0809(8-bit) adc is used.
ADC_Init
Defination | void ADC_Init() |
Input Arguments | none |
Return Value | none |
Description | This function initializes the ADC module. |
Usage | void main()
{ ADC_Init(); } |
ADC_GetAdcValue
Defination | uint16_t ADC_GetAdcValue(uint8_t channel) |
Input Arguments | uint8_t(channel number). |
Return Value | uint16_t(10 bit ADC result) |
Description | This function does the ADC conversion for the Selected Channel and returns the converted 10bit result.
The adc value per bit depends on the resolution of the ADC. For AVR/PIC(10-bit adc) the adc value per lsb will be 5/1023=0048v |
Usage | uint16_t adc_result;
adc_result = ADC_GetAdcValue(0); //Adc value for channel 0 |
User guide
Program to demonstrate multi(4) channel ADC, 10bit(0-1023) adc value is displayed on lcd
#include "lcd.h" //User defined LCD library which contains the lcd routines #include "adc.h" //User defined library which contains the adc routines /* start the main program */ void main() { uint16_t adc_result0,adc_result1; LCD_Init(8,LCD_16x2); /* Initialize the lcd before displaying any thing on the lcd */ ADC_Init(); /* Initialize the adc before starting the conversion */ LCD_DisplayString(" 2-Channel ADC "); while(1) /* Display the adc channel zero,One values continuously */ { adc_result0= ADC_GetAdcValue(0); /*Get the adc values of the first four channels(0-3) */ adc_result1= ADC_GetAdcValue(1); LCD_GoToLine(LCD_LineOne); /*Display the adc values on LCD*/ LCD_Printf("C0:%d C1:%d ",adc_result0,adc_result1); } }