Line 8: Line 8:
 
Here we will discuss commonly used ADC registers.
 
Here we will discuss commonly used ADC registers.
 
=====ADCR(ADC Control Register)=====
 
=====ADCR(ADC Control Register)=====
======ADGDR(ADC Global Data Register)====
+
=====ADGDR(ADC Global Data Register)=====
 
=====ADSTAT(ADC Status Register)=====
 
=====ADSTAT(ADC Status Register)=====
  

Revision as of 13:22, 18 March 2015

Amruta (talk) 13:28, 17 March 2015 (IST)


Basics

LPC1768 has 12 bit ADC which is multiplexed among 8 input pins. It's measurement range is typically 3V which means that ADC resolution is approximately 0.7 mV.

Registers

Here we will discuss commonly used ADC registers.

ADCR(ADC Control Register)
ADGDR(ADC Global Data Register)
ADSTAT(ADC Status Register)

Schematic

Code

/*-----------------------------------------------------------------------------
note : Refer adc.h to enable ADC channels.
------------------------------------------------------------------------------*/
#include "lpc17xx.h"	//device specific heaader file
#include "uart.h"		//Explore Embedded UART library which conatins the lcd routines
#include "adc.h"		//Explore Embedded ADC library which conatins the adc routines
 
/* start the main program */
int main() 
{
   uint16_t adc_result;
 
  /* Setup and initialize the microcontroller system */
	SystemInit();
 
  /* Initialize the UART before displaying any thing on the lcd */
	UART_Init(UART0,9600);
 
  /* Initialize the adc before starting the conversion */
	ADC_Init();
 
  /* Display "ADC Channel zero" on first line*/
	UART_Printf("ADC Channel zero");
 
   /* Display the adc channel zero value continously */ 
   while(1)
    {
		/*Get the adc value of channel five */
		adc_result= ADC_GetAdcValue(5);
 
		/*Display the adc value on UART*/
		UART_Printf("\n %u",adc_result);
	}
}